diff options
| author | Patrick Storz <eduard.braun2@gmx.de> | 2019-09-07 20:24:44 +0000 |
|---|---|---|
| committer | Patrick Storz <eduard.braun2@gmx.de> | 2019-09-07 20:24:44 +0000 |
| commit | 80b40def43613f64e765f1e282fa939bd94f92af (patch) | |
| tree | 17852c4684cc5e4f78852950ce838989212a639a /src/extension/prefdialog/parameter-optiongroup.cpp | |
| parent | Write out 'x' and 'y' attribute values to repr when some text property value ... (diff) | |
| download | inkscape-80b40def43613f64e765f1e282fa939bd94f92af.tar.gz inkscape-80b40def43613f64e765f1e282fa939bd94f92af.zip | |
Extensions: Handle optiongroup options without value
We use the user visible GUI text as value in this case, which may or
may not be translated.
For backwards-compatibility with enum items use the untranslated
value instead, if one of the deprecated tag-names is found.
Fixes https://gitlab.com/inkscape/inkscape/issues/399
Diffstat (limited to 'src/extension/prefdialog/parameter-optiongroup.cpp')
| -rw-r--r-- | src/extension/prefdialog/parameter-optiongroup.cpp | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/src/extension/prefdialog/parameter-optiongroup.cpp b/src/extension/prefdialog/parameter-optiongroup.cpp index e3f655dde..232c35315 100644 --- a/src/extension/prefdialog/parameter-optiongroup.cpp +++ b/src/extension/prefdialog/parameter-optiongroup.cpp @@ -302,8 +302,17 @@ ParamOptionGroup::ParamOptionGroupOption::ParamOptionGroupOption(Inkscape::XML:: if (value) { _value = value; } else { - g_warning("Missing value for option '%s' of parameter '%s' in extension '%s'.", - _text.c_str(), parent->_name, _extension->get_id()); + if (text) { + const char *name = xml->name(); + if (!strcmp(name, INKSCAPE_EXTENSION_NS "item") || !strcmp(name, INKSCAPE_EXTENSION_NS "_item")) { + _value = text; // use untranslated UI text as value (for backwards-compatibility) + } else { + _value = _text; // use translated UI text as value + } + } else { + g_warning("Missing value for option '%s' of parameter '%s' in extension '%s'.", + _text.c_str(), parent->_name, _extension->get_id()); + } } } |
