summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonas Ã…dahl <jadahl@gmail.com>2020-05-13 17:18:50 +0200
committerGeorges Basile Stavracas Neto <georges.stavracas@gmail.com>2020-05-26 13:54:28 +0000
commit9e340287421bea690c9ef9606e7c121c7368e446 (patch)
tree56daf012ece5c732f7a46ded00371923d67591a9
parent258f859e8d29016ef6e178ae4b89f04834b59677 (diff)
downloadmutter-9e340287421bea690c9ef9606e7c121c7368e446.tar.gz
clutter/stage-cogl: Only construct damage array if it'll be used
It's only used when we actually swap buffers, which we only do if the target framebuffer is an onscreen. https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1237
-rw-r--r--clutter/clutter/cogl/clutter-stage-cogl.c28
1 files changed, 14 insertions, 14 deletions
diff --git a/clutter/clutter/cogl/clutter-stage-cogl.c b/clutter/clutter/cogl/clutter-stage-cogl.c
index 8d025d008..042621448 100644
--- a/clutter/clutter/cogl/clutter-stage-cogl.c
+++ b/clutter/clutter/cogl/clutter-stage-cogl.c
@@ -378,24 +378,24 @@ swap_framebuffer (ClutterStageWindow *stage_window,
gboolean swap_with_damage)
{
CoglFramebuffer *framebuffer = clutter_stage_view_get_onscreen (view);
- int *damage, n_rects, i;
-
- n_rects = cairo_region_num_rectangles (swap_region);
- damage = g_newa (int, n_rects * 4);
- for (i = 0; i < n_rects; i++)
- {
- cairo_rectangle_int_t rect;
-
- cairo_region_get_rectangle (swap_region, i, &rect);
- damage[i * 4] = rect.x;
- damage[i * 4 + 1] = rect.y;
- damage[i * 4 + 2] = rect.width;
- damage[i * 4 + 3] = rect.height;
- }
if (cogl_is_onscreen (framebuffer))
{
CoglOnscreen *onscreen = COGL_ONSCREEN (framebuffer);
+ int *damage, n_rects, i;
+
+ n_rects = cairo_region_num_rectangles (swap_region);
+ damage = g_newa (int, n_rects * 4);
+ for (i = 0; i < n_rects; i++)
+ {
+ cairo_rectangle_int_t rect;
+
+ cairo_region_get_rectangle (swap_region, i, &rect);
+ damage[i * 4] = rect.x;
+ damage[i * 4 + 1] = rect.y;
+ damage[i * 4 + 2] = rect.width;
+ damage[i * 4 + 3] = rect.height;
+ }
/* push on the screen */
if (n_rects > 0 && !swap_with_damage)