From 7c5686cababd1d573c27939e4895ab0ed8757970 Mon Sep 17 00:00:00 2001 From: Michael Natterer Date: Wed, 25 Apr 2007 08:57:34 +0000 Subject: [PATCH] Merge from trunk: 2007-04-25 Michael Natterer Merge from trunk: * gparamspecs.c (param_string_validate): also clear the NOCOPY_CONTENTS flag when replacing NULL with the empty string. svn path=/branches/glib-2-12/; revision=5459 --- ChangeLog | 4 ---- gobject/ChangeLog | 15 +++++++++++++++ gobject/gparamspecs.c | 3 ++- 3 files changed, 17 insertions(+), 5 deletions(-) diff --git a/ChangeLog b/ChangeLog index 6fda9146b..ecac75a9b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -2,10 +2,6 @@ Merge from trunk: - * gobject/gparamspecs.c (param_string_validate): don't free or - modify static strings, dup them when needed and clear the - G_VALUE_NOCOPY_CONTENTS flag. Fixes bug #432895. - * tests/gobject/paramspec-test.c: test all GParamSpecString validations with static and allocated strings. diff --git a/gobject/ChangeLog b/gobject/ChangeLog index 617d959b1..2fb23557c 100644 --- a/gobject/ChangeLog +++ b/gobject/ChangeLog @@ -1,3 +1,18 @@ +2007-04-25 Michael Natterer + + Merge from trunk: + + * gparamspecs.c (param_string_validate): also clear the + NOCOPY_CONTENTS flag when replacing NULL with the empty string. + +2007-04-24 Michael Natterer + + Merge from trunk: + + * gparamspecs.c (param_string_validate): don't free or modify + static strings, dup them when needed and clear the + G_VALUE_NOCOPY_CONTENTS flag. Fixes bug #432895. + 2007-03-08 Matthias Clasen * === Released 2.12.11 === diff --git a/gobject/gparamspecs.c b/gobject/gparamspecs.c index ea502b3d3..5ba897711 100644 --- a/gobject/gparamspecs.c +++ b/gobject/gparamspecs.c @@ -665,11 +665,12 @@ param_string_validate (GParamSpec *pspec, } if (sspec->ensure_non_null && !string) { + value->data[1].v_uint &= ~G_VALUE_NOCOPY_CONTENTS; value->data[0].v_pointer = g_strdup (""); changed++; string = value->data[0].v_pointer; } - + return changed; }