[gtk+/wip/simple-draw3] gdkwindow: Send unclipped invalidate requests to invalidate handler
- From: Alexander Larsson <alexl src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+/wip/simple-draw3] gdkwindow: Send unclipped invalidate requests to invalidate handler
- Date: Thu, 2 May 2013 13:56:53 +0000 (UTC)
commit 76add3ec3968ee9cd159bb4f705f1d9bdb33d523
Author: Alexander Larsson <alexl redhat com>
Date: Thu May 2 14:55:59 2013 +0200
gdkwindow: Send unclipped invalidate requests to invalidate handler
This way we can handle buffering caches outside a window. For instance
in the treeview which has a bin_window which is just the size of the
viewport.
gdk/gdkwindow.c | 15 +++++++--------
1 files changed, 7 insertions(+), 8 deletions(-)
---
diff --git a/gdk/gdkwindow.c b/gdk/gdkwindow.c
index 15b2a89..39ccda0 100644
--- a/gdk/gdkwindow.c
+++ b/gdk/gdkwindow.c
@@ -3774,11 +3774,8 @@ gdk_window_invalidate_maybe_recurse_full (GdkWindow *window,
r.x = 0;
r.y = 0;
- r.width = window->width;
- r.height = window->height;
visible_region = cairo_region_copy (region);
- cairo_region_intersect_rectangle (visible_region, &r);
invalidate_impl_subwindows (window, region, child_func, user_data, 0, 0);
@@ -3788,6 +3785,13 @@ gdk_window_invalidate_maybe_recurse_full (GdkWindow *window,
while (window != NULL &&
!cairo_region_is_empty (visible_region))
{
+ if (window->invalidate_handler)
+ window->invalidate_handler (window, visible_region);
+
+ r.width = window->width;
+ r.height = window->height;
+ cairo_region_intersect_rectangle (visible_region, &r);
+
if (gdk_window_has_impl (window))
{
impl_window_add_update_area (window, visible_region);
@@ -3795,14 +3799,9 @@ gdk_window_invalidate_maybe_recurse_full (GdkWindow *window,
}
else
{
- if (window->invalidate_handler)
- window->invalidate_handler (window, visible_region);
cairo_region_translate (visible_region,
window->x, window->y);
window = window->parent;
- r.width = window->width;
- r.height = window->height;
- cairo_region_intersect_rectangle (visible_region, &r);
}
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]