diff options
Diffstat (limited to 'src/cr-sel-eng.c')
-rw-r--r-- | src/cr-sel-eng.c | 33 |
1 files changed, 24 insertions, 9 deletions
diff --git a/src/cr-sel-eng.c b/src/cr-sel-eng.c index bfa61ea..92de775 100644 --- a/src/cr-sel-eng.c +++ b/src/cr-sel-eng.c @@ -1195,10 +1195,18 @@ put_css_properties_in_props_list (CRPropList **a_props, < a_stmt->parent_sheet->origin)) { - cr_prop_list_set_prop (pair, - cur_decl->property) ; - cr_prop_list_set_decl (pair, - cur_decl) ; + tmp_props = cr_prop_list_unlink + (props, pair) ; + if (!tmp_props) + { + cr_utils_trace_info ("tmp_props != NULL failed") ; + continue ; + } + props = tmp_props ; + tmp_props = NULL ; + cr_prop_list_append2 (props, + cur_decl->property, + cur_decl) ; continue ; } else if (decl->parent_statement @@ -1227,11 +1235,18 @@ put_css_properties_in_props_list (CRPropList **a_props, if (a_stmt->specificity >= decl->parent_statement->specificity) { - - cr_prop_list_set_prop (pair, - cur_decl->property) ; - cr_prop_list_set_decl (pair, - cur_decl) ; + tmp_props = cr_prop_list_unlink (props, + pair) ; + if (!tmp_props) + { + cr_utils_trace_info ("tmp_props != NULL failed") ; + continue ; + } + props = tmp_props ; + tmp_props = NULL ; + cr_prop_list_append2 (props, + cur_decl->property, + cur_decl) ; } } /*TODO: this may leak. Check this out*/ |