From cdb5052c77519ed176427244a41873b59733a4f9 Mon Sep 17 00:00:00 2001 From: Alexander Valavanis Date: Sun, 27 Jan 2019 11:53:05 +0000 Subject: Toolbars: Fix alt+x focus switching --- src/widgets/desktop-widget.cpp | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'src/widgets/desktop-widget.cpp') diff --git a/src/widgets/desktop-widget.cpp b/src/widgets/desktop-widget.cpp index 9db8b2af4..aa29294f5 100644 --- a/src/widgets/desktop-widget.cpp +++ b/src/widgets/desktop-widget.cpp @@ -1515,10 +1515,17 @@ void SPDesktopWidget::layoutWidgets() void SPDesktopWidget::setToolboxFocusTo (const gchar* label) { - gpointer hb = sp_search_by_data_recursive(aux_toolbox, (gpointer) label); - if (hb && GTK_IS_WIDGET(hb)) + // First try looking for a named widget + auto hb = sp_search_by_name_recursive(Glib::wrap(aux_toolbox), label); + + // Fallback to looking for a named data member (deprecated) + if (!hb) { + hb = Glib::wrap(GTK_WIDGET(sp_search_by_data_recursive(aux_toolbox, (gpointer) label))); + } + + if (hb) { - gtk_widget_grab_focus(GTK_WIDGET(hb)); + hb->grab_focus(); } } -- cgit v1.2.3