discomfitor pushed a commit to branch master.

commit 41448890cc477c7b464dd667700d7c93d0741ff6
Author: Mike Blumenkrantz <[email protected]>
Date:   Wed Jul 3 10:02:34 2013 +0100

    aaand fix border mouse actions for non modal dialog parents
---
 src/bin/e_border.c | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)

diff --git a/src/bin/e_border.c b/src/bin/e_border.c
index 7d3b0b4..dedb80d 100644
--- a/src/bin/e_border.c
+++ b/src/bin/e_border.c
@@ -6472,10 +6472,11 @@ _e_border_cb_mouse_x_wheel(void *d EINA_UNUSED, int t 
EINA_UNUSED, Ecore_Event_M
      bd = action_border;
    else
      {
-        bd = e_border_find_by_window(ev->window);
+        bd = e_border_find_by_client_window(ev->window);
+        if (!bd) bd = e_border_find_by_window(ev->window);
         if (!bd) return ECORE_CALLBACK_RENEW;
         /* event_window here should be bd->win if it isn't the same as window, 
not sure if this can NOT happen */
-        if ((ev->window != ev->event_window) && (bd->win != ev->event_window))
+        if ((ev->window != ev->event_window) && (bd->win != ev->event_window) 
&& (bd->client.lock_win != ev->event_window))
           return ECORE_CALLBACK_RENEW;
      }
    e_bindings_ecore_event_mouse_wheel_convert(ev, &ev2);
@@ -6570,10 +6571,11 @@ _e_border_cb_mouse_x_down(void *d EINA_UNUSED, int t 
EINA_UNUSED, Ecore_Event_Mo
      bd = action_border;
    else
      {
-        bd = e_border_find_by_window(ev->window);
+        bd = e_border_find_by_client_window(ev->window);
+        if (!bd) bd = e_border_find_by_window(ev->window);
         if (!bd) return ECORE_CALLBACK_RENEW;
         /* event_window here should be bd->win if it isn't the same as window, 
not sure if this can NOT happen */
-        if ((ev->window != ev->event_window) && (bd->win != ev->event_window))
+        if ((ev->window != ev->event_window) && (bd->win != ev->event_window) 
&& (bd->client.lock_win != ev->event_window))
           return ECORE_CALLBACK_RENEW;
      }
    e_bindings_ecore_event_mouse_button_convert(ev, &ev2);
@@ -6642,10 +6644,11 @@ _e_border_cb_mouse_x_up(void *d EINA_UNUSED, int t 
EINA_UNUSED, Ecore_Event_Mous
      bd = action_border;
    else
      {
-        bd = e_border_find_by_window(ev->window);
+        bd = e_border_find_by_client_window(ev->window);
+        if (!bd) bd = e_border_find_by_window(ev->window);
         if (!bd) return ECORE_CALLBACK_RENEW;
         /* event_window here should be bd->win if it isn't the same as window, 
not sure if this can NOT happen */
-        if ((ev->window != ev->event_window) && (bd->win != ev->event_window))
+        if ((ev->window != ev->event_window) && (bd->win != ev->event_window) 
&& (bd->client.lock_win != ev->event_window))
           return ECORE_CALLBACK_RENEW;
      }
    e_bindings_ecore_event_mouse_button_convert(ev, &ev2);

-- 

------------------------------------------------------------------------------
This SF.net email is sponsored by Windows:

Build for Windows Store.

http://p.sf.net/sfu/windows-dev2dev

Reply via email to