css selector: Use the quarks we have

Unless I'm missing something, there is no reason to go from
quarks back to strings to implement hasing or comparison.
This commit is contained in:
Matthias Clasen
2015-09-09 00:38:48 -04:00
parent c8072c89ba
commit 0e86278fcc

View File

@ -36,7 +36,7 @@ struct _GtkCssSelectorClass {
void (* print) (const GtkCssSelector *selector, void (* print) (const GtkCssSelector *selector,
GString *string); GString *string);
/* NULL or an iterator that calls func with each submatcher of @matcher. /* NULL or an iterator that calls func with each submatcher of @matcher.
* Potentially no submatcher exissts. * Potentially no submatcher exists.
* If any @invocation of @func returns %TRUE, the function will immediately * If any @invocation of @func returns %TRUE, the function will immediately
* return %TRUE itself. If @func never returns %TRUE (or isn't called at all), * return %TRUE itself. If @func never returns %TRUE (or isn't called at all),
* %FALSE will be returned. * %FALSE will be returned.
@ -798,15 +798,14 @@ match_class (const GtkCssSelector *selector,
static guint static guint
hash_class (const GtkCssSelector *a) hash_class (const GtkCssSelector *a)
{ {
return g_str_hash (g_quark_to_string (a->style_class.style_class)); return a->style_class.style_class;
} }
static int static int
comp_class (const GtkCssSelector *a, comp_class (const GtkCssSelector *a,
const GtkCssSelector *b) const GtkCssSelector *b)
{ {
return strcmp (g_quark_to_string (a->style_class.style_class), return a->style_class.style_class - b->style_class.style_class;
g_quark_to_string (b->style_class.style_class));
} }
DEFINE_SIMPLE_SELECTOR(class, CLASS, print_class, match_class, hash_class, comp_class, FALSE, TRUE, FALSE) DEFINE_SIMPLE_SELECTOR(class, CLASS, print_class, match_class, hash_class, comp_class, FALSE, TRUE, FALSE)