adjust some client eval parts to make manual placement work again

activating the window_move action doesn't require the client to successfully
be shown, and failing this check would cause the window_move action to be
deleted until the next restart
This commit is contained in:
Mike Blumenkrantz 2016-05-12 12:05:59 -04:00
parent 55c83134c1
commit 2854352bc8
1 changed files with 22 additions and 22 deletions

View File

@ -1742,7 +1742,6 @@ _e_client_eval(E_Client *ec)
ec->x = new_x; ec->x = new_x;
ec->y = new_y; ec->y = new_y;
ec->changes.pos = 1; ec->changes.pos = 1;
ec->placed = 1;
ec->pre_cb.x = ec->x; ec->pre_cb.y = ec->y; ec->pre_cb.x = ec->x; ec->pre_cb.y = ec->y;
} }
else if (!E_INTERSECTS(ec->x, ec->y, ec->w, ec->h, zx, zy, zw, zh)) else if (!E_INTERSECTS(ec->x, ec->y, ec->w, ec->h, zx, zy, zw, zh))
@ -1886,8 +1885,12 @@ _e_client_eval(E_Client *ec)
} }
if (ec->changes.pos) if (ec->changes.pos)
{ {
Eina_Bool placed = ec->placed;
ec->changes.pos = 0; ec->changes.pos = 0;
evas_object_move(ec->frame, ec->x, ec->y); evas_object_move(ec->frame, ec->x, ec->y);
if (e_config->window_placement_policy == E_WINDOW_PLACEMENT_MANUAL)
ec->placed = placed;
rem_change = 1; rem_change = 1;
prop |= E_CLIENT_PROPERTY_POS; prop |= E_CLIENT_PROPERTY_POS;
} }
@ -1931,8 +1934,6 @@ _e_client_eval(E_Client *ec)
} }
evas_object_show(ec->frame); evas_object_show(ec->frame);
if (evas_object_visible_get(ec->frame))
{
if (ec->cur_mouse_action) if (ec->cur_mouse_action)
{ {
ec->moveinfo.down.x = ec->x; ec->moveinfo.down.x = ec->x;
@ -1955,7 +1956,6 @@ _e_client_eval(E_Client *ec)
rem_change = 1; rem_change = 1;
_e_client_event_simple(ec, E_EVENT_CLIENT_SHOW); _e_client_event_simple(ec, E_EVENT_CLIENT_SHOW);
} }
}
else if ((ec->changes.visible) && (ec->new_client)) else if ((ec->changes.visible) && (ec->new_client))
{ {
ec->changes.visible = 0; ec->changes.visible = 0;