discomfitor pushed a commit to branch master.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=e37f5d8c28328c85085e30063e5b86ce8b7b27f9

commit e37f5d8c28328c85085e30063e5b86ce8b7b27f9
Author: Mike Blumenkrantz <zm...@osg.samsung.com>
Date:   Thu Aug 6 19:14:03 2015 -0400

    set pass events on DND type windows
    
    these are the actual drag windows from external apps and will be stuck
    under the cursor, ideally not blocking/intercepting all motion events
---
 src/bin/e_comp_x.c | 4 ++--
 src/bin/e_hints.c  | 1 +
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/bin/e_comp_x.c b/src/bin/e_comp_x.c
index 7add784..6592d27 100644
--- a/src/bin/e_comp_x.c
+++ b/src/bin/e_comp_x.c
@@ -3848,7 +3848,7 @@ _e_comp_x_hook_client_fetch(void *d EINA_UNUSED, E_Client 
*ec)
                free(rects);
              if (ec->shape_changed)
                e_comp_object_frame_theme_set(ec->frame, 
E_COMP_OBJECT_FRAME_RESHADOW);
-             evas_object_pass_events_set(ec->frame, 0);
+             evas_object_pass_events_set(ec->frame, ec->netwm.type == 
E_WINDOW_TYPE_DND);
           }
         else
           {
@@ -3920,7 +3920,7 @@ _e_comp_x_hook_client_fetch(void *d EINA_UNUSED, E_Client 
*ec)
                   ec->shape_input_rects = (Eina_Rectangle*)rects;
                   ec->shape_input_rects_num = num;
                }
-             evas_object_pass_events_set(ec->frame, 0);
+             evas_object_pass_events_set(ec->frame, ec->netwm.type == 
E_WINDOW_TYPE_DND);
           }
         else
           {
diff --git a/src/bin/e_hints.c b/src/bin/e_hints.c
index 8d3084a..2a25a4f 100644
--- a/src/bin/e_hints.c
+++ b/src/bin/e_hints.c
@@ -720,6 +720,7 @@ e_hints_window_type_get(E_Client *ec)
                }
           }
         free(types);
+        evas_object_pass_events_set(ec->frame, ec->netwm.type == 
E_WINDOW_TYPE_DND);
      }
    ec->dialog = (ec->netwm.type == E_WINDOW_TYPE_DIALOG);
    if (!ec->dialog)

-- 


Reply via email to