summaryrefslogtreecommitdiff
path: root/src/lib/efl_wl
diff options
context:
space:
mode:
authorMike Blumenkrantz <zmike@osg.samsung.com>2018-01-17 17:33:57 -0500
committerMike Blumenkrantz <zmike@osg.samsung.com>2018-01-17 16:55:35 -0500
commitc13ae0a63099de1781e3bb29e314a1da4a4acc92 (patch)
treeef43ffff97a59c7a481e433010422c6031fd98ba /src/lib/efl_wl
parent02af7e8210bf8d939e2a48c577049cb9125e27d4 (diff)
efl-wl: enforce xdg-shell spec requiring a commit to an unmapped surface
a separate commit is required for a newly-unmapped surface in order for the surface to be able to attach a buffer and be mapped
Diffstat (limited to 'src/lib/efl_wl')
-rw-r--r--src/lib/efl_wl/efl_wl.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/lib/efl_wl/efl_wl.c b/src/lib/efl_wl/efl_wl.c
index da935c3512..050ee897ec 100644
--- a/src/lib/efl_wl/efl_wl.c
+++ b/src/lib/efl_wl/efl_wl.c
@@ -1393,6 +1393,7 @@ comp_surface_commit_state(Comp_Surface *cs, Comp_Buffer_State *state)
1393 Eina_List *l; 1393 Eina_List *l;
1394 Evas_Object *o; 1394 Evas_Object *o;
1395 Comp_Buffer *buffer = NULL; 1395 Comp_Buffer *buffer = NULL;
1396 Eina_Bool newly_new = EINA_FALSE;
1396 1397
1397 if (state->attach) 1398 if (state->attach)
1398 { 1399 {
@@ -1416,6 +1417,7 @@ comp_surface_commit_state(Comp_Surface *cs, Comp_Buffer_State *state)
1416 if (cs->shell.surface) 1417 if (cs->shell.surface)
1417 { 1418 {
1418 cs->shell.new = 1; 1419 cs->shell.new = 1;
1420 newly_new = EINA_TRUE;
1419 shell_surface_reset(cs); 1421 shell_surface_reset(cs);
1420 } 1422 }
1421 } 1423 }
@@ -1440,7 +1442,7 @@ comp_surface_commit_state(Comp_Surface *cs, Comp_Buffer_State *state)
1440 evas_object_move(cs->img, x + buffer->x, y + buffer->y); 1442 evas_object_move(cs->img, x + buffer->x, y + buffer->y);
1441 evas_object_resize(cs->obj, buffer->w, buffer->h); 1443 evas_object_resize(cs->obj, buffer->w, buffer->h);
1442 } 1444 }
1443 else if (cs->shell.new) 1445 else if (cs->shell.new && (!newly_new))
1444 shell_surface_init(cs); 1446 shell_surface_init(cs);
1445 1447
1446 state->attach = 0; 1448 state->attach = 0;