Fix mac/Quartz drawRect full exposure
When full-draw is set, use the `rect` passed as argument to `drawRect` and ignore `drawn_rects` invalidation. This may fix some missing redraws when switching tabs.
This commit is contained in:
@@ -759,7 +759,13 @@ static int showInvalidation = 0;
|
||||
return;
|
||||
}
|
||||
|
||||
if (!impl->needs_display_region || gdk_quartz_get_use_cocoa_invalidation() || full_draw) {
|
||||
if (full_draw) {
|
||||
GdkRectangle r = { rect.origin.x, rect.origin.y, rect.size.width, rect.size.height };
|
||||
region = gdk_region_rectangle (&r);
|
||||
if (impl->needs_display_region) {
|
||||
gdk_region_destroy (impl->needs_display_region);
|
||||
}
|
||||
} else if (!impl->needs_display_region || gdk_quartz_get_use_cocoa_invalidation()) {
|
||||
gint nrects;
|
||||
GdkRectangle* rects;
|
||||
[self getRectsBeingDrawn: &drawn_rects count: &count];
|
||||
|
||||
Reference in New Issue
Block a user