From 7549f0feade3b6091377c31f746237490e1aeab6 Mon Sep 17 00:00:00 2001 From: Michael Natterer <mitch@gimp.org> Date: Sun, 2 May 2010 16:08:47 +0200 Subject: [PATCH] app: really clip guide and sample point drawing to the exposed region --- app/display/gimpdisplayshell-draw.c | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/app/display/gimpdisplayshell-draw.c b/app/display/gimpdisplayshell-draw.c index 3245a2a8b9..4889a1ba1e 100644 --- a/app/display/gimpdisplayshell-draw.c +++ b/app/display/gimpdisplayshell-draw.c @@ -201,7 +201,12 @@ gimp_display_shell_draw_guides (GimpDisplayShell *shell, GList *list; if (region) - gdk_region_get_clipbox (region, &area); + { + gimp_canvas_set_clip_region (GIMP_CANVAS (shell->canvas), + GIMP_CANVAS_STYLE_GUIDE_NORMAL, + region); + gdk_region_get_clipbox (region, &area); + } for (list = gimp_image_get_guides (image); list; @@ -211,6 +216,11 @@ gimp_display_shell_draw_guides (GimpDisplayShell *shell, region ? &area : NULL, FALSE); } + + if (region) + gimp_canvas_set_clip_region (GIMP_CANVAS (shell->canvas), + GIMP_CANVAS_STYLE_GUIDE_NORMAL, + NULL); } } @@ -528,7 +538,12 @@ gimp_display_shell_draw_sample_points (GimpDisplayShell *shell, GList *list; if (region) - gdk_region_get_clipbox (region, &area); + { + gimp_canvas_set_clip_region (GIMP_CANVAS (shell->canvas), + GIMP_CANVAS_STYLE_SAMPLE_POINT_NORMAL, + region); + gdk_region_get_clipbox (region, &area); + } for (list = gimp_image_get_sample_points (image); list; @@ -538,6 +553,11 @@ gimp_display_shell_draw_sample_points (GimpDisplayShell *shell, region ? &area : NULL, FALSE); } + + if (region) + gimp_canvas_set_clip_region (GIMP_CANVAS (shell->canvas), + GIMP_CANVAS_STYLE_SAMPLE_POINT_NORMAL, + region); } }