From 5c4f8a19a491d040880ab2b0bae433d3f597e2c6 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Wed, 22 Mar 2017 16:15:16 -0400 Subject: [PATCH] call "maximize" smart callback before "maximize_pre" this callback induces ssd changes which affect the resulting geometry and so it must be called before any size calculations are made --- src/bin/e_client.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/bin/e_client.c b/src/bin/e_client.c index 0aeb33903..3228b9b51 100644 --- a/src/bin/e_client.c +++ b/src/bin/e_client.c @@ -4062,6 +4062,10 @@ e_client_maximize(E_Client *ec, E_Maximize max) EC_CHANGED(ec); return; } + if ((max & E_MAXIMIZE_TYPE) == E_MAXIMIZE_FULLSCREEN) + evas_object_smart_callback_call(ec->frame, "fullscreen", NULL); + else + evas_object_smart_callback_call(ec->frame, "maximize", NULL); evas_object_smart_callback_call(ec->frame, "maximize_pre", &max); if (!max) return; override = ec->maximize_override; @@ -4095,10 +4099,7 @@ e_client_maximize(E_Client *ec, E_Maximize max) ec->saved.frame = e_comp_object_frame_exists(ec->frame) || (!e_comp_object_frame_allowed(ec->frame)); ec->maximize_override = 1; - if ((max & E_MAXIMIZE_TYPE) == E_MAXIMIZE_FULLSCREEN) - evas_object_smart_callback_call(ec->frame, "fullscreen", NULL); - else - evas_object_smart_callback_call(ec->frame, "maximize", NULL); + { int x, y, w, h; e_client_maximize_geometry_get(ec, max, &x, &y, &w, &h);