summaryrefslogtreecommitdiff
path: root/src/backends/meta-stage.c
diff options
context:
space:
mode:
authorMarco Trevisan (TreviƱo) <mail@3v1n0.net>2019-02-28 23:02:59 +0100
committerMarco Trevisan <mail@3v1n0.net>2019-03-01 17:46:49 +0000
commit42953a50bbe5bd7f6318c6a9f6a588a874392094 (patch)
tree1a8a556a31a1dc6d6d23dc1962d3c7b8106cc1e8 /src/backends/meta-stage.c
parentf4c2b69934e05c4e308256247109b9610a8d085e (diff)
downloadmutter-42953a50bbe5bd7f6318c6a9f6a588a874392094.tar.gz
stage: Queue redraw previous Rect only if it has changed
No need to queue redraw the same area multiple times, so we can avoid the computation involved with it. https://gitlab.gnome.org/GNOME/mutter/merge_requests/3
Diffstat (limited to 'src/backends/meta-stage.c')
-rw-r--r--src/backends/meta-stage.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/backends/meta-stage.c b/src/backends/meta-stage.c
index 425926a7c..1f0d9c050 100644
--- a/src/backends/meta-stage.c
+++ b/src/backends/meta-stage.c
@@ -123,8 +123,11 @@ meta_overlay_paint (MetaOverlay *overlay)
(overlay->current_rect.origin.y +
overlay->current_rect.size.height));
- overlay->previous_rect = overlay->current_rect;
- overlay->previous_is_valid = TRUE;
+ if (!clutter_rect_equals (&overlay->previous_rect, &overlay->current_rect))
+ {
+ overlay->previous_rect = overlay->current_rect;
+ overlay->previous_is_valid = TRUE;
+ }
}
static void