summaryrefslogtreecommitdiffstats
path: root/src/desktop.cpp
diff options
context:
space:
mode:
authorMarc Jeanmougin <marc@jeanmougin.fr>2017-10-28 10:33:14 +0000
committerMarc Jeanmougin <marc@jeanmougin.fr>2017-10-28 10:33:14 +0000
commitfa9ae5fb7c249a4c96a06bfef905c73cbb17bc3d (patch)
tree8c06d1d61a79a74381cb75a925ef50dd598da8c2 /src/desktop.cpp
parentTrying libFuzzer (diff)
parentFix XML text parsing bug. (diff)
downloadinkscape-fa9ae5fb7c249a4c96a06bfef905c73cbb17bc3d.tar.gz
inkscape-fa9ae5fb7c249a4c96a06bfef905c73cbb17bc3d.zip
Merge branch 'master' of https://gitlab.com/inkscape/inkscape
Diffstat (limited to 'src/desktop.cpp')
-rw-r--r--src/desktop.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/desktop.cpp b/src/desktop.cpp
index c56c42267..2d1aa8829 100644
--- a/src/desktop.cpp
+++ b/src/desktop.cpp
@@ -1935,11 +1935,18 @@ 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<Glib::ustring, Glib::ustring>::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
}
}