summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Blumenkrantz <zmike@osg.samsung.com>2017-06-09 20:18:20 -0400
committerMike Blumenkrantz <zmike@osg.samsung.com>2017-06-09 20:18:13 -0400
commit9f48fd5a9c96a976369775e7cc502c7013b19df2 (patch)
tree44a5f8d6f4c3bcda960470b7d3c9ff3c9547b552
parentb98854b17bfb5f81f78e6551721176626793bfc7 (diff)
perform client raise before triggering move/resize BEGIN client hook
hooks may further modify stacking, so ensure any changes are done before that point
-rw-r--r--src/bin/e_client.c21
1 files changed, 11 insertions, 10 deletions
diff --git a/src/bin/e_client.c b/src/bin/e_client.c
index 9e1a0f1e3..c1370d7b9 100644
--- a/src/bin/e_client.c
+++ b/src/bin/e_client.c
@@ -807,6 +807,12 @@ _e_client_move_begin(E_Client *ec)
807 if (!_e_client_action_input_win_new()) return 0; 807 if (!_e_client_action_input_win_new()) return 0;
808 ec->moving = 1; 808 ec->moving = 1;
809 ecmove = ec; 809 ecmove = ec;
810 if (!ec->lock_user_stacking)
811 {
812 if (e_config->border_raise_on_mouse_action)
813 evas_object_raise(ec->frame);
814 }
815
810 _e_client_hook_call(E_CLIENT_HOOK_MOVE_BEGIN, ec); 816 _e_client_hook_call(E_CLIENT_HOOK_MOVE_BEGIN, ec);
811 if (!ec->moving) 817 if (!ec->moving)
812 { 818 {
@@ -814,11 +820,6 @@ _e_client_move_begin(E_Client *ec)
814 _e_client_action_input_win_del(); 820 _e_client_action_input_win_del();
815 return 0; 821 return 0;
816 } 822 }
817 if (!ec->lock_user_stacking)
818 {
819 if (e_config->border_raise_on_mouse_action)
820 evas_object_raise(ec->frame);
821 }
822 return 1; 823 return 1;
823} 824}
824 825
@@ -5131,6 +5132,11 @@ e_client_resize_begin(E_Client *ec)
5131 (ec->fullscreen) || (ec->lock_user_size)) 5132 (ec->fullscreen) || (ec->lock_user_size))
5132 goto error; 5133 goto error;
5133 if (!_e_client_action_input_win_new()) goto error; 5134 if (!_e_client_action_input_win_new()) goto error;
5135 if (!ec->lock_user_stacking)
5136 {
5137 if (e_config->border_raise_on_mouse_action)
5138 evas_object_raise(ec->frame);
5139 }
5134 ecresize = ec; 5140 ecresize = ec;
5135 _e_client_hook_call(E_CLIENT_HOOK_RESIZE_BEGIN, ec); 5141 _e_client_hook_call(E_CLIENT_HOOK_RESIZE_BEGIN, ec);
5136 if (!e_client_util_resizing_get(ec)) 5142 if (!e_client_util_resizing_get(ec))
@@ -5139,11 +5145,6 @@ e_client_resize_begin(E_Client *ec)
5139 _e_client_action_input_win_del(); 5145 _e_client_action_input_win_del();
5140 return EINA_FALSE; 5146 return EINA_FALSE;
5141 } 5147 }
5142 if (!ec->lock_user_stacking)
5143 {
5144 if (e_config->border_raise_on_mouse_action)
5145 evas_object_raise(ec->frame);
5146 }
5147 return EINA_TRUE; 5148 return EINA_TRUE;
5148error: 5149error:
5149 ec->resize_mode = E_POINTER_RESIZE_NONE; 5150 ec->resize_mode = E_POINTER_RESIZE_NONE;