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.



SVN revision: 61894
This commit is contained in:
ChunEon Park 2011-07-29 14:28:33 +00:00
parent a801e3f3fe
commit c28fd3012e
1 changed files with 5 additions and 4 deletions

View File

@ -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))