[librsvg] Support .class.#id selector.
- From: Hiroyuki Ikezoe <hiikezoe src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [librsvg] Support .class.#id selector.
- Date: Wed, 14 Apr 2010 23:02:55 +0000 (UTC)
commit a2ee8b0a87b946fef724986ecf4c500a7d414556
Author: Hiroyuki Ikezoe <poincare ikezoe net>
Date: Wed Apr 14 16:07:28 2010 +0900
Support .class.#id selector.
Fix for bug #615715.
rsvg-styles.c | 19 +++++++++++++------
1 files changed, 13 insertions(+), 6 deletions(-)
---
diff --git a/rsvg-styles.c b/rsvg-styles.c
index 61502f4..7125216 100644
--- a/rsvg-styles.c
+++ b/rsvg-styles.c
@@ -1316,16 +1316,23 @@ rsvg_parse_style_attrs (RsvgHandle * ctx,
while (j < i && !g_ascii_isspace (klazz[j]))
g_string_append_c (klazz_list, klazz[j++]);
- /* tag.class */
- if (tag != NULL && klazz_list->len != 1) {
- target = g_strdup_printf ("%s%s", tag, klazz_list->str);
+ /* tag.class#id */
+ if (tag != NULL && klazz_list->len != 1 && id != NULL) {
+ target = g_strdup_printf ("%s%s#%s", tag, klazz_list->str, id);
found = found || rsvg_lookup_apply_css_style (ctx, target, state);
g_free (target);
}
- /* tag.class#id */
- if (tag != NULL && klazz_list->len != 1 && id != NULL) {
- target = g_strdup_printf ("%s%s#%s", tag, klazz_list->str, id);
+ /* class#id */
+ if (klazz_list->len != 1 && id != NULL) {
+ target = g_strdup_printf ("%s#%s", klazz_list->str, id);
+ found = found || rsvg_lookup_apply_css_style (ctx, target, state);
+ g_free (target);
+ }
+
+ /* tag.class */
+ if (tag != NULL && klazz_list->len != 1) {
+ target = g_strdup_printf ("%s%s", tag, klazz_list->str);
found = found || rsvg_lookup_apply_css_style (ctx, target, state);
g_free (target);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]