summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGuilherme Iscaro <iscaro@profusion.mobi>2016-10-08 17:29:08 -0300
committerJean Guyomarc'h <jean@guyomarch.bzh>2016-10-14 18:25:16 +0200
commit21abce32093d26fcd0ca2d81232179ed4e998de1 (patch)
treef02054e149114d89b4f2c8669e457817d917cbe2
parent8cbea7e71227506a540dffc63dd3adfd33373111 (diff)
downloadefl-21abce32093d26fcd0ca2d81232179ed4e998de1.tar.gz
Ecore Cocoa: Add missing modifiers field to Ecore Events
Fix T4477
-rw-r--r--src/lib/ecore_cocoa/ecore_cocoa.m8
-rw-r--r--src/lib/ecore_cocoa/ecore_cocoa_private.h2
-rw-r--r--src/lib/ecore_cocoa/ecore_cocoa_window.m3
3 files changed, 9 insertions, 4 deletions
diff --git a/src/lib/ecore_cocoa/ecore_cocoa.m b/src/lib/ecore_cocoa/ecore_cocoa.m
index 6963ee0f56..1ef0da5c13 100644
--- a/src/lib/ecore_cocoa/ecore_cocoa.m
+++ b/src/lib/ecore_cocoa/ecore_cocoa.m
@@ -90,8 +90,8 @@ ecore_cocoa_shutdown(void)
return _ecore_cocoa_init_count;
}
-static unsigned int
-_ecore_cocoa_event_modifiers(NSUInteger mod)
+unsigned int
+ecore_cocoa_event_modifiers(NSUInteger mod)
{
unsigned int modifiers = 0;
@@ -133,7 +133,7 @@ _ecore_cocoa_event_key(NSEvent *event,
}
ev->timestamp = time;
- ev->modifiers = _ecore_cocoa_event_modifiers([event modifierFlags]);
+ ev->modifiers = ecore_cocoa_event_modifiers([event modifierFlags]);
ev->keycode = event.keyCode;
ev->string = [keycharRaw cStringUsingEncoding:NSUTF8StringEncoding];
@@ -317,7 +317,7 @@ _ecore_cocoa_feed_events(void *anEvent)
ev->window = (Ecore_Window)window.ecore_window_data;
ev->event_window = ev->window;
- ev->modifiers = 0; /* FIXME: keep modifier around. */
+ ev->modifiers = ecore_cocoa_event_modifiers([event modifierFlags]);
ev->timestamp = time;
if (dy != 0)
{
diff --git a/src/lib/ecore_cocoa/ecore_cocoa_private.h b/src/lib/ecore_cocoa/ecore_cocoa_private.h
index 478cadf57d..a97d278e88 100644
--- a/src/lib/ecore_cocoa/ecore_cocoa_private.h
+++ b/src/lib/ecore_cocoa/ecore_cocoa_private.h
@@ -79,6 +79,8 @@ Eina_Bool _ecore_cocoa_window_init(void);
Eina_Bool _ecore_cocoa_feed_events(void *anEvent);
+unsigned int ecore_cocoa_event_modifiers(NSUInteger mod);
+
#endif
diff --git a/src/lib/ecore_cocoa/ecore_cocoa_window.m b/src/lib/ecore_cocoa/ecore_cocoa_window.m
index 04befba168..47b57b2f2a 100644
--- a/src/lib/ecore_cocoa/ecore_cocoa_window.m
+++ b/src/lib/ecore_cocoa/ecore_cocoa_window.m
@@ -217,6 +217,7 @@ static NSCursor *_cursors[__ECORE_COCOA_CURSOR_LAST];
else
ev->triple_click = 0;
+ ev->modifiers = ecore_cocoa_event_modifiers([event modifierFlags]);
ecore_event_add(ECORE_EVENT_MOUSE_BUTTON_DOWN, ev, NULL, NULL);
}
@@ -274,6 +275,7 @@ static NSCursor *_cursors[__ECORE_COCOA_CURSOR_LAST];
else
ev->triple_click = 0;
+ ev->modifiers = ecore_cocoa_event_modifiers([event modifierFlags]);
ecore_event_add(ECORE_EVENT_MOUSE_BUTTON_UP, ev, NULL, NULL);
}
@@ -314,6 +316,7 @@ static NSCursor *_cursors[__ECORE_COCOA_CURSOR_LAST];
ev->multi.x = ev->x;
ev->multi.y = ev->y;
+ ev->modifiers = ecore_cocoa_event_modifiers([event modifierFlags]);
ecore_event_add(ECORE_EVENT_MOUSE_MOVE, ev, NULL, NULL);
}