|
From: <enl...@li...> - 2005-10-05 16:42:00
|
Enlightenment CVS committal
Author : sebastid
Project : e17
Module : apps/e
Dir : e17/apps/e/src/bin
Modified Files:
e_dialog.c
Log Message:
Don't refocus a dialog button. (From ilLogict).
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_dialog.c,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -3 -r1.22 -r1.23
--- e_dialog.c 30 Sep 2005 02:11:49 -0000 1.22
+++ e_dialog.c 5 Oct 2005 16:41:49 -0000 1.23
@@ -317,12 +317,11 @@
if (!strcmp(ev->keyname, "Tab"))
{
- if (dia->focused && dia->buttons)
+ if ((dia->focused) && (dia->buttons))
{
- E_Dialog_Button *db;
+ E_Dialog_Button *db, *ndb;
db = dia->focused->data;
- edje_object_signal_emit(db->obj, "unfocus", "");
if (evas_key_modifier_is_set(evas_key_modifier_get(e_win_evas_get(dia->win)), "Shift"))
{
if (dia->focused->prev) dia->focused = dia->focused->prev;
@@ -333,9 +332,13 @@
if (dia->focused->next) dia->focused = dia->focused->next;
else dia->focused = dia->buttons;
}
- db = evas_list_data(dia->focused);
- edje_object_signal_emit(db->obj, "focus", "");
- edje_object_signal_emit(db->obj, "enter", "");
+ ndb = dia->focused->data;
+ if (ndb != db)
+ {
+ edje_object_signal_emit(db->obj, "unfocus", "");
+ edje_object_signal_emit(ndb->obj, "focus", "");
+ edje_object_signal_emit(ndb->obj, "enter", "");
+ }
}
else
|