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

Group
 
 

bug #35934: -[GormViewEditor editedObjectFrameDidChange: infinite loop

Submitter:  Niels Grewe <thebeing>
Submitted:  Wed 21 Mar 2012 02:33:55 PM UTC
   
 
Category:  Gorm Severity:  3 - Normal
Item Group:  Bug Status:  Fixed
Privacy:  Public Assigned to:  None
Open/Closed:  Closed
* Mandatory Fields

Add a New Comment Rich Markup
   

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>
Group 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>
Group Member

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:
   
   
Comment:
   

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

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

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

    Only logged-in users can vote.

     

    Follow 2 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2013-03-06 gcasa StatusNone Fixed
        Open/ClosedOpen Closed

    Back to the top

    Powered by Savane 3.13-d3ae.
    Corresponding source code