bug-gnustep
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug #35934] -[GormViewEditor editedObjectFrameDidChange: infinite loop


From: Niels Grewe
Subject: [bug #35934] -[GormViewEditor editedObjectFrameDidChange: infinite loop
Date: Wed, 21 Mar 2012 14:33:56 +0000
User-agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1061.1 Safari/536.3

URL:
  <http://savannah.gnu.org/bugs/?35934>

                 Summary: -[GormViewEditor editedObjectFrameDidChange:
infinite loop
                 Project: GNUstep
            Submitted by: thebeing
            Submitted on: Mi 21 Mär 2012 14:33:55 GMT
                Category: Gorm
                Severity: 3 - Normal
              Item Group: Bug
                  Status: None
                 Privacy: Public
             Assigned to: None
             Open/Closed: Open
         Discussion Lock: Any

    _______________________________________________________

Details:

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




    _______________________________________________________

Reply to this item at:

  <http://savannah.gnu.org/bugs/?35934>

_______________________________________________
  Nachricht geschickt von/durch Savannah
  http://savannah.gnu.org/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]