add wrappers for elm_win util create functions

avoid deadlocking in gl init by forcing sw
devs/discomfitor/debug
Mike Blumenkrantz 6 years ago
parent 047f08a994
commit 3ca416cc0a
  1. 32
      src/bin/e_win.c
  2. 8
      src/bin/e_win.h

@ -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;
}

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

Loading…
Cancel
Save