discomfitor pushed a commit to branch enlightenment-0.21.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=b6d90beee49e6087b96f705d295283f689bcdd4e

commit b6d90beee49e6087b96f705d295283f689bcdd4e
Author: Mike Blumenkrantz <[email protected]>
Date:   Fri Mar 17 13:17:02 2017 -0400

    add wrappers for elm_win util create functions
    
    avoid deadlocking in gl init by forcing sw
---
 src/bin/e_win.c | 32 ++++++++++++++++++++++++++++++++
 src/bin/e_win.h |  8 ++++++++
 2 files changed, 40 insertions(+)

diff --git a/src/bin/e_win.c b/src/bin/e_win.c
index 43c3abb..b22823d 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 a18e2d9..683dd7e 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

-- 


Reply via email to