summaryrefslogtreecommitdiff
path: root/src/pop-window-view.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/pop-window-view.c')
-rw-r--r--src/pop-window-view.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/pop-window-view.c b/src/pop-window-view.c
index e665dde..4539e9a 100644
--- a/src/pop-window-view.c
+++ b/src/pop-window-view.c
@@ -544,7 +544,7 @@ pop_window_view_enable_window_damage_reporting (PopWindowView *view)
view->priv->damage =
XDamageCreate (GDK_WINDOW_XDISPLAY (view->priv->window),
GDK_WINDOW_XWINDOW (view->priv->window),
- XDamageReportNonEmpty);
+ XDamageReportRawRectangles);
}
static void
@@ -565,7 +565,7 @@ pop_window_view_window_redrawn (PopWindowView *view,
GdkWindow *window,
GdkRectangle *rectangle)
{
- //g_print ("window 0x%lx redrawn (area: %dx%d+%d+%d)\n", GDK_WINDOW_XWINDOW (view->priv->window), rectangle->x, rectangle->y, rectangle->width, rectangle->height);
+ g_print ("window 0x%lx redrawn (area: %dx%d+%d+%d)\n", GDK_WINDOW_XWINDOW (view->priv->window), rectangle->x, rectangle->y, rectangle->width, rectangle->height);
if (view->priv->pattern == NULL)
pop_window_view_create_pattern_from_window (view);
@@ -903,6 +903,9 @@ pop_window_view_render_to_context (PopWindowView *view,
if (view->priv->pattern == NULL)
return;
+ if (!view->priv->is_damaged && FALSE)
+ return;
+
pop_window_view_report_fixed_damage (view);
cairo_save (cairo_context);
@@ -920,6 +923,8 @@ pop_window_view_render_to_context (PopWindowView *view,
cairo_move_to (cairo_context, 0.0, 0.0);
cairo_append_path (cairo_context, view->priv->clip_path);
cairo_clip (cairo_context);
+ gdk_cairo_rectangle (cairo_context, view->priv->damaged_area);
+ cairo_clip (cairo_context);
cairo_paint (cairo_context);
cairo_restore (cairo_context);