From: Kristian Høgsberg Date: Mon, 5 Mar 2012 04:47:56 +0000 (-0500) Subject: window: Only set opaque and input regions if they change X-Git-Tag: 20120702.1049~405 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=63e5e06d82170a91c5d944221948c7a1ebe14030;p=profile%2Fivi%2Fweston.git window: Only set opaque and input regions if they change Setting these regions damages the entire window or causes a repick, which we don't want to trigger if we don't need to. --- diff --git a/clients/window.c b/clients/window.c index e917ce6..190b456 100644 --- a/clients/window.c +++ b/clients/window.c @@ -818,8 +818,19 @@ window_attach_surface(struct window *window) return; } - wl_surface_set_input_region(window->surface, window->input_region); - wl_surface_set_opaque_region(window->surface, window->opaque_region); + if (window->input_region) { + wl_surface_set_input_region(window->surface, + window->input_region); + wl_region_destroy(window->input_region); + window->input_region = NULL; + } + + if (window->opaque_region) { + wl_surface_set_opaque_region(window->surface, + window->opaque_region); + wl_region_destroy(window->opaque_region); + window->opaque_region = NULL; + } wl_surface_damage(window->surface, 0, 0, window->allocation.width,