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)
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 15a32ba74..966e6a8f1 100644
--- a/src/bin/e_client.c
+++ b/src/bin/e_client.c
@@ -1742,7 +1742,6 @@ _e_client_eval(E_Client *ec)
1742 ec->x = new_x; 1742 ec->x = new_x;
1743 ec->y = new_y; 1743 ec->y = new_y;
1744 ec->changes.pos = 1; 1744 ec->changes.pos = 1;
1745 ec->placed = 1;
1746 ec->pre_cb.x = ec->x; ec->pre_cb.y = ec->y; 1745 ec->pre_cb.x = ec->x; ec->pre_cb.y = ec->y;
1747 } 1746 }
1748 else if (!E_INTERSECTS(ec->x, ec->y, ec->w, ec->h, zx, zy, zw, zh)) 1747 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)
1886 } 1885 }
1887 if (ec->changes.pos) 1886 if (ec->changes.pos)
1888 { 1887 {
1888 Eina_Bool placed = ec->placed;
1889
1889 ec->changes.pos = 0; 1890 ec->changes.pos = 0;
1890 evas_object_move(ec->frame, ec->x, ec->y); 1891 evas_object_move(ec->frame, ec->x, ec->y);
1892 if (e_config->window_placement_policy == E_WINDOW_PLACEMENT_MANUAL)
1893 ec->placed = placed;
1891 rem_change = 1; 1894 rem_change = 1;
1892 prop |= E_CLIENT_PROPERTY_POS; 1895 prop |= E_CLIENT_PROPERTY_POS;
1893 } 1896 }
@@ -1931,30 +1934,27 @@ _e_client_eval(E_Client *ec)
1931 } 1934 }
1932 1935
1933 evas_object_show(ec->frame); 1936 evas_object_show(ec->frame);
1934 if (evas_object_visible_get(ec->frame)) 1937 if (ec->cur_mouse_action)
1935 { 1938 {
1936 if (ec->cur_mouse_action) 1939 ec->moveinfo.down.x = ec->x;
1937 { 1940 ec->moveinfo.down.y = ec->y;
1938 ec->moveinfo.down.x = ec->x; 1941 ec->moveinfo.down.w = ec->w;
1939 ec->moveinfo.down.y = ec->y; 1942 ec->moveinfo.down.h = ec->h;
1940 ec->moveinfo.down.w = ec->w; 1943 ec->mouse.current.mx = x;
1941 ec->moveinfo.down.h = ec->h; 1944 ec->mouse.current.my = y;
1942 ec->mouse.current.mx = x; 1945 ec->moveinfo.down.button = 0;
1943 ec->mouse.current.my = y; 1946 ec->moveinfo.down.mx = x;
1944 ec->moveinfo.down.button = 0; 1947 ec->moveinfo.down.my = y;
1945 ec->moveinfo.down.mx = x; 1948
1946 ec->moveinfo.down.my = y; 1949 e_object_ref(E_OBJECT(ec->cur_mouse_action));
1947 1950 ec->cur_mouse_action->func.go(E_OBJECT(ec), NULL);
1948 e_object_ref(E_OBJECT(ec->cur_mouse_action)); 1951 if (e_config->border_raise_on_mouse_action)
1949 ec->cur_mouse_action->func.go(E_OBJECT(ec), NULL); 1952 evas_object_raise(ec->frame);
1950 if (e_config->border_raise_on_mouse_action) 1953 evas_object_focus_set(ec->frame, 1);
1951 evas_object_raise(ec->frame);
1952 evas_object_focus_set(ec->frame, 1);
1953 }
1954 ec->changes.visible = 0;
1955 rem_change = 1;
1956 _e_client_event_simple(ec, E_EVENT_CLIENT_SHOW);
1957 } 1954 }
1955 ec->changes.visible = 0;
1956 rem_change = 1;
1957 _e_client_event_simple(ec, E_EVENT_CLIENT_SHOW);
1958 } 1958 }
1959 else if ((ec->changes.visible) && (ec->new_client)) 1959 else if ((ec->changes.visible) && (ec->new_client))
1960 { 1960 {