summaryrefslogtreecommitdiff
path: root/src/cr-sel-eng.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/cr-sel-eng.c')
-rw-r--r--src/cr-sel-eng.c33
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*/