diff options
author | Florian Müllner <[email protected]> | 2011-01-04 19:43:18 +0100 |
---|---|---|
committer | Victor Kareh <[email protected]> | 2018-08-28 09:38:37 -0400 |
commit | 33c75c2a39c2f6da4a76a556e55f4a4a57aa7cd4 (patch) | |
tree | b294f2bd0adbfdb6bda754ddbec158608605de1c | |
parent | c9c3f858e28edf0856a263941007401923adbabd (diff) | |
download | marco-33c75c2a39c2f6da4a76a556e55f4a4a57aa7cd4.tar.bz2 marco-33c75c2a39c2f6da4a76a556e55f4a4a57aa7cd4.tar.xz |
theme-parser: Use peek_required_version() for validation
When validating button functions and frame styles, the required
format version of the features used in the theme was compared to
the major version number of the supported format, limiting additions
to major theme format bumps.
Use peek_required_version() instead, so the minor version number
of the supported theme format is taken into account.
https://bugzilla.gnome.org/show_bug.cgi?id=635683
-rw-r--r-- | src/ui/theme-parser.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/ui/theme-parser.c b/src/ui/theme-parser.c index e3c044f9..49fcd732 100644 --- a/src/ui/theme-parser.c +++ b/src/ui/theme-parser.c @@ -2975,6 +2975,7 @@ parse_style_element (GMarkupParseContext *context, const char *function = NULL; const char *state = NULL; const char *draw_ops = NULL; + gint required_version; if (!locate_attributes (context, element_name, attribute_names, attribute_values, error, @@ -2993,13 +2994,14 @@ parse_style_element (GMarkupParseContext *context, return; } + required_version = peek_required_version (info); if (meta_theme_earliest_version_with_button (info->button_type) > - info->theme->format_version) + (guint)required_version) { set_error (error, context, G_MARKUP_ERROR, G_MARKUP_ERROR_PARSE, _("Button function \"%s\" does not exist in this version (%d, need %d)"), function, - info->theme->format_version, + required_version, meta_theme_earliest_version_with_button (info->button_type) ); return; @@ -3940,7 +3942,7 @@ end_element_handler (GMarkupParseContext *context, g_assert (info->style); if (!meta_frame_style_validate (info->style, - info->theme->format_version, + peek_required_version (info), error)) { add_context_to_error (error, context); |