diff --git a/ChangeLog b/ChangeLog index 1b41ce49f..fff86064d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2004-01-27 Mike Kestner + + * glib/Value.cs : only g_free values we allocate. + [Fixes #51180] + 2004-01-27 Mike Kestner * glib/TypeConverter.cs : lookup GTypes for boxed value types. diff --git a/glib/Value.cs b/glib/Value.cs index 1987a3abc..ae5a42b7d 100755 --- a/glib/Value.cs +++ b/glib/Value.cs @@ -22,6 +22,7 @@ namespace GLib { public class Value : IDisposable { IntPtr _val; + bool needs_dispose = true; // Destructor is required since we are allocating unmanaged @@ -42,7 +43,8 @@ namespace GLib { ManagedValue.Free (g_value_get_boxed (_val)); } - g_free (_val); + if (needs_dispose) + g_free (_val); _val = IntPtr.Zero; } @@ -67,6 +69,7 @@ namespace GLib { public Value (IntPtr val, IntPtr dummy) { _val = val; + needs_dispose = false; } ///