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:27:48 +0200
commit12eeebb5447cd9ea8227ac715e0fd55a2fdadaf8 (patch)
treef76987de2d1ed81d11b634a16a5b258d49e133c2
parent895692f0cd3d4c789ae331e6315cfc2422d2a658 (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 e1caf3a19e..a27cf30851 100644
--- a/src/modules/evas/engines/gl_x11/evas_engine.c
+++ b/src/modules/evas/engines/gl_x11/evas_engine.c
@@ -942,6 +942,7 @@ eng_setup(Evas *eo_e, void *in)
942 { 942 {
943 inc = 1; 943 inc = 1;
944 eng_window_free(re->win); 944 eng_window_free(re->win);
945 re->win->gl_context->references++;
945 gl_wins--; 946 gl_wins--;
946 } 947 }
947 re->w = e->output.w; 948 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 c03950b907..9a222bafa0 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;