Skip to content
Permalink
Browse files

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
  • Loading branch information...
Florian Müllner authored and vkareh committed Jan 4, 2011
1 parent c9c3f85 commit 33c75c2a39c2f6da4a76a556e55f4a4a57aa7cd4
Showing with 5 additions and 3 deletions.
  1. +5 −3 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);

0 comments on commit 33c75c2

Please sign in to comment.
You can’t perform that action at this time.