Ensure that queue_translation is paired with the right X operation

The X11 queue_translation operation uses NextRequest to get the serial
of the XCopyArea operation where the translation should end. However,
if the gc passed to gdk_draw_drawable has a non-flushed clip region
(which it commonly has now for the window clipping) then the next
operation will be the GC flush, not the XCopyArea.

To handle this right we now pass in the GC to be used to
queue_translation and ensure that it is flushed before calling
NextRequest().
This commit is contained in:
Alexander Larsson
2009-08-13 14:25:35 +02:00
parent e25ac0b5cb
commit 939e55223c
9 changed files with 18 additions and 5 deletions

View File

@ -130,6 +130,7 @@ void _gdk_window_process_expose (GdkWindow *window,
gboolean _gdk_x11_window_queue_antiexpose (GdkWindow *window,
GdkRegion *area);
void _gdk_x11_window_queue_translation (GdkWindow *window,
GdkGC *gc,
GdkRegion *area,
gint dx,
gint dy);