summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Blumenkrantz <zmike@osg.samsung.com>2014-08-05 10:16:16 -0400
committerMike Blumenkrantz <zmike@osg.samsung.com>2014-08-13 10:22:53 -0400
commitdc88ca695c59b3d53297dae190e50c1263fc1092 (patch)
tree9f83c9d57c66e15d630b6a8ed82a4d66d190e731
parent6d680f4477bee9bce36a09a5841e860bc43b8d34 (diff)
downloadenlightenment-dc88ca695c59b3d53297dae190e50c1263fc1092.tar.gz
move wl client_resize protocol calls to idler
-rw-r--r--src/bin/e_comp_wl.c44
1 files changed, 22 insertions, 22 deletions
diff --git a/src/bin/e_comp_wl.c b/src/bin/e_comp_wl.c
index 867f45a306..661f8064a0 100644
--- a/src/bin/e_comp_wl.c
+++ b/src/bin/e_comp_wl.c
@@ -574,6 +574,21 @@ _e_comp_wl_surface_commit(E_Client *ec)
}
}
+ if (ec->comp_data)
+ {
+ if (ec->comp_data->pending.damage)
+ eina_tiler_area_size_set(ec->comp_data->pending.damage,
+ ec->client.w, ec->client.h);
+
+ if (ec->comp_data->pending.input)
+ eina_tiler_area_size_set(ec->comp_data->pending.input,
+ ec->client.w, ec->client.h);
+
+ if (ec->comp_data->pending.opaque)
+ eina_tiler_area_size_set(ec->comp_data->pending.opaque,
+ ec->client.w, ec->client.h);
+ }
+
if (ec->comp_data->pending.new_attach)
{
if (!ec->comp_data->pending.buffer)
@@ -1037,6 +1052,13 @@ _e_comp_wl_client_idler(void *data EINA_UNUSED)
{
if ((e_object_is_del(E_OBJECT(ec))) || (!ec->comp_data)) continue;
+ if (ec->post_resize)
+ {
+ if ((ec->comp_data) && (ec->comp_data->shell.configure_send))
+ ec->comp_data->shell.configure_send(ec->comp_data->shell.surface,
+ ec->comp->wl_comp_data->resize.edges,
+ ec->client.w, ec->client.h);
+ }
ec->post_move = 0;
ec->post_resize = 0;
@@ -2178,7 +2200,6 @@ static void
_e_comp_wl_evas_cb_resize(void *data, Evas_Object *obj EINA_UNUSED, void *event EINA_UNUSED)
{
E_Client *ec;
- E_Comp_Data *cdata;
if (!(ec = data)) return;
if ((ec->shading) || (ec->shaded)) return;
@@ -2187,27 +2208,6 @@ _e_comp_wl_evas_cb_resize(void *data, Evas_Object *obj EINA_UNUSED, void *event
/* DBG("COMP_WL: Evas Resize: %d %d", ec->client.w, ec->client.h); */
- cdata = ec->comp->wl_comp_data;
-
- if ((ec->comp_data) && (ec->comp_data->shell.configure_send))
- ec->comp_data->shell.configure_send(ec->comp_data->shell.surface,
- cdata->resize.edges,
- ec->client.w, ec->client.h);
- if (ec->comp_data)
- {
- if (ec->comp_data->pending.damage)
- eina_tiler_area_size_set(ec->comp_data->pending.damage,
- ec->client.w, ec->client.h);
-
- if (ec->comp_data->pending.input)
- eina_tiler_area_size_set(ec->comp_data->pending.input,
- ec->client.w, ec->client.h);
-
- if (ec->comp_data->pending.opaque)
- eina_tiler_area_size_set(ec->comp_data->pending.opaque,
- ec->client.w, ec->client.h);
- }
-
ec->post_resize = EINA_TRUE;
e_pixmap_dirty(ec->pixmap);
e_comp_object_render_update_del(ec->frame);