summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--AUTHORS2
-rw-r--r--src/lib/evas/canvas/evas_key_grab.c12
2 files changed, 10 insertions, 4 deletions
diff --git a/AUTHORS b/AUTHORS
index 01f10f783c..e22c3f2fe2 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -110,7 +110,7 @@ Sohyun Kim <anna1014.kim@samsung.com>
110Boris Faure <billiob@gmail.com> 110Boris Faure <billiob@gmail.com>
111Eduardo Lima (Etrunko) <eblima@gmail.com> 111Eduardo Lima (Etrunko) <eblima@gmail.com>
112Leandro Dorileo (dorileo) <dorileo@profusion.mobi> 112Leandro Dorileo (dorileo) <dorileo@profusion.mobi>
113 113Patryk Kaczmarek <patryk.k@samsung.com>
114 114
115Embryo 115Embryo
116------ 116------
diff --git a/src/lib/evas/canvas/evas_key_grab.c b/src/lib/evas/canvas/evas_key_grab.c
index 85e1761b31..9f65c04cee 100644
--- a/src/lib/evas/canvas/evas_key_grab.c
+++ b/src/lib/evas/canvas/evas_key_grab.c
@@ -158,14 +158,20 @@ _key_grab(Eo *eo_obj, void *_pd, va_list *list)
158 Evas_Key_Grab *g; 158 Evas_Key_Grab *g;
159 159
160 Evas_Object_Protected_Data *obj = _pd; 160 Evas_Object_Protected_Data *obj = _pd;
161 if (!keyname) 161 if (((modifiers == not_modifiers) && (modifiers != 0)) || (!keyname))
162 *ret = EINA_FALSE; 162 {
163 *ret = EINA_FALSE;
164 return;
165 }
163 if (exclusive) 166 if (exclusive)
164 { 167 {
165 g = evas_key_grab_find(eo_obj, obj, keyname, modifiers, not_modifiers, 168 g = evas_key_grab_find(eo_obj, obj, keyname, modifiers, not_modifiers,
166 exclusive); 169 exclusive);
167 if (g) 170 if (g)
168 *ret = EINA_FALSE; 171 {
172 *ret = EINA_FALSE;
173 return;
174 }
169 } 175 }
170 g = evas_key_grab_new(eo_obj, obj, keyname, modifiers, not_modifiers, exclusive); 176 g = evas_key_grab_new(eo_obj, obj, keyname, modifiers, not_modifiers, exclusive);
171 *ret = (!g) ? EINA_FALSE : EINA_TRUE; 177 *ret = (!g) ? EINA_FALSE : EINA_TRUE;