2008-01-17 Mike Kestner <mkestner@novell.com>

* glib/Object.cs: remove ref from Objects hash prior to releasing it.

2008-01-17  Mike Kestner  <mkestner@novell.com>

	* glib/ToggleRef.cs: check for null reference in IsAlive.

svn path=/trunk/gtk-sharp/; revision=93204
This commit is contained in:
Mike Kestner 2008-01-17 21:10:25 +00:00
parent f53935b65d
commit 5ccb3ccd2f
3 changed files with 13 additions and 4 deletions

View File

@ -1,3 +1,11 @@
2008-01-17 Mike Kestner <mkestner@novell.com>
* glib/Object.cs: remove ref from Objects hash prior to releasing it.
2008-01-17 Mike Kestner <mkestner@novell.com>
* glib/ToggleRef.cs: check for null reference in IsAlive.
2008-01-17 Mike Kestner <mkestner@novell.com>
* generator/Property.cs: missing Parent null check needed for direct

View File

@ -79,15 +79,15 @@ namespace GLib {
return;
disposed = true;
ToggleRef toggle_ref = Objects [Handle] as ToggleRef;
Objects.Remove (Handle);
try {
ToggleRef toggle_ref = Objects [Handle] as ToggleRef;
if (toggle_ref != null)
toggle_ref.Free ();
} catch (Exception e) {
Console.WriteLine ("Exception while disposing a " + this + " in Gtk#");
throw e;
}
Objects.Remove (Handle);
handle = IntPtr.Zero;
GC.SuppressFinalize (this);
}
@ -296,9 +296,9 @@ namespace GLib {
if (handle != IntPtr.Zero) {
ToggleRef tref = Objects [handle] as ToggleRef;
Objects.Remove (handle);
if (tref != null)
tref.Free ();
Objects.Remove (handle);
}
handle = value;
if (value != IntPtr.Zero)

View File

@ -44,7 +44,8 @@ namespace GLib {
if (reference is WeakReference) {
WeakReference weak = reference as WeakReference;
return weak.IsAlive;
}
} else if (reference == null)
return false;
return true;
}
}