summaryrefslogtreecommitdiff
path: root/gdk/quartz/GdkQuartzView.c
diff options
context:
space:
mode:
authorKristian Rietveld <kris@gtk.org>2009-09-20 15:27:14 +0200
committerKristian Rietveld <kris@gtk.org>2009-09-21 20:41:35 +0200
commit3043155796b8685ae505917d691818047833f9a2 (patch)
tree80d67f48b7f7257558aaf0e658fd6d9c5ac387b6 /gdk/quartz/GdkQuartzView.c
parentbfc88240b43885149a99eb0e4a58662133db0b35 (diff)
downloadgtk+-3043155796b8685ae505917d691818047833f9a2.tar.gz
Bug 550939 - GtkFileChooser listbox does not refresh selection
Make the quartz backend support the new queued translations. We do this by keeping our own copy of the region that has been set to need display. Using this region we can intersect by the given area, translate this and also set needs display for the resulting area.
Diffstat (limited to 'gdk/quartz/GdkQuartzView.c')
-rw-r--r--gdk/quartz/GdkQuartzView.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/gdk/quartz/GdkQuartzView.c b/gdk/quartz/GdkQuartzView.c
index 761b07fb30..5d643eb984 100644
--- a/gdk/quartz/GdkQuartzView.c
+++ b/gdk/quartz/GdkQuartzView.c
@@ -72,6 +72,13 @@
if (NSEqualRects (rect, NSZeroRect))
return;
+ /* Clear our own bookkeeping of regions that need display */
+ if (impl->needs_display_region)
+ {
+ gdk_region_destroy (impl->needs_display_region);
+ impl->needs_display_region = NULL;
+ }
+
[self getRectsBeingDrawn:&drawn_rects count:&count];
/* Note: arbitrary limit here to not degrade performace too much. It would