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
This commit is contained in:
Mike Blumenkrantz 2015-08-06 19:14:03 -04:00
parent 000c97659f
commit e37f5d8c28
2 changed files with 3 additions and 2 deletions

View File

@ -3848,7 +3848,7 @@ _e_comp_x_hook_client_fetch(void *d EINA_UNUSED, E_Client *ec)
free(rects); free(rects);
if (ec->shape_changed) if (ec->shape_changed)
e_comp_object_frame_theme_set(ec->frame, E_COMP_OBJECT_FRAME_RESHADOW); 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 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 = (Eina_Rectangle*)rects;
ec->shape_input_rects_num = num; 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 else
{ {

View File

@ -720,6 +720,7 @@ e_hints_window_type_get(E_Client *ec)
} }
} }
free(types); 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); ec->dialog = (ec->netwm.type == E_WINDOW_TYPE_DIALOG);
if (!ec->dialog) if (!ec->dialog)