and fix my "mouse grab+hide_mouse out" fix to not break e17 dnd :)
authorraster <raster@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Wed, 28 Dec 2011 03:07:39 +0000 (03:07 +0000)
committerraster <raster@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Wed, 28 Dec 2011 03:07:39 +0000 (03:07 +0000)
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@66582 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

src/lib/ecore_evas/ecore_evas_x.c

index 94983a4..7d3af12 100644 (file)
@@ -796,9 +796,13 @@ _ecore_evas_x_event_mouse_out(void *data __UNUSED__, int type __UNUSED__, void *
    //       (e->mode == ECORE_X_EVENT_MODE_UNGRAB))
    //     return 0;
    /* if (e->mode != ECORE_X_EVENT_MODE_NORMAL) return 0; */
+//   printf("OUT: ee->in=%i, e->mode=%i, e->detail=%i, dount_count=%i\n",
+//          ee->in, e->mode, e->detail, evas_event_down_count_get(ee->evas));
    if (ee->in)
      {
-        if (evas_event_down_count_get(ee->evas) > 0)
+        if ((evas_event_down_count_get(ee->evas) > 0) &&
+            (!((e->mode == ECORE_X_EVENT_MODE_GRAB) &&
+               (e->detail == ECORE_X_EVENT_DETAIL_NON_LINEAR))))
           return ECORE_CALLBACK_PASS_ON;
         ecore_event_evas_modifier_lock_update(ee->evas, e->modifiers);
         _ecore_evas_mouse_move_process(ee, e->x, e->y, e->time);