On 5/2/07, David Chisnall <[EMAIL PROTECTED]> wrote: > > On 2 May 2007, at 05:55, Yen-Ju Chen wrote: > > > Another thing I notice is that Jabber like to resize itself. > > Unfortunately, the GNUstep UI is different from Cocoa UI. > > While it is optimized for Cocoa, it actually breaks on GNUstep. > > So I really think for practical purpose, it may be easier to let > > users > > do the resizing. > > Hypothesis: This is caused by the window receiving a resize message > while it is in the middle of resizing (which happens a lot during > initial roster loading). > > The way GNUstep currently does the resizing is to schedule a load of > periodic events. It doesn't seem to do it in another thread (that I > can see), so it seems like it ought to block during the resize. The > use of periodic events seems slightly odd, since using usleep here > would have a lower overhead and not interfere with other parts of the > system. > > Since I'm calling the resize method from the same thread both times, > this should work. I am a little confused that it doesn't, to be > honest. I'd be interested to see what happens if you modify > NSWindow.m to remove > > [NSEvent startPeriodicEventsAfterDelay: 0 withPeriod: 0.02]; > > and > > [NSEvent stopPeriodicEvents]; > > > and replace > > NSEvent *theEvent = [NSApp nextEventMatchingMask: > NSPeriodicMask > untilDate: [NSDate distantFuture] > inMode: NSEventTrackingRunLoopMode > dequeue: YES]; > > if ([theEvent type] == NSPeriodic) > > with: > > usleep(20000); > > and add: > > #include <unistd.h> > > At the top of the file. > > This should get rid of the NSInternalConsistencyError, and if it does > then it would probably be cleaner, and worth submitting upstream > (unless GNUstep has some pathological objection to using usleep, but > since it's POSIX, and GNUstep is pretty POSIX-dependent in general I > don't see what this would be).
I turn off the animation on GNUstep for now. Maybe you can submit this patch to GNUstep. By the way, you mentioned the color is off after my changes. I have no idea I broke it. :P I have to reboot to test either side. So it may break thing from time to time. Yen-Ju > > _______________________________________________ > Etoile-dev mailing list > [email protected] > https://mail.gna.org/listinfo/etoile-dev > _______________________________________________ Etoile-dev mailing list [email protected] https://mail.gna.org/listinfo/etoile-dev
