Index: gtkglarea-sharp-0.0.17/gtkglarea/GLArea.custom
===================================================================
--- gtkglarea-sharp-0.0.17/gtkglarea/GLArea.custom	(revision 91086)
+++ gtkglarea-sharp-0.0.17/gtkglarea/GLArea.custom	(working copy)
@@ -6,3 +6,15 @@
 			// C.J. Was Here.
 			Raw = gtk_gl_area_new(attrList);
 		}
+
+		[DllImport("libgtkglarea-win32-2.0-0.dll")]
+		static extern IntPtr gtk_gl_area_share_new(int[] attrList, IntPtr share);
+
+		/* Create a sharing GL context */
+		public GLArea (System.Int32[] attrList, GLArea share) : base (IntPtr.Zero)
+		{
+			if(share == null)
+				Raw = gtk_gl_area_new(attrList);
+			else
+				Raw = gtk_gl_area_share_new(attrList, share.Handle);
+		}
Index: gtkglarea-sharp-0.0.17/gtkglarea/generated/GLArea.cs
===================================================================
--- gtkglarea-sharp-0.0.17/gtkglarea/generated/GLArea.cs	(revision 91086)
+++ gtkglarea-sharp-0.0.17/gtkglarea/generated/GLArea.cs	(working copy)
@@ -93,6 +93,18 @@
 			Raw = gtk_gl_area_new(attrList);
 		}
 
+		[DllImport("libgtkglarea-win32-2.0-0.dll")]
+		static extern IntPtr gtk_gl_area_share_new(int[] attrList, IntPtr share);
+
+		/* Create a sharing GL context */
+		public GLArea (System.Int32[] attrList, GLArea share) : base (IntPtr.Zero)
+		{
+			if(share == null)
+				Raw = gtk_gl_area_new(attrList);
+			else
+				Raw = gtk_gl_area_share_new(attrList, share.Handle);
+		}
+
 #endregion
 	}
 }
