diff options
author | Marco Trevisan (TreviƱo) <mail@3v1n0.net> | 2019-02-28 23:02:59 +0100 |
---|---|---|
committer | Marco Trevisan <mail@3v1n0.net> | 2019-03-01 17:46:49 +0000 |
commit | 42953a50bbe5bd7f6318c6a9f6a588a874392094 (patch) | |
tree | 1a8a556a31a1dc6d6d23dc1962d3c7b8106cc1e8 /src/backends/meta-stage.c | |
parent | f4c2b69934e05c4e308256247109b9610a8d085e (diff) | |
download | mutter-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.c | 7 |
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 |