diff --git a/glib/gdataset.c b/glib/gdataset.c index b29042c54..66b50e22e 100644 --- a/glib/gdataset.c +++ b/glib/gdataset.c @@ -1371,12 +1371,12 @@ g_datalist_id_replace_data (GData **datalist, } } } - - if (val == NULL && oldval == NULL && newval != NULL) + else { - if (datalist_append (&d, key_id, newval, destroy)) + if (oldval == NULL && newval != NULL) { - set_d = TRUE; + if (datalist_append (&d, key_id, newval, destroy)) + set_d = TRUE; } }