summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Blumenkrantz <zmike@osg.samsung.com>2016-05-05 10:41:27 -0400
committerMike Blumenkrantz <zmike@osg.samsung.com>2016-05-05 10:49:30 -0400
commit4f4556be3514a55616c4dc1f038a686eb6a38d62 (patch)
tree66a828760ebd6e894448e7e6dd50cf006784389c
parent217551e92be2813fc8f847686bfaa7751b545ddb (diff)
wayland_egl: unset global egl context if used wl_display changes
as long as evas uses a global gl context any change to the wl_display must trigger a full re-create on that context
-rw-r--r--src/modules/evas/engines/wayland_egl/evas_wl_main.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/modules/evas/engines/wayland_egl/evas_wl_main.c b/src/modules/evas/engines/wayland_egl/evas_wl_main.c
index 532e749bf2..509e8ae1fe 100644
--- a/src/modules/evas/engines/wayland_egl/evas_wl_main.c
+++ b/src/modules/evas/engines/wayland_egl/evas_wl_main.c
@@ -5,6 +5,7 @@
5/* local variables */ 5/* local variables */
6static Outbuf *_evas_gl_wl_window = NULL; 6static Outbuf *_evas_gl_wl_window = NULL;
7static EGLContext context = EGL_NO_CONTEXT; 7static EGLContext context = EGL_NO_CONTEXT;
8static struct wl_display *display = NULL;
8static int win_count = 0; 9static int win_count = 0;
9 10
10Outbuf * 11Outbuf *
@@ -29,6 +30,9 @@ eng_window_new(Evas *evas, Evas_Engine_Info_Wayland_Egl *einfo, int w, int h, Re
29 gw->h = h; 30 gw->h = h;
30 gw->swap_mode = swap_mode; 31 gw->swap_mode = swap_mode;
31 gw->disp = einfo->info.display; 32 gw->disp = einfo->info.display;
33 if (display && (display != gw->disp))
34 context = EGL_NO_CONTEXT;
35 display = gw->disp;
32 gw->surface = einfo->info.surface; 36 gw->surface = einfo->info.surface;
33 gw->screen = einfo->info.screen; 37 gw->screen = einfo->info.screen;
34 gw->depth = einfo->info.depth; 38 gw->depth = einfo->info.depth;