cui/source/tabpages/page.cxx | 3 +++ vcl/unx/gtk3/gtk3gtkinst.cxx | 6 ++++-- 2 files changed, 7 insertions(+), 2 deletions(-)
New commits: commit 6af7bd87a64ddd93e3beef134914311eeac07373 Author: Caolán McNamara <caol...@redhat.com> AuthorDate: Sat Mar 16 21:46:54 2019 +0000 Commit: Caolán McNamara <caol...@redhat.com> CommitDate: Sun Mar 17 00:35:46 2019 +0100 Resolves: tdf#123650 explicitly grab focus after modification of the widget after gaining focus, otherwise gtk loses track of where the focus should be Change-Id: I90d9f36acf807aec8687c7f563449ef16d5eb574 Reviewed-on: https://gerrit.libreoffice.org/69355 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caol...@redhat.com> Tested-by: Caolán McNamara <caol...@redhat.com> diff --git a/cui/source/tabpages/page.cxx b/cui/source/tabpages/page.cxx index b7893372aa7f..2a51bc302d30 100644 --- a/cui/source/tabpages/page.cxx +++ b/cui/source/tabpages/page.cxx @@ -826,6 +826,9 @@ IMPL_LINK_NOARG(SvxPageDescPage, PaperBinHdl_Impl, weld::Widget&, void) } m_xPaperTrayBox->set_active_text(aOldName); m_xPaperTrayBox->thaw(); + // tdf#123650 explicitly grab-focus after the modification otherwise gtk loses track + // of there the focus should be + m_xPaperTrayBox->grab_focus(); } IMPL_LINK_NOARG(SvxPageDescPage, PaperSizeSelect_Impl, weld::ComboBox&, void) diff --git a/vcl/unx/gtk3/gtk3gtkinst.cxx b/vcl/unx/gtk3/gtk3gtkinst.cxx index 910c1cbc230a..84f13af7c1a6 100644 --- a/vcl/unx/gtk3/gtk3gtkinst.cxx +++ b/vcl/unx/gtk3/gtk3gtkinst.cxx @@ -1255,11 +1255,12 @@ protected: GtkWidget* m_pWidget; GtkInstanceBuilder* m_pBuilder; - static void signalFocusIn(GtkWidget*, GdkEvent*, gpointer widget) + static gboolean signalFocusIn(GtkWidget*, GdkEvent*, gpointer widget) { GtkInstanceWidget* pThis = static_cast<GtkInstanceWidget*>(widget); SolarMutexGuard aGuard; pThis->signal_focus_in(); + return false; } void signal_focus_in() @@ -1267,11 +1268,12 @@ protected: m_aFocusInHdl.Call(*this); } - static void signalFocusOut(GtkWidget*, GdkEvent*, gpointer widget) + static gboolean signalFocusOut(GtkWidget*, GdkEvent*, gpointer widget) { GtkInstanceWidget* pThis = static_cast<GtkInstanceWidget*>(widget); SolarMutexGuard aGuard; pThis->signal_focus_out(); + return false; } void signal_focus_out() _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits