summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlberts Muktupāvels <alberts.muktupavels@gmail.com>2015-04-05 01:41:34 +0300
committerAlberts Muktupāvels <alberts.muktupavels@gmail.com>2015-04-05 01:41:34 +0300
commit69f79f09293a55764373c25e6d0ff2fa920bd781 (patch)
treeba5057d0424e9bddbfa2adf40d110dba4459a33c
parentb9d13506d486ddd21c3e019baa8236d0a4438b93 (diff)
downloadmetacity-69f79f09293a55764373c25e6d0ff2fa920bd781.tar.gz
frames: clip drawing to visible region for metacity themes
-rw-r--r--src/ui/frames.c16
1 files changed, 15 insertions, 1 deletions
diff --git a/src/ui/frames.c b/src/ui/frames.c
index 9dd33ae4..7864c4b7 100644
--- a/src/ui/frames.c
+++ b/src/ui/frames.c
@@ -2486,7 +2486,21 @@ meta_frames_draw (GtkWidget *widget,
populate_cache (frames, frame);
- region = cairo_region_create_rectangle (&clip);
+ if (meta_prefs_get_theme ())
+ {
+ MetaFrameGeometry fgeom;
+
+ meta_frames_calc_geometry (frames, frame, &fgeom);
+
+ region = get_visible_region (frames, frame, &fgeom, fgeom.width, fgeom.height);
+
+ gdk_cairo_region (cr, region);
+ cairo_clip(cr);
+ }
+ else
+ {
+ region = cairo_region_create_rectangle (&clip);
+ }
pixels = get_cache (frames, frame);