From 35974c829f20d17622b6aba9c93071a67a91ef95 Mon Sep 17 00:00:00 2001 From: Carsten Haitzler Date: Mon, 3 Oct 2005 10:21:27 +0000 Subject: [PATCH] working to make sure xrender engine works. amazingly - everything works (now) its just ugly, and slow. SVN revision: 17129 --- src/bin/e_canvas.c | 12 ++++++++++-- src/bin/e_config.c | 1 + 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/src/bin/e_canvas.c b/src/bin/e_canvas.c index 47627eec1..bc7477572 100644 --- a/src/bin/e_canvas.c +++ b/src/bin/e_canvas.c @@ -42,6 +42,12 @@ e_canvas_engine_decide(int engine) if (!ecore_evas_engine_type_supported_get(ECORE_EVAS_ENGINE_GL_X11)) engine = E_EVAS_ENGINE_SOFTWARE_X11; } + if (engine == E_EVAS_ENGINE_XRENDER_X11) + { + /* if we dont - fall back to software x11 */ + if (!ecore_evas_engine_type_supported_get(ECORE_EVAS_ENGINE_XRENDER_X11)) + engine = E_EVAS_ENGINE_SOFTWARE_X11; + } return engine; } @@ -101,8 +107,10 @@ e_canvas_new(int engine_hint, Ecore_X_Window win, int x, int y, int w, int h, Ecore_X_Window *subwin_ret) { Ecore_Evas *ee; + int engine; - if (e_canvas_engine_decide(engine_hint) == E_EVAS_ENGINE_GL_X11) + engine = e_canvas_engine_decide(engine_hint); + if (engine == E_EVAS_ENGINE_GL_X11) { ee = ecore_evas_gl_x11_new(NULL, win, x, y, w, h); if (ee) @@ -113,7 +121,7 @@ e_canvas_new(int engine_hint, Ecore_X_Window win, int x, int y, int w, int h, if (subwin_ret) *subwin_ret = ecore_evas_gl_x11_subwindow_get(ee); } } - else if (e_canvas_engine_decide(engine_hint) == E_EVAS_ENGINE_XRENDER_X11) + else if (engine == E_EVAS_ENGINE_XRENDER_X11) { ee = ecore_evas_xrender_x11_new(NULL, win, x, y, w, h); if (ee) diff --git a/src/bin/e_config.c b/src/bin/e_config.c index f1354e66e..475e5ebf0 100644 --- a/src/bin/e_config.c +++ b/src/bin/e_config.c @@ -1343,6 +1343,7 @@ e_config_init(void) } e_config_save_queue(); } +// e_config->evas_engine_default = E_EVAS_ENGINE_XRENDER_X11; // e_config->evas_engine_container = E_EVAS_ENGINE_GL_X11; // TESTING OPTIONS