From: hermet Date: Fri, 29 Jul 2011 14:28:33 +0000 (+0000) Subject: elm_win - patchec by kimcinoo@gmail.com X-Git-Tag: REL_F_I9500_20120323_1~17^2~2098 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=55d2326252d4726f7eb31c38c6837061e1a1a01f;p=framework%2Fuifw%2Felementary.git elm_win - patchec by kimcinoo@gmail.com Hi All, If ecore_evas_[not_software_x11]_new(); returns NULL while elm_win_add(); is called, then ecore_evas_software_x11_new(); is used instead of other engines. (FALLBACK_TRY) But the configuration value for engine is not changed. This makes improper result. After FALLBACK_TRY, the elm_win works with different configuration value. In this case, win->xwin (_elm_win_xwindow_get()) gives NULL. and elm_win_xsinodow_get() returns 0 also. Please refer to attached patch. Thanks a lot Sincerely, Shinwoo Kim. git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/elementary@61894 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33 --- diff --git a/src/lib/elm_win.c b/src/lib/elm_win.c index 85fe2f0..be639d0 100644 --- a/src/lib/elm_win.c +++ b/src/lib/elm_win.c @@ -1401,11 +1401,12 @@ elm_win_add(Evas_Object *parent, const char *name, Elm_Win_Type type) win = ELM_NEW(Elm_Win); -#define FALLBACK_TRY(engine) \ - if (!win->ee) \ - do { \ +#define FALLBACK_TRY(engine) \ + if (!win->ee) \ + do { \ CRITICAL(engine " engine creation failed. Trying software X11."); \ - win->ee = ecore_evas_software_x11_new(NULL, 0, 0, 0, 1, 1); \ + elm_engine_set(ELM_SOFTWARE_X11); \ + win->ee = ecore_evas_software_x11_new(NULL, 0, 0, 0, 1, 1); \ } while (0) #define ENGINE_COMPARE(name) (!strcmp(_elm_config->engine, name))