forked from enlightenment/enlightenment
do not send duplicate configures for wayland clients during maximize
this seems to not have caused any real issues, but it made debugging more of a pain and is unnecessary connection noise
This commit is contained in:
parent
dd1577a169
commit
0321fd690e
|
@ -627,7 +627,7 @@ _e_comp_wl_evas_cb_resize(void *data, Evas_Object *obj EINA_UNUSED, void *event
|
|||
e_comp->wl_comp_data->resize.edges,
|
||||
x, y);
|
||||
}
|
||||
else
|
||||
else if ((!ec->fullscreen) && (!ec->maximized) && (!ec->comp_data->maximize_pre))
|
||||
ec->comp_data->shell.configure_send(ec->comp_data->shell.surface,
|
||||
e_comp->wl_comp_data->resize.edges,
|
||||
ec->client.w, ec->client.h);
|
||||
|
@ -644,6 +644,15 @@ _e_comp_wl_evas_cb_state_update(void *data, Evas_Object *obj EINA_UNUSED, void *
|
|||
|
||||
if (ec->comp_data->shell.configure_send)
|
||||
ec->comp_data->shell.configure_send(ec->comp_data->shell.surface, 0, ec->client.w, ec->client.h);
|
||||
ec->comp_data->maximize_pre = 0;
|
||||
}
|
||||
|
||||
static void
|
||||
_e_comp_wl_evas_cb_maximize_pre(void *data, Evas_Object *obj EINA_UNUSED, void *event EINA_UNUSED)
|
||||
{
|
||||
E_Client *ec = data;
|
||||
|
||||
ec->comp_data->maximize_pre = 1;
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -775,6 +784,10 @@ _e_comp_wl_client_evas_init(E_Client *ec)
|
|||
_e_comp_wl_evas_cb_state_update, ec);
|
||||
evas_object_smart_callback_add(ec->frame, "unmaximize_done",
|
||||
_e_comp_wl_evas_cb_state_update, 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, "fullscreen",
|
||||
_e_comp_wl_evas_cb_state_update, ec);
|
||||
evas_object_smart_callback_add(ec->frame, "unfullscreen",
|
||||
|
|
|
@ -286,6 +286,7 @@ struct _E_Comp_Wl_Client_Data
|
|||
Eina_Bool first_damage : 1;
|
||||
Eina_Bool set_win_type : 1;
|
||||
Eina_Bool frame_update : 1;
|
||||
Eina_Bool maximize_pre : 1;
|
||||
};
|
||||
|
||||
struct _E_Comp_Wl_Output
|
||||
|
|
|
@ -846,7 +846,6 @@ _e_xdg_shell_surface_cb_maximized_set(struct wl_client *client EINA_UNUSED, stru
|
|||
{
|
||||
e_client_maximize(ec, ((e_config->maximize_policy & E_MAXIMIZE_TYPE) |
|
||||
E_MAXIMIZE_BOTH));
|
||||
_e_xdg_shell_surface_configure_send(resource, 0, ec->w, ec->h);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue