bugGNUstep - Bugs: bug #35934, -[GormViewEditor...

 
 

You are not allowed to post comments on this tracker with your current authentification level.

bug #35934: -[GormViewEditor editedObjectFrameDidChange: infinite loop

Submitted by:  Niels Grewe <thebeing>
Submitted on:  Wed 21 Mar 2012 02:33:55 PM UTC  
 
Category: GormSeverity: 3 - Normal
Item Group: BugStatus: Fixed
Privacy: PublicAssigned to: None
Open/Closed: Closed

Wed 06 Mar 2013 06:59:36 AM UTC, comment #1:

I fixed this recently. I've tested it and it's no longer happening.

Gregory John Casamento <gcasa>
Project Administrator
Wed 21 Mar 2012 02:33:55 PM UTC, original submission:

Hi guys,

I'm not quite familiar with the Gorm internals but I just experienced a situation where Gorm was doing an infinite resize loop when creating a window upon "Document"->"New Application". I Could track this down to the fact that GormViewEditor tracks the frame of the edited object and, sometimes, seems to be the edited object itself (?). Consequently, you get a nice little infinite loop via the NSViewFrameDidChangeNotification:

#6 0x00007ffff7a86791 in -[GormViewEditor editedObjectFrameDidChange:] (self=0x17632c8, _cmd=0x7ffff7d39780, sender=0x1774138) at GormViewEditor.m:328
#7 0x00007ffff5d90097 in -[NSNotificationCenter _postAndRelease:] ()
from /usr/GNUstep/System/Library/Libraries/x86_64/linux-gnu/gnu-gnu-gnu/libgnustep-base.so.1.24
#8 0x00007ffff5d90cff in -[NSNotificationCenter postNotificationName:object:userInfo:] ()
from /usr/GNUstep/System/Library/Libraries/x86_64/linux-gnu/gnu-gnu-gnu/libgnustep-base.so.1.24
#9 0x00007ffff5d90a81 in -[NSNotificationCenter postNotificationName:object:] ()
from /usr/GNUstep/System/Library/Libraries/x86_64/linux-gnu/gnu-gnu-gnu/libgnustep-base.so.1.24
#10 0x00007ffff6b648f0 in -[NSView setFrame:] (self=0x171ace8, _cmd=0x7ffff704ef90, frameRect=...) at NSView.m:1229
#11 0x00007ffff6b6b638 in -[NSView resizeWithOldSuperviewSize:] (self=0x171ace8, _cmd=0x7ffff704ef00, oldSize=...) at NSView.m:2058
#12 0x00007ffff6b6adf6 in -[NSView resizeSubviewsWithOldSize:] (self=0x17632c8, _cmd=0x7ffff704e9c0, oldSize=...) at NSView.m:1933
#13 0x00007ffff6b64860 in -[NSView setFrame:] (self=0x17632c8, _cmd=0x7ffff7d82e10, frameRect=...) at NSView.m:1226
#14 0x00007ffff7a86791 in -[GormViewEditor editedObjectFrameDidChange:] (self=0x17632c8, _cmd=0x7ffff7d39780, sender=0x17740d8) at GormViewEditor.m:328
#15 0x00007ffff5d90097 in -[NSNotificationCenter _postAndRelease:] ()
from /usr/GNUstep/System/Library/Libraries/x86_64/linux-gnu/gnu-gnu-gnu/libgnustep-base.so.1.24
#16 0x00007ffff5d90cff in -[NSNotificationCenter postNotificationName:object:userInfo:] ()
from /usr/GNUstep/System/Library/Libraries/x86_64/linux-gnu/gnu-gnu-gnu/libgnustep-base.so.1.24
#17 0x00007ffff5d90a81 in -[NSNotificationCenter postNotificationName:object:] ()
from /usr/GNUstep/System/Library/Libraries/x86_64/linux-gnu/gnu-gnu-gnu/libgnustep-base.so.1.24
#18 0x00007ffff6b648f0 in -[NSView setFrame:] (self=0x171ace8, _cmd=0x7ffff704ef90, frameRect=...) at NSView.m:1229
#19 0x00007ffff6b6b638 in -[NSView resizeWithOldSuperviewSize:] (self=0x171ace8, _cmd=0x7ffff704ef00, oldSize=...) at NSView.m:2058
#20 0x00007ffff6b6adf6 in -[NSView resizeSubviewsWithOldSize:] (self=0x17632c8, _cmd=0x7ffff704e9c0, oldSize=...) at NSView.m:1933
#21 0x00007ffff6b64860 in -[NSView setFrame:] (self=0x17632c8, _cmd=0x7ffff7d82e10, frameRect=...) at NSView.m:1226
#22 0x00007ffff7a86791 in -[GormViewEditor editedObjectFrameDidChange:] (self=0x17632c8, _cmd=0x7ffff7d39780, sender=0x17393b8) at GormViewEditor.m:328

My local workaround is to disable the notification before setting the frame and then reenabling it aftewards, but somebody with more insight into Gorm should take a look at it. This happens for me on an x86_64 Linux machine with recent (last night), base, gui, back and Gorm, (it's all built using clang with the non-fragile ABI, but I don't know whether that's related).

Cheers,

Niels

Niels Grewe <thebeing>
Project Member

 

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -unavailable- added by gcasa (Posted a comment)
  • -unavailable- added by thebeing (Submitted the item)
  •  

    Do you think this task is very important?
    If so, you can click here to add your encouragement to it.
    This task has 0 encouragements so far.

    Only logged-in users can vote.

     

    Please enter the title of George Orwell's famous dystopian book (it's a date):

     

     

    Follow 2 latest changes.

    Date Changed By Updated Field Previous Value => Replaced By
    Wed 06 Mar 2013 06:59:36 AM UTCgcasaStatusNone=>Fixed
      Open/ClosedOpen=>Closed

    Back to the top


    Powered by Savane 3.1-cleanup