From c8666174565f985a966c9e6ae292f54dda5377c3 Mon Sep 17 00:00:00 2001 From: Tavmjong Bah Date: Fri, 27 Oct 2017 10:47:37 +0200 Subject: Try to ensure that panels are created with the correct desktop. Fixes bug #1720096. (Crash under Wayland in gdl code.) --- src/desktop.cpp | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src/desktop.cpp') diff --git a/src/desktop.cpp b/src/desktop.cpp index c56c42267..d8f11a09c 100644 --- a/src/desktop.cpp +++ b/src/desktop.cpp @@ -1936,10 +1936,16 @@ SPDesktop::show_dialogs() mapVerbPreference.insert(std::make_pair ("ObjectsPanel", "/dialogs/objects") ); mapVerbPreference.insert(std::make_pair ("TagsPanel", "/dialogs/tags") ); + for (std::map::const_iterator iter = mapVerbPreference.begin(); iter != mapVerbPreference.end(); ++iter) { Glib::ustring pref = iter->second; int visible = prefs->getInt(pref + "/visible", 0); if (visible) { + + // Try to ensure that the panel is created attached to the correct desktop (bug 1720096). + // There must be a better way of handling this problem! + INKSCAPE.activate_desktop(this); + _dlg_mgr->showDialog(iter->first.c_str(), false); // without grabbing focus, we need focus to remain on the canvas } } -- cgit v1.2.3 From a00c71b8589567f01ae95ee7a1c8263f97126be9 Mon Sep 17 00:00:00 2001 From: Tavmjong Bah Date: Fri, 27 Oct 2017 10:51:47 +0200 Subject: Enable reopening of Prototype dialog on startup. --- src/desktop.cpp | 1 + 1 file changed, 1 insertion(+) (limited to 'src/desktop.cpp') diff --git a/src/desktop.cpp b/src/desktop.cpp index d8f11a09c..2d1aa8829 100644 --- a/src/desktop.cpp +++ b/src/desktop.cpp @@ -1935,6 +1935,7 @@ SPDesktop::show_dialogs() mapVerbPreference.insert(std::make_pair ("Symbols", "/dialogs/symbols") ); mapVerbPreference.insert(std::make_pair ("ObjectsPanel", "/dialogs/objects") ); mapVerbPreference.insert(std::make_pair ("TagsPanel", "/dialogs/tags") ); + mapVerbPreference.insert(std::make_pair ("Prototype", "/dialogs/prototype") ); for (std::map::const_iterator iter = mapVerbPreference.begin(); iter != mapVerbPreference.end(); ++iter) { -- cgit v1.2.3