ecore_cocoa: don't reject mouse events outside the window
authorpierre lamot <pierre.lamot@openwide.fr>
Tue, 3 Mar 2015 16:11:08 +0000 (17:11 +0100)
committerCedric BAIL <cedric@osg.samsung.com>
Tue, 17 Mar 2015 09:42:51 +0000 (10:42 +0100)
mouse events ouside the window where rejected. that was creating
interactions where half an event was created, the application was
then not able to process correctly following events.

@fix

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
src/lib/ecore_cocoa/ecore_cocoa_window.m

index 62743d9..2586087 100644 (file)
    NSPoint event_location = [event locationInWindow];\r
    NSPoint pt = [view convertPoint:event_location fromView:nil];\r
 \r
-   int w = [view frame].size.width;\r
    int h = [view frame].size.height;\r
    int x = pt.x;\r
    int y = h - pt.y;\r
 \r
-   if (y <= 0 || x <= 0 || y > h || x > w)\r
-     return;\r
-\r
    Ecore_Event_Mouse_Button * ev = calloc(1, sizeof(Ecore_Event_Mouse_Button));\r
    if (!ev) return;\r
 \r
-   ev->x = pt.x;\r
+   ev->x = x;\r
    ev->y = y;\r
    ev->root.x = ev->x;\r
    ev->root.y = ev->y;\r
    NSPoint event_location = [event locationInWindow];\r
    NSPoint pt = [view convertPoint:event_location fromView:nil];\r
 \r
-   int w = [view frame].size.width;\r
    int h = [view frame].size.height;\r
    int x = pt.x;\r
    int y = h - pt.y;\r
 \r
-   if (y <= 0 || x <= 0 || y > h || x > w)\r
-     return;\r
-\r
    Ecore_Event_Mouse_Button * ev = calloc(1, sizeof(Ecore_Event_Mouse_Button));\r
    if (!ev) return;\r
 \r
-   ev->x = pt.x;\r
+   ev->x = x;\r
    ev->y = y;\r
    ev->root.x = ev->x;\r
    ev->root.y = ev->y;\r