[Top][All Lists]

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

[bug #20274] Gorm goes into an infinite recursion when selecting a contr

From: Fred Kiefer
Subject: [bug #20274] Gorm goes into an infinite recursion when selecting a control after recent NSView changes....
Date: Wed, 27 Jun 2007 08:33:36 +0000
User-agent: Mozilla/5.0 (compatible; Konqueror/3.5; Linux) KHTML/3.5.5 (like Gecko)

Update of bug #20274 (project gnustep):

                Category:              Gui/AppKit => Gorm                   
              Item Group:                    None => Bug                    
                  Status:                    None => Confirmed              


Follow-up Comment #1:

Thank you for pointing out this problem. I think that in this specific case
the error lies with Gorm. What happens is that the
displayRectIgnoringOpacity: method in GormViewEditor calls the super
implementation of displayIfNeededInRectIgnoringOpacity:. This method on
NSView now calls displayRectIgnoringOpacity:, which isn't a too strange
behaviour, but now Gorm ends up in an infinite loop. It is surprising that
the code there has ever worked. This was due to a specific implementation in
NSView; I wouldn't be to surprised to see that Gorm wont work on Cocoa.

The solution is obvious. Replace the super call to
displayIfNeededInRectIgnoringOpacity: with one to
displayRectIgnoringOpacity:. With the new code in NSView in place you wont
even need the  displayIfNeededInRectIgnoringOpacity: method, as now
all display operations go through displayRectIgnoringOpacity:. And I am even
wondering if it isn't possible to move all this code into drawRect:, but I
might have missed the point here. I also don't understand the idea behind the
currently_displaying variable. Is this really needed?

Are you going to change the Grom code, or should I do it? I would prefer that
you look at the code, as I don't want to break Gorm.


Reply to this item at:


  Nachricht geschickt von/durch Savannah

reply via email to

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