From f892b360fe6f53973e0f663a69fdf60adc9b76ea Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Fri, 4 Aug 2017 16:23:39 -0400 Subject: [PATCH] optimize setting zone useful geometry as dirty if this would result in a no-op then don't emit event or trigger client rescaling --- src/bin/e_zone.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/bin/e_zone.c b/src/bin/e_zone.c index 1db87abb0..0e006e2c9 100644 --- a/src/bin/e_zone.c +++ b/src/bin/e_zone.c @@ -1296,12 +1296,13 @@ e_zone_useful_geometry_dirty(E_Zone *zone) /* ignore if pending event already exists */ if (zone->useful_geometry_dirty) return; + zone->useful_geometry_dirty = 1; + if (!e_zone_useful_geometry_get(zone, NULL, NULL, NULL, NULL)) return; ev = E_NEW(E_Event_Zone_Move_Resize, 1); ev->zone = zone; e_object_ref(E_OBJECT(ev->zone)); ecore_event_add(E_EVENT_ZONE_USEFUL_GEOMETRY_CHANGED, ev, _e_zone_event_generic_free, NULL); - zone->useful_geometry_dirty = 1; e_comp_clients_rescale(); }