From ffa98586a483eb3f5204d1421389bab7ecac1a6a Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Mon, 3 Nov 2014 14:08:45 -0500 Subject: [PATCH] add macro wrapper to force elm win accel disabling on internal windows --- src/bin/e_win.c | 16 ++++++++++++++-- src/bin/e_win.h | 9 +++------ 2 files changed, 17 insertions(+), 8 deletions(-) diff --git a/src/bin/e_win.c b/src/bin/e_win.c index 03f293b0f..71e473cad 100644 --- a/src/bin/e_win.c +++ b/src/bin/e_win.c @@ -1,8 +1,7 @@ #include "e.h" /* intercept elm_win operations so we talk directly to e_client */ - -#include +#undef elm_win_add typedef struct _Elm_Win_Trap_Ctx { @@ -406,3 +405,16 @@ e_win_no_reopen_set(Evas_Object *obj, Eina_Bool no_reopen) if (ctx->client) ctx->client->internal_no_reopen = !!no_reopen; } + +EAPI Evas_Object * +e_elm_win_add(Evas_Object *parent, const char *name, Elm_Win_Type type) +{ + char *eng = eina_strdup(getenv("ELM_ACCEL")); + Evas_Object *o; + + e_util_env_set("ELM_ACCEL", "none"); + o = elm_win_add(parent, name, type); + e_util_env_set("ELM_ACCEL", eng); + free(eng); + return o; +} diff --git a/src/bin/e_win.h b/src/bin/e_win.h index 7db2c7deb..87a808f34 100644 --- a/src/bin/e_win.h +++ b/src/bin/e_win.h @@ -31,13 +31,10 @@ e_obj_is_win(const void *obj) return type && !strcmp(type, "elm_win"); } -#define E_WIN_START \ - char *eng__ = eina_strdup(getenv("ELM_ACCEL")); \ - e_util_env_set("ELM_ACCEL", "none") +EAPI Evas_Object *e_elm_win_add(Evas_Object *parent, const char *name, Elm_Win_Type type); -#define E_WIN_END \ - e_util_env_set("ELM_ACCEL", eng__); \ - free(eng__) +#define elm_win_add(X, Y, Z) \ + e_elm_win_add((X), (Y), (Z)) #endif #endif