aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMike Blumenkrantz <zmike@osg.samsung.com>2017-09-07 13:37:24 -0400
committerMike Blumenkrantz <zmike@osg.samsung.com>2017-09-07 14:15:48 -0400
commit3fc4c39bb4a105a8e5cf1d56ba8d3b8641fe0bb5 (patch)
tree274f9e5eaf39a2363d42093374cd2281a3da44e0
parentblock all desk flips during window resize (diff)
downloadenlightenment-3fc4c39bb4a105a8e5cf1d56ba8d3b8641fe0bb5.tar.gz
warp pointer to center of internal dialog on show if dialog has focus
ensure that pointer-based focus policies do not experience unexpected focus changes when a dialog changes from basic<->advanced ref https://phab.enlightenment.org/T1931
-rw-r--r--src/bin/e_dialog.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/bin/e_dialog.c b/src/bin/e_dialog.c
index 99aaed254..bec1b2fe0 100644
--- a/src/bin/e_dialog.c
+++ b/src/bin/e_dialog.c
@@ -264,6 +264,11 @@ e_dialog_show(E_Dialog *dia)
if (!e_widget_focus_get(dia->box_object))
e_widget_focus_set(dia->box_object, 1);
+ {
+ E_Client *ec = e_win_client_get(dia->win);
+ if (ec->focused && (e_config->pointer_slide || (!e_client_focus_policy_click(ec))))
+ e_client_pointer_warp_to_center_now(ec);
+ }
}
/* local subsystem functions */