From 20d764bb6fe1f836b3ed476937e579b10d8b300c Mon Sep 17 00:00:00 2001
From: Marek Habersack <grendel@twistedcode.net>
Date: Tue, 8 Apr 2008 20:59:34 +0000
Subject: [PATCH] 2008-04-08  Marek Habersack  <mhabersack@novell.com>

	* generator/InterfaceGen.cs: added a check for null obj in the
	generated GetObject method.

svn path=/trunk/gtk-sharp/; revision=100145
---
 ChangeLog                 | 5 +++++
 generator/InterfaceGen.cs | 4 +++-
 2 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/ChangeLog b/ChangeLog
index c2b592614..6b8023946 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2008-04-08  Marek Habersack  <mhabersack@novell.com>
+
+	* generator/InterfaceGen.cs: added a check for null obj in the
+	generated GetObject method.
+
 2008-04-04  Mike Kestner  <mkestner@novell.com>
 
 	* atk/Atk.metadata: add a few more owned refs.
diff --git a/generator/InterfaceGen.cs b/generator/InterfaceGen.cs
index bbc79342d..e63fcd50e 100644
--- a/generator/InterfaceGen.cs
+++ b/generator/InterfaceGen.cs
@@ -209,7 +209,9 @@ namespace GtkSharp.Generation {
 			sw.WriteLine ("\t\tpublic static " + Name + " GetObject (IntPtr handle, bool owned)");
 			sw.WriteLine ("\t\t{");
 			sw.WriteLine ("\t\t\tGLib.Object obj = GLib.Object.GetObject (handle, owned);");
-			sw.WriteLine ("\t\t\tif (obj is " + Name + "Implementor)");
+			sw.WriteLine ("\t\t\tif (obj == null)");
+			sw.WriteLine ("\t\t\t\treturn null;");
+			sw.WriteLine ("\t\t\telse if (obj is " + Name + "Implementor)");
 			sw.WriteLine ("\t\t\t\treturn new {0}Adapter (obj as {0}Implementor);", Name);
 			sw.WriteLine ("\t\t\telse if (obj as " + Name + " == null)");
 			sw.WriteLine ("\t\t\t\treturn new {0}Adapter (obj.Handle);", Name);