This project is archived and is in readonly mode.

#533 ✓wontfix
Aicke Schulz

OverText on hidden Elements in Opera <11 results in an infinite recursion

Reported by Aicke Schulz | March 2nd, 2011 @ 04:28 PM

With Dragonfly open I've got a "maximum thread recursion depth exceeded" error. With a debug log I could figure out that the same hidden elements got reposion()-ed again and again. I found the problem in the following marked line:

reposition: function(){
  if (!this.element.isVisible()) return this.stopPolling().hide(); /* <<<<<<<<<<<<<< */
  if (this.text && this.test()){
    this.text.position(Object.merge(this.options.positionOptions, {
      relativeTo: this.element
  return this;

The .hide() function seems to be the problem. Neither do I understand why hide() is needed here, nor do I understand how "this" can be hidden, isn't "this" the OverText object?

Comments and changes to this ticket

  • Aicke Schulz

    Aicke Schulz March 2nd, 2011 @ 04:33 PM

    • no changes were found...
  • Aicke Schulz

    Aicke Schulz March 2nd, 2011 @ 04:38 PM

    Alright, I've overseen the hide() function of OverText! So, I've looked into that function and the problem seems to be the following line:

    try {
      this.element.focus(); /* <<<<<<<<<<<< */
    } catch(e){}

    even with the try/catch, it results in a resursion. If i remove the line, there are no more errors. Maybe someone can look at that who understands whats going on there, because i don't understand why focus is needed there.

  • Aicke Schulz
  • fakedarren

    fakedarren July 16th, 2011 @ 04:16 PM

    • State changed from “new” to “wontfix”

    Hi Aicke

    If this only affects Opera < 11 then I am afraid we would not be patching this as we only support the latest version of Opera.


Create your profile

Help contribute to this project by taking a few moments to create your personal profile. Create your profile »

The MooTools Extensions

People watching this ticket