block mouse actions on frame for iconic clients

fix T1069
This commit is contained in:
Mike Blumenkrantz 2014-06-08 12:13:02 -04:00
parent 8d54f4fa7a
commit 5ad876ccad
2 changed files with 4 additions and 2 deletions

View File

@ -2566,7 +2566,7 @@ EAPI void
e_client_mouse_down(E_Client *ec, int button, Evas_Point *output, E_Binding_Event_Mouse_Button *ev) e_client_mouse_down(E_Client *ec, int button, Evas_Point *output, E_Binding_Event_Mouse_Button *ev)
{ {
EINA_SAFETY_ON_NULL_RETURN(ec); EINA_SAFETY_ON_NULL_RETURN(ec);
if (action_client) return; if (action_client || ec->iconic) return;
if ((button >= 1) && (button <= 3)) if ((button >= 1) && (button <= 3))
{ {
ec->mouse.last_down[button - 1].mx = output->x; ec->mouse.last_down[button - 1].mx = output->x;
@ -2624,6 +2624,7 @@ EAPI void
e_client_mouse_up(E_Client *ec, int button, Evas_Point *output, E_Binding_Event_Mouse_Button* ev) e_client_mouse_up(E_Client *ec, int button, Evas_Point *output, E_Binding_Event_Mouse_Button* ev)
{ {
EINA_SAFETY_ON_NULL_RETURN(ec); EINA_SAFETY_ON_NULL_RETURN(ec);
if (ec->iconic) return;
if ((button >= 1) && (button <= 3)) if ((button >= 1) && (button <= 3))
{ {
ec->mouse.last_up[button - 1].mx = output->x; ec->mouse.last_up[button - 1].mx = output->x;
@ -2664,6 +2665,7 @@ EAPI void
e_client_mouse_move(E_Client *ec, Evas_Point *output) e_client_mouse_move(E_Client *ec, Evas_Point *output)
{ {
EINA_SAFETY_ON_NULL_RETURN(ec); EINA_SAFETY_ON_NULL_RETURN(ec);
if (ec->iconic) return;
ec->mouse.current.mx = output->x; ec->mouse.current.mx = output->x;
ec->mouse.current.my = output->y; ec->mouse.current.my = output->y;
if (ec->moving) if (ec->moving)

View File

@ -246,10 +246,10 @@ _e_comp_object_cb_signal_bind(void *data, Evas_Object *obj EINA_UNUSED, const ch
{ {
E_Comp_Object *cw = data; E_Comp_Object *cw = data;
if (!cw->ec) return;
#ifndef HAVE_WAYLAND_ONLY #ifndef HAVE_WAYLAND_ONLY
if (e_dnd_active()) return; if (e_dnd_active()) return;
#endif #endif
if (cw->ec->iconic) return;
e_bindings_signal_handle(E_BINDING_CONTEXT_WINDOW, E_OBJECT(cw->ec), e_bindings_signal_handle(E_BINDING_CONTEXT_WINDOW, E_OBJECT(cw->ec),
emission, source); emission, source);
} }