summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Blumenkrantz <zmike@osg.samsung.com>2016-05-12 12:05:59 -0400
committerMike Blumenkrantz <zmike@osg.samsung.com>2016-05-12 12:05:59 -0400
commit2854352bc8b092eb82890b88987495d91df020c1 (patch)
tree07404ba4439d0274b611b6a3ca2d8160070ba480
parent55c83134c17cbc60e248b64a3717490e9b8fd614 (diff)
downloadenlightenment-2854352bc8b092eb82890b88987495d91df020c1.tar.gz
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
-rw-r--r--src/bin/e_client.c46
1 files changed, 23 insertions, 23 deletions
diff --git a/src/bin/e_client.c b/src/bin/e_client.c
index 15a32ba74c..966e6a8f12 100644
--- a/src/bin/e_client.c
+++ b/src/bin/e_client.c
@@ -1742,7 +1742,6 @@ _e_client_eval(E_Client *ec)
ec->x = new_x;
ec->y = new_y;
ec->changes.pos = 1;
- ec->placed = 1;
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))
@@ -1886,8 +1885,12 @@ _e_client_eval(E_Client *ec)
}
if (ec->changes.pos)
{
+ Eina_Bool placed = ec->placed;
+
ec->changes.pos = 0;
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;
prop |= E_CLIENT_PROPERTY_POS;
}
@@ -1931,30 +1934,27 @@ _e_client_eval(E_Client *ec)
}
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.y = ec->y;
- ec->moveinfo.down.w = ec->w;
- ec->moveinfo.down.h = ec->h;
- ec->mouse.current.mx = x;
- ec->mouse.current.my = y;
- ec->moveinfo.down.button = 0;
- ec->moveinfo.down.mx = x;
- ec->moveinfo.down.my = y;
-
- e_object_ref(E_OBJECT(ec->cur_mouse_action));
- ec->cur_mouse_action->func.go(E_OBJECT(ec), NULL);
- if (e_config->border_raise_on_mouse_action)
- evas_object_raise(ec->frame);
- evas_object_focus_set(ec->frame, 1);
- }
- ec->changes.visible = 0;
- rem_change = 1;
- _e_client_event_simple(ec, E_EVENT_CLIENT_SHOW);
+ ec->moveinfo.down.x = ec->x;
+ ec->moveinfo.down.y = ec->y;
+ ec->moveinfo.down.w = ec->w;
+ ec->moveinfo.down.h = ec->h;
+ ec->mouse.current.mx = x;
+ ec->mouse.current.my = y;
+ ec->moveinfo.down.button = 0;
+ ec->moveinfo.down.mx = x;
+ ec->moveinfo.down.my = y;
+
+ e_object_ref(E_OBJECT(ec->cur_mouse_action));
+ ec->cur_mouse_action->func.go(E_OBJECT(ec), NULL);
+ if (e_config->border_raise_on_mouse_action)
+ evas_object_raise(ec->frame);
+ evas_object_focus_set(ec->frame, 1);
}
+ ec->changes.visible = 0;
+ rem_change = 1;
+ _e_client_event_simple(ec, E_EVENT_CLIENT_SHOW);
}
else if ((ec->changes.visible) && (ec->new_client))
{