forked from enlightenment/efl
win: only perform maximize frame state updating during ecore-evas callback
running this during csd button activation leads to state mismatches when maximize is not triggered from the csd button @fix
This commit is contained in:
parent
fd3d6488f6
commit
332f1cd626
|
@ -1288,6 +1288,23 @@ _elm_win_frame_obj_update(Elm_Win_Data *sd)
|
|||
evas_output_framespace_set(sd->evas, (ox - fx), (oy - fy), (fw - ow), (fh - oh));
|
||||
}
|
||||
|
||||
static void
|
||||
_elm_win_frame_maximized_state_update(Elm_Win_Data *sd, Eina_Bool maximized)
|
||||
{
|
||||
const char *emission;
|
||||
|
||||
if (maximized)
|
||||
emission = "elm,state,maximized";
|
||||
else
|
||||
emission = "elm,state,unmaximized";
|
||||
|
||||
edje_object_signal_emit(sd->frame_obj, emission, "elm");
|
||||
edje_object_message_signal_process(sd->frame_obj);
|
||||
evas_object_smart_calculate(sd->frame_obj);
|
||||
|
||||
_elm_win_frame_obj_update(sd);
|
||||
}
|
||||
|
||||
static void
|
||||
_elm_win_state_change(Ecore_Evas *ee)
|
||||
{
|
||||
|
@ -1409,6 +1426,7 @@ _elm_win_state_change(Ecore_Evas *ee)
|
|||
if (_elm_config->atspi_mode)
|
||||
elm_interface_atspi_window_restored_signal_emit(obj);
|
||||
}
|
||||
_elm_win_frame_maximized_state_update(sd, sd->maximized);
|
||||
}
|
||||
if (ch_profile)
|
||||
{
|
||||
|
@ -2840,23 +2858,6 @@ _elm_win_frame_cb_minimize(void *data,
|
|||
TRAP(sd, iconified_set, EINA_TRUE);
|
||||
}
|
||||
|
||||
static void
|
||||
_elm_win_frame_maximized_state_update(Elm_Win_Data *sd, Eina_Bool maximized)
|
||||
{
|
||||
const char *emission;
|
||||
|
||||
if (maximized)
|
||||
emission = "elm,state,maximized";
|
||||
else
|
||||
emission = "elm,state,unmaximized";
|
||||
|
||||
edje_object_signal_emit(sd->frame_obj, emission, "elm");
|
||||
edje_object_message_signal_process(sd->frame_obj);
|
||||
evas_object_smart_calculate(sd->frame_obj);
|
||||
|
||||
_elm_win_frame_obj_update(sd);
|
||||
}
|
||||
|
||||
static void
|
||||
_elm_win_frame_cb_maximize(void *data,
|
||||
Evas_Object *obj EINA_UNUSED,
|
||||
|
@ -2870,8 +2871,6 @@ _elm_win_frame_cb_maximize(void *data,
|
|||
if (sd->maximized) value = EINA_FALSE;
|
||||
else value = EINA_TRUE;
|
||||
|
||||
_elm_win_frame_maximized_state_update(sd, value);
|
||||
|
||||
TRAP(sd, maximized_set, value);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue