summaryrefslogtreecommitdiff
path: root/src/modules/evas/engines/wayland_egl/evas_engine.c
diff options
context:
space:
mode:
authorDerek Foreman <derekf@osg.samsung.com>2017-03-03 13:04:06 -0600
committerDerek Foreman <derekf@osg.samsung.com>2017-03-03 13:30:00 -0600
commitf53f873b585984790ce2c49d56b69ddff2750568 (patch)
tree9265df91a21d410f2586746b9f939715255205e7 /src/modules/evas/engines/wayland_egl/evas_engine.c
parent18224858f3205209b0b25d7402343354539fd9a4 (diff)
wayland_egl: recreate outbuf on session restore
If we get an eng_update with no outbuf, try to create one.
Diffstat (limited to 'src/modules/evas/engines/wayland_egl/evas_engine.c')
-rw-r--r--src/modules/evas/engines/wayland_egl/evas_engine.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/modules/evas/engines/wayland_egl/evas_engine.c b/src/modules/evas/engines/wayland_egl/evas_engine.c
index 88f8f95..d337da3 100644
--- a/src/modules/evas/engines/wayland_egl/evas_engine.c
+++ b/src/modules/evas/engines/wayland_egl/evas_engine.c
@@ -665,6 +665,19 @@ eng_update(void *data, void *info, unsigned int w, unsigned int h)
665 Outbuf *ob; 665 Outbuf *ob;
666 666
667 ob = eng_get_ob(re); 667 ob = eng_get_ob(re);
668 if (!ob)
669 {
670 Render_Engine_Swap_Mode swap_mode = MODE_AUTO;
671
672 swap_mode = _eng_swap_mode_get();
673 ob = eng_window_new(inf, w, h, swap_mode);
674 if (!ob) return 0;
675 eng_window_use(ob);
676 evas_render_engine_software_generic_update(&re->generic.software,
677 ob, w, h);
678 gl_wins++;
679 return 1;
680 }
668 681
669 if (!inf->info.wl_surface && (ob->egl_surface != EGL_NO_SURFACE)) 682 if (!inf->info.wl_surface && (ob->egl_surface != EGL_NO_SURFACE))
670 { 683 {