summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorChris Michael <cp.michael@samsung.com>2017-01-11 12:19:25 -0500
committerChris Michael <cp.michael@samsung.com>2017-01-11 12:36:33 -0500
commit6c9dc2a5ba61f0409001115d0d31adc1e5c48e48 (patch)
tree3a49d4997f5e6e16a57d0fbcd629f6bc849e819b /src
parent4bb9038b679da22cb06cde084afd904802ef25ce (diff)
evas-wayland-shm: Compare hidden flag during reconfigure
Small patch to compare if the hidden flag being passed in is the same as the one stored in Outbuf. With the addition of xdg_shell v6 support, we cannot commit a surface with an existing buffer until the surface has been configured. In order to facilitate this, we will use the 'hidden' flag so that any surface_post does not actually attach a buffer unless configure has already been handled on the surface. ref T5090 Signed-off-by: Chris Michael <cp.michael@samsung.com>
Diffstat (limited to 'src')
-rw-r--r--src/modules/evas/engines/wayland_shm/evas_outbuf.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/modules/evas/engines/wayland_shm/evas_outbuf.c b/src/modules/evas/engines/wayland_shm/evas_outbuf.c
index 653d8ece3f..b76efadca1 100644
--- a/src/modules/evas/engines/wayland_shm/evas_outbuf.c
+++ b/src/modules/evas/engines/wayland_shm/evas_outbuf.c
@@ -356,7 +356,8 @@ _evas_outbuf_reconfigure(Outbuf *ob, int w, int h, int rot, Outbuf_Depth depth,
356 356
357 if (!ob->dirty && (ob->w == w) && (ob->h == h) && 357 if (!ob->dirty && (ob->w == w) && (ob->h == h) &&
358 (ob->rotation == rot) && (ob->depth == depth) && 358 (ob->rotation == rot) && (ob->depth == depth) &&
359 (ob->priv.destination_alpha == alpha)) 359 (ob->priv.destination_alpha == alpha) &&
360 (ob->hidden == hidden))
360 return; 361 return;
361 362
362 dirty = ob->dirty; 363 dirty = ob->dirty;
@@ -369,8 +370,6 @@ _evas_outbuf_reconfigure(Outbuf *ob, int w, int h, int rot, Outbuf_Depth depth,
369 ob->priv.destination_alpha = alpha; 370 ob->priv.destination_alpha = alpha;
370 ob->hidden = hidden; 371 ob->hidden = hidden;
371 372
372 if (ob->hidden) return;
373
374 if ((ob->rotation == 0) || (ob->rotation == 180)) 373 if ((ob->rotation == 0) || (ob->rotation == 180))
375 { 374 {
376 ob->surface->funcs.reconfigure(ob->surface, w, h, resize, dirty); 375 ob->surface->funcs.reconfigure(ob->surface, w, h, resize, dirty);
@@ -391,6 +390,8 @@ _evas_outbuf_update_region_new(Outbuf *ob, int x, int y, int w, int h, int *cx,
391 390
392 LOGFN(__FILE__, __LINE__, __FUNCTION__); 391 LOGFN(__FILE__, __LINE__, __FUNCTION__);
393 392
393 if (ob->hidden) return NULL;
394
394 RECTS_CLIP_TO_RECT(x, y, w, h, 0, 0, ob->w, ob->h); 395 RECTS_CLIP_TO_RECT(x, y, w, h, 0, 0, ob->w, ob->h);
395 if ((w <= 0) || (h <= 0)) return NULL; 396 if ((w <= 0) || (h <= 0)) return NULL;
396 397
@@ -519,6 +520,8 @@ _evas_outbuf_update_region_push(Outbuf *ob, RGBA_Image *update, int x, int y, in
519 /* check for pending writes */ 520 /* check for pending writes */
520 if (!ob->priv.pending_writes) return; 521 if (!ob->priv.pending_writes) return;
521 522
523 if (ob->hidden) return;
524
522 if ((ob->rotation == 0) || (ob->rotation == 180)) 525 if ((ob->rotation == 0) || (ob->rotation == 180))
523 { 526 {
524 func = 527 func =