discuss-gnustep
[Top][All Lists]
Advanced

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

Re: flicker graphics on window resize


From: Riccardo Canalicchio
Subject: Re: flicker graphics on window resize
Date: Sat, 21 Dec 2013 13:30:26 +0100

from my debugging here the call stack of a resize:
...
NSWindow _processResizeEvent
  CairoContext GSSetDevice
  XGCairoModernSurface initWithDevice
  XGetWindowAttributes <-- HERE IS WHERE THE WINDOW BECOME WHITE (OR BLACK) XGCairoModernSurface.m:48
CairoContext handleExposeRect
XGCairoModernSurface handleExposeRect
...
and on the next XFlush the window get displayed

this mean that XGetWindowAttributes cause an error?


On 20 December 2013 17:20, Fred Kiefer <fredkiefer@gmx.de> wrote:
On 20.12.2013 11:03, Riccardo Canalicchio wrote:
> tell me If I'm right:
> - when using a buffered window there should be two cairo surfaces (back and
> front)
> - a window resize, trigger the re initialisation of all the two surfaces
> - actually the fresh new surfaces get drawn immediatly (in my case they are
> white)

The first two are true according to my understanding. For the third I am
not really sure. We should add some log statements in the class
CairoContext and monitor in which order the following methods get called
during resize and whether the correct surface object gets used:

+ (void) handleExposeRect: (NSRect)rect forDriver: (void *)driver
- (void) GSSetDevice: (void *)device : (int)x : (int)y

Hope this helps,
Fred



reply via email to

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