diff --git a/gtk/gtkcssprovider.c b/gtk/gtkcssprovider.c index 0d0d551e19..6d5217df7c 100644 --- a/gtk/gtkcssprovider.c +++ b/gtk/gtkcssprovider.c @@ -735,6 +735,7 @@ typedef struct SelectorElement SelectorElement; typedef struct SelectorPath SelectorPath; typedef struct SelectorStyleInfo SelectorStyleInfo; +typedef struct _GtkCssScannerPrivate GtkCssScannerPrivate; typedef enum SelectorElementType SelectorElementType; typedef enum CombinatorType CombinatorType; typedef enum ParserScope ParserScope; @@ -785,6 +786,11 @@ struct SelectorStyleInfo GHashTable *style; }; +struct _GtkCssScannerPrivate +{ + int unused; +}; + struct _GtkCssProviderPrivate { GScanner *scanner; @@ -1093,16 +1099,23 @@ selector_style_info_set_style (SelectorStyleInfo *info, static void gtk_css_scanner_destroy (GScanner *scanner) { + GtkCssScannerPrivate *priv = scanner->user_data; + + g_slice_free (GtkCssScannerPrivate, priv); + g_scanner_destroy (scanner); } static GScanner * gtk_css_provider_create_scanner (GtkCssProvider *provider) { + GtkCssScannerPrivate *priv; GScanner *scanner; scanner = g_scanner_new (NULL); + priv = scanner->user_data = g_slice_new0 (GtkCssScannerPrivate); + g_scanner_scope_add_symbol (scanner, SCOPE_PSEUDO_CLASS, "active", GUINT_TO_POINTER (GTK_STATE_ACTIVE)); g_scanner_scope_add_symbol (scanner, SCOPE_PSEUDO_CLASS, "prelight", GUINT_TO_POINTER (GTK_STATE_PRELIGHT)); g_scanner_scope_add_symbol (scanner, SCOPE_PSEUDO_CLASS, "hover", GUINT_TO_POINTER (GTK_STATE_PRELIGHT));