//-----------------------------------------------------------------------------
 
 extern "C" {
-static gint
+static void
 gtk_glwindow_realized_callback( GtkWidget *WXUNUSED(widget), wxGLCanvas *win )
 {
     win->GTKInitImplicitContext();
-
-    return FALSE;
 }
 }
 
 //-----------------------------------------------------------------------------
 
 extern "C" {
-static gint
+static void
 gtk_glwindow_map_callback( GtkWidget * WXUNUSED(widget), wxGLCanvas *win )
 {
     wxPaintEvent event( win->GetId() );
 
     win->m_exposed = false;
     win->GetUpdateRegion().Clear();
-
-    return FALSE;
 }
 }
 
                        const wxPalette& palette)
     : m_createImplicitContext(true)
 {
+    m_sharedContext = NULL;
+    m_sharedContextOf = NULL;
+
     Create(parent, id, pos, size, style, name, attribList, palette);
 }
 
                        const wxPalette& palette )
     : m_createImplicitContext(true)
 {
+    m_sharedContext = NULL;
     m_sharedContextOf = wx_const_cast(wxGLCanvas *, shared);
 
     Create(parent, id, pos, size, style, name, attribList, palette);
 
     wxWindow::Create( parent, id, pos, size, style, name );
 
-    m_glWidget = m_wxwindow;
-
-    gtk_widget_set_double_buffered( m_glWidget, FALSE );
+    gtk_widget_set_double_buffered(m_wxwindow, false);
 
 #if WXWIN_COMPATIBILITY_2_8
     g_signal_connect(m_wxwindow, "realize",       G_CALLBACK(gtk_glwindow_realized_callback), this);