]> git.saurik.com Git - wxWidgets.git/blobdiff - src/gtk1/glcanvas.cpp
Missing header.
[wxWidgets.git] / src / gtk1 / glcanvas.cpp
index 1556694fe8bd5ca0eb41a328ad1248ee88c1fcab..30def50299b230e24012f482a069955edb10bbee 100644 (file)
@@ -160,8 +160,6 @@ wxPalette wxGLContext::CreateDefaultPalette()
 static gint
 gtk_glwindow_realized_callback( GtkWidget * WXUNUSED(widget), wxGLCanvas *win )
 {
-    // VZ: apparently in some cases we're called twice -- no idea why,
-    //     but a check doesn't hurt
     if ( !win->m_glContext )
     {
         wxGLContext *share = win->m_sharedContext;
@@ -322,7 +320,7 @@ bool wxGLCanvas::Create( wxWindow *parent,
     wxCHECK_MSG( m_vi, FALSE, _T("required visual couldn't be found") );
 
     GdkVisual *visual = gdkx_visual_get( vi->visualid );
-    GdkColormap *colormap = gdk_colormap_new( gdkx_visual_get(vi->visualid), TRUE );
+    GdkColormap *colormap = gdk_colormap_new( visual, TRUE );
 
     gtk_widget_push_colormap( colormap );
     gtk_widget_push_visual( visual );
@@ -357,6 +355,9 @@ bool wxGLCanvas::Create( wxWindow *parent,
     gtk_widget_pop_visual();
     gtk_widget_pop_colormap();
 
+    // if our parent window is already visible, we had been realized before we
+    // connected to the "realize" signal and hence our m_glContext hasn't been
+    // initialized yet and we have to do it now
     if (GTK_WIDGET_REALIZED(m_wxwindow))
         gtk_glwindow_realized_callback( m_wxwindow, this );