diff --git a/ChangeLog b/ChangeLog index 6777f0afe..8f6accf4f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -2,6 +2,9 @@ * Added function to hide all active menus * Always hide menus on desklock + * e_win now traps elm_win_activate to ensure that internal elm + windows don't fail to raise as expected if user has configured + E to ignore activate hints 2012-12-29 Mike Blumenkrantz diff --git a/NEWS b/NEWS index b45ae5214..1f8458ca6 100644 --- a/NEWS +++ b/NEWS @@ -39,3 +39,6 @@ Fixes: * Fix border(less) style of internal elm tooltip windows * Fix incorrect config value clamping for window autoraise delay * Always hide menus on desklock + * e_win now traps elm_win_activate to ensure that internal elm + windows don't fail to raise as expected if user has configured + E to ignore activate hints diff --git a/src/bin/e_win.c b/src/bin/e_win.c index 4acd3dadd..17982fe99 100644 --- a/src/bin/e_win.c +++ b/src/bin/e_win.c @@ -155,6 +155,17 @@ _elm_win_trap_raise(void *data, Evas_Object *o __UNUSED__) return EINA_FALSE; } +static Eina_Bool +_elm_win_trap_activate(void *data, Evas_Object *o __UNUSED__) +{ + Elm_Win_Trap_Ctx *ctx = data; + EINA_SAFETY_ON_NULL_RETURN_VAL(ctx, EINA_TRUE); + if (!ctx->border) return EINA_TRUE; + e_border_focus_set(ctx->border, 1, 1); + e_border_raise(ctx->border); + return EINA_FALSE; +} + static const Elm_Win_Trap _elm_win_trap = { ELM_WIN_TRAP_VERSION, _elm_win_trap_add, @@ -166,7 +177,7 @@ static const Elm_Win_Trap _elm_win_trap = { _elm_win_trap_center, _elm_win_trap_lower, _elm_win_trap_raise, - /* activate */ NULL, + _elm_win_trap_activate, /* alpha_set */ NULL, /* aspect_set */ NULL, /* avoid_damage_set */ NULL,