From 8f26d33d11add72428d50378920a704dec240839 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Thu, 7 Sep 2017 13:37:24 -0400 Subject: [PATCH] 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 T1931 --- src/bin/e_dialog.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/bin/e_dialog.c b/src/bin/e_dialog.c index e3fdc2f06..e78b4ef8e 100644 --- a/src/bin/e_dialog.c +++ b/src/bin/e_dialog.c @@ -260,6 +260,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 */