fix focus re-order bug

SVN revision: 15356
This commit is contained in:
Carsten Haitzler 2005-06-16 04:21:01 +00:00
parent dfa9d380c0
commit 650bb6ed85
3 changed files with 13 additions and 2 deletions

View File

@ -808,8 +808,11 @@ e_border_focus_set(E_Border *bd, int focus, int set)
// printf("flag focus to %i\n", focus);
if ((focus) && (!bd->focused))
{
focus_stack = evas_list_remove(focus_stack, bd);
focus_stack = evas_list_prepend(focus_stack, bd);
if (!e_winlist_active_get())
{
focus_stack = evas_list_remove(focus_stack, bd);
focus_stack = evas_list_prepend(focus_stack, bd);
}
edje_object_signal_emit(bd->bg_object, "active", "");
e_focus_event_focus_in(bd);
}

View File

@ -249,6 +249,13 @@ e_winlist_hide(void)
}
}
int
e_winlist_active_get(void)
{
if (winlist) return 1;
return 0;
}
void
e_winlist_next(void)
{

View File

@ -12,6 +12,7 @@ EAPI int e_winlist_shutdown(void);
EAPI int e_winlist_show(E_Zone *zone);
EAPI void e_winlist_hide(void);
EAPI int e_winlist_active_get(void);
EAPI void e_winlist_next(void);
EAPI void e_winlist_prev(void);
EAPI void e_winlist_modifiers_set(int mod);