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
This commit is contained in:
Mike Blumenkrantz 2017-09-07 13:37:24 -04:00
parent ef3ee4b258
commit 8f26d33d11
1 changed files with 5 additions and 0 deletions

View File

@ -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 */