summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCedric BAIL <cedric@osg.samsung.com>2014-10-09 12:20:53 +0200
committerCedric BAIL <cedric@osg.samsung.com>2014-10-09 12:28:08 +0200
commit8862fc38b451fb8a598876111871336fe0749387 (patch)
treece4f988467446d2ed4c4e9b5bb9c7c1d24b3196e
parent0bcc9998022a43615185d9c464a77b9a78368961 (diff)
evas: GL_X11 context need to always be with alpha or it will fail to change.
@fix
-rw-r--r--src/modules/evas/engines/gl_x11/evas_engine.c1
-rw-r--r--src/modules/evas/engines/gl_x11/evas_engine.h2
-rw-r--r--src/modules/evas/engines/gl_x11/evas_x_main.c15
3 files changed, 5 insertions, 13 deletions
diff --git a/src/modules/evas/engines/gl_x11/evas_engine.c b/src/modules/evas/engines/gl_x11/evas_engine.c
index ac3397c10d..db2e40b5e2 100644
--- a/src/modules/evas/engines/gl_x11/evas_engine.c
+++ b/src/modules/evas/engines/gl_x11/evas_engine.c
@@ -938,6 +938,7 @@ eng_setup(Evas *eo_e, void *in)
938 { 938 {
939 inc = 1; 939 inc = 1;
940 eng_window_free(re->win); 940 eng_window_free(re->win);
941 re->win->gl_context->references++;
941 gl_wins--; 942 gl_wins--;
942 } 943 }
943 re->w = e->output.w; 944 re->w = e->output.w;
diff --git a/src/modules/evas/engines/gl_x11/evas_engine.h b/src/modules/evas/engines/gl_x11/evas_engine.h
index 371a10b39d..932156c360 100644
--- a/src/modules/evas/engines/gl_x11/evas_engine.h
+++ b/src/modules/evas/engines/gl_x11/evas_engine.h
@@ -94,7 +94,7 @@ struct _Evas_GL_X11_Window
94Evas_GL_X11_Window *eng_window_new(Display *disp, Window win, int screen, 94Evas_GL_X11_Window *eng_window_new(Display *disp, Window win, int screen,
95 Visual *vis, Colormap cmap, 95 Visual *vis, Colormap cmap,
96 int depth, int w, int h, int indirect, 96 int depth, int w, int h, int indirect,
97 int alpha, int rot); 97 int rot);
98void eng_window_free(Evas_GL_X11_Window *gw); 98void eng_window_free(Evas_GL_X11_Window *gw);
99void eng_window_use(Evas_GL_X11_Window *gw); 99void eng_window_use(Evas_GL_X11_Window *gw);
100void eng_window_unsurf(Evas_GL_X11_Window *gw); 100void eng_window_unsurf(Evas_GL_X11_Window *gw);
diff --git a/src/modules/evas/engines/gl_x11/evas_x_main.c b/src/modules/evas/engines/gl_x11/evas_x_main.c
index 1b7cab645b..ad81f9982e 100644
--- a/src/modules/evas/engines/gl_x11/evas_x_main.c
+++ b/src/modules/evas/engines/gl_x11/evas_x_main.c
@@ -32,7 +32,6 @@ eng_window_new(Display *disp,
32 int w, 32 int w,
33 int h, 33 int h,
34 int indirect, 34 int indirect,
35 int alpha,
36 int rot) 35 int rot)
37{ 36{
38 Evas_GL_X11_Window *gw; 37 Evas_GL_X11_Window *gw;
@@ -58,7 +57,7 @@ eng_window_new(Display *disp,
58 gw->visual = vis; 57 gw->visual = vis;
59 gw->colormap = cmap; 58 gw->colormap = cmap;
60 gw->depth = depth; 59 gw->depth = depth;
61 gw->alpha = alpha; 60 gw->alpha = 1;
62 gw->w = w; 61 gw->w = w;
63 gw->h = h; 62 gw->h = h;
64 gw->rot = rot; 63 gw->rot = rot;
@@ -102,16 +101,8 @@ eng_window_new(Display *disp,
102 config_attrs[n++] = 1; 101 config_attrs[n++] = 1;
103// FIXME: end n900 breakage 102// FIXME: end n900 breakage
104# endif 103# endif
105 if (gw->alpha) 104 config_attrs[n++] = EGL_ALPHA_SIZE;
106 { 105 config_attrs[n++] = 1;
107 config_attrs[n++] = EGL_ALPHA_SIZE;
108 config_attrs[n++] = 1;
109 }
110 else
111 {
112 config_attrs[n++] = EGL_ALPHA_SIZE;
113 config_attrs[n++] = 0;
114 }
115 config_attrs[n++] = EGL_DEPTH_SIZE; 106 config_attrs[n++] = EGL_DEPTH_SIZE;
116 config_attrs[n++] = 0; 107 config_attrs[n++] = 0;
117 config_attrs[n++] = EGL_STENCIL_SIZE; 108 config_attrs[n++] = EGL_STENCIL_SIZE;