forked from enlightenment/enlightenment
set maximizing flag during maximize resizing for wl clients
a helpful indicator for when to avoid potentially leaking positioning info
This commit is contained in:
parent
6617a8440c
commit
687b5fb6b6
|
@ -587,6 +587,15 @@ _e_comp_wl_evas_cb_move(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_U
|
|||
}
|
||||
}
|
||||
|
||||
static void
|
||||
_e_comp_wl_evas_cb_maximize_pre(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
||||
{
|
||||
E_Client *ec = data;
|
||||
|
||||
if (!e_object_is_del(E_OBJECT(ec)))
|
||||
ec->comp_data->maximizing = 1;
|
||||
}
|
||||
|
||||
static void
|
||||
_e_comp_wl_evas_cb_resize(void *data, Evas_Object *obj EINA_UNUSED, void *event EINA_UNUSED)
|
||||
{
|
||||
|
@ -661,6 +670,16 @@ _e_comp_wl_evas_cb_state_update(void *data, Evas_Object *obj EINA_UNUSED, void *
|
|||
_e_comp_wl_configure_send(ec, 0);
|
||||
}
|
||||
|
||||
static void
|
||||
_e_comp_wl_evas_cb_maximize_done(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
||||
{
|
||||
E_Client *ec = data;
|
||||
|
||||
if (e_object_is_del(E_OBJECT(ec))) return;
|
||||
ec->comp_data->maximizing = 0;
|
||||
_e_comp_wl_evas_cb_state_update(ec, NULL, NULL);
|
||||
}
|
||||
|
||||
static void
|
||||
_e_comp_wl_evas_cb_delete_request(void *data, Evas_Object *obj EINA_UNUSED, void *event EINA_UNUSED)
|
||||
{
|
||||
|
@ -783,10 +802,14 @@ _e_comp_wl_client_evas_init(E_Client *ec)
|
|||
{
|
||||
evas_object_smart_callback_add(ec->frame, "client_resize",
|
||||
_e_comp_wl_evas_cb_resize, ec);
|
||||
evas_object_smart_callback_add(ec->frame, "maximize_pre",
|
||||
_e_comp_wl_evas_cb_maximize_pre, ec);
|
||||
evas_object_smart_callback_add(ec->frame, "unmaximize_pre",
|
||||
_e_comp_wl_evas_cb_maximize_pre, ec);
|
||||
evas_object_smart_callback_add(ec->frame, "maximize_done",
|
||||
_e_comp_wl_evas_cb_state_update, ec);
|
||||
_e_comp_wl_evas_cb_maximize_done, ec);
|
||||
evas_object_smart_callback_add(ec->frame, "unmaximize_done",
|
||||
_e_comp_wl_evas_cb_state_update, ec);
|
||||
_e_comp_wl_evas_cb_maximize_done, ec);
|
||||
evas_object_smart_callback_add(ec->frame, "fullscreen",
|
||||
_e_comp_wl_evas_cb_state_update, ec);
|
||||
evas_object_smart_callback_add(ec->frame, "unfullscreen",
|
||||
|
|
|
@ -314,6 +314,7 @@ struct _E_Comp_Wl_Client_Data
|
|||
Eina_Bool frame_update : 1;
|
||||
Eina_Bool cursor : 1;
|
||||
Eina_Bool moved : 1;
|
||||
Eina_Bool maximizing : 1;
|
||||
};
|
||||
|
||||
struct _E_Comp_Wl_Output
|
||||
|
|
Loading…
Reference in New Issue