Add some static assertions
authorMatthias Clasen <mclasen@redhat.com>
Tue, 21 Jan 2020 03:53:25 +0000 (22:53 -0500)
committerMatthias Clasen <mclasen@redhat.com>
Tue, 21 Jan 2020 03:54:26 +0000 (22:54 -0500)
Add assertions that ensure the relationships between
css property IDs that we rely on are preserved.

gtk/gtkcssstaticstyle.c
gtk/gtkcssstylepropertyimpl.c

index 24189fcd15b280620dcd61d251e5f0f1c8be87c2..0c6b8da04b89a8b66a76f24efe2c78ae07bd9006 100644 (file)
@@ -206,6 +206,12 @@ gtk_css_static_style_new_compute (GtkStyleProvider    *provider,
   return GTK_CSS_STYLE (result);
 }
 
+G_STATIC_ASSERT (GTK_CSS_PROPERTY_BORDER_TOP_STYLE == GTK_CSS_PROPERTY_BORDER_TOP_WIDTH - 1);
+G_STATIC_ASSERT (GTK_CSS_PROPERTY_BORDER_RIGHT_STYLE == GTK_CSS_PROPERTY_BORDER_RIGHT_WIDTH - 1);
+G_STATIC_ASSERT (GTK_CSS_PROPERTY_BORDER_BOTTOM_STYLE == GTK_CSS_PROPERTY_BORDER_BOTTOM_WIDTH - 1);
+G_STATIC_ASSERT (GTK_CSS_PROPERTY_BORDER_LEFT_STYLE == GTK_CSS_PROPERTY_BORDER_LEFT_WIDTH - 1);
+G_STATIC_ASSERT (GTK_CSS_PROPERTY_OUTLINE_STYLE == GTK_CSS_PROPERTY_OUTLINE_WIDTH - 1);
+
 void
 gtk_css_static_style_compute_value (GtkCssStaticStyle *style,
                                     GtkStyleProvider  *provider,
index ba65e3cbde7cd4a5e4d5fc1d994d1dc1c7ac921b..e5834b1dfdfb677c3c0429e3ff731727b6c9c20b 100644 (file)
@@ -921,6 +921,9 @@ icon_theme_value_parse (GtkCssStyleProperty *property,
 
 /*** REGISTRATION ***/
 
+G_STATIC_ASSERT (GTK_CSS_PROPERTY_COLOR == 0);
+G_STATIC_ASSERT (GTK_CSS_PROPERTY_DPI < GTK_CSS_PROPERTY_FONT_SIZE);
+
 void
 _gtk_css_style_property_init_properties (void)
 {