summaryrefslogtreecommitdiffstats
path: root/src/extension/prefdialog/parameter-notebook.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/extension/prefdialog/parameter-notebook.cpp')
-rw-r--r--src/extension/prefdialog/parameter-notebook.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/extension/prefdialog/parameter-notebook.cpp b/src/extension/prefdialog/parameter-notebook.cpp
index a90935ca1..050c84f0d 100644
--- a/src/extension/prefdialog/parameter-notebook.cpp
+++ b/src/extension/prefdialog/parameter-notebook.cpp
@@ -15,6 +15,8 @@
#include "parameter-notebook.h"
+#include <unordered_set>
+
#include <gtkmm/box.h>
#include <gtkmm/notebook.h>
@@ -133,6 +135,17 @@ ParamNotebook::ParamNotebook(Inkscape::XML::Node *xml, Inkscape::Extension::Exte
g_warning("No (valid) pages for parameter '%s' in extension '%s'", _name, _extension->get_id());
}
+ // check for duplicate page names
+ std::unordered_set<std::string> names;
+ for (auto child : _children) {
+ ParamNotebookPage *page = static_cast<ParamNotebookPage *>(child);
+ auto ret = names.emplace(page->_name);
+ if (!ret.second) {
+ g_warning("Duplicate page name ('%s') for parameter '%s' in extension '%s'.",
+ page->_name, _name, _extension->get_id());
+ }
+ }
+
// get value (initialize with value of first page if pref is empty)
Inkscape::Preferences *prefs = Inkscape::Preferences::get();
_value = prefs->getString(pref_name());