diff options
author | Mike Blumenkrantz <zmike@osg.samsung.com> | 2017-03-17 13:17:02 -0400 |
---|---|---|
committer | Mike Blumenkrantz <zmike@osg.samsung.com> | 2017-03-17 15:08:29 -0400 |
commit | 3ca416cc0a8d262bd59c150be3cb1c66934d97fb (patch) | |
tree | f3230577fafd4ef099de4014ad8a108ddcf57b57 | |
parent | 047f08a9942661f9c6fe0263656770decc648136 (diff) | |
download | enlightenment-3ca416cc0a8d262bd59c150be3cb1c66934d97fb.tar.gz |
add wrappers for elm_win util create functions
avoid deadlocking in gl init by forcing sw
-rw-r--r-- | src/bin/e_win.c | 32 | ||||
-rw-r--r-- | src/bin/e_win.h | 8 |
2 files changed, 40 insertions, 0 deletions
diff --git a/src/bin/e_win.c b/src/bin/e_win.c index 43c3abba8d..b22823d646 100644 --- a/src/bin/e_win.c +++ b/src/bin/e_win.c @@ -2,6 +2,8 @@ /* intercept elm_win operations so we talk directly to e_client */ #undef elm_win_add +#undef elm_win_util_dialog_add +#undef elm_win_util_standard_add typedef struct _Elm_Win_Trap_Ctx { @@ -501,3 +503,33 @@ e_elm_win_add(Evas_Object *parent, const char *name, Elm_Win_Type type) free(eng); return o; } + +E_API Evas_Object * +elm_win_util_standard_add(const char *name, const char *title) +{ + char *eng; + Evas_Object *o; + + eng = eina_strdup(getenv("ELM_ACCEL")); + e_util_env_set("ELM_ACCEL", "none"); + o = elm_win_util_standard_add(name, title); + e_util_env_set("ELM_ACCEL", eng); + elm_win_alpha_set(o, 1); + free(eng); + return o; +} + +E_API Evas_Object * +e_elm_win_util_dialog_add(Evas_Object *parent, const char *name, const char *title) +{ + char *eng; + Evas_Object *o; + + eng = eina_strdup(getenv("ELM_ACCEL")); + e_util_env_set("ELM_ACCEL", "none"); + o = elm_win_util_dialog_add(parent, name, title); + e_util_env_set("ELM_ACCEL", eng); + elm_win_alpha_set(o, 1); + free(eng); + return o; +} diff --git a/src/bin/e_win.h b/src/bin/e_win.h index a18e2d92a6..683dd7e1b7 100644 --- a/src/bin/e_win.h +++ b/src/bin/e_win.h @@ -38,9 +38,17 @@ e_obj_is_win(const void *obj) } E_API Evas_Object *e_elm_win_add(Evas_Object *parent, const char *name, Elm_Win_Type type); +E_API Evas_Object *elm_win_util_standard_add(const char *name, const char *title); +E_API Evas_Object *e_elm_win_util_dialog_add(Evas_Object *parent, const char *name, const char *title); #define elm_win_add(X, Y, Z) \ e_elm_win_add((X), (Y), (Z)) +#define elm_win_util_dialog_add(X, Y, Z) \ + e_elm_win_util_dialog_add((X), (Y), (Z)) + +#define elm_win_util_standard_add(X, Y) \ + e_elm_win_util_standard_add((X), (Y)) + #endif #endif |