title: Gtk, Glade and OpenGL issue
body: <p>I've got some problems with Gtk+, Glade and GtkGlext.</p>
  
  <p>The code:</p>
  
  <pre><code>#include &lt;gtk-2.0/gtk/gtk.h&gt;
  #include &lt;gtkglext-1.0/gtk/gtkgl.h&gt;
  #include &lt;GL/gl.h&gt;
  
  GtkBuilder* mBuilder;
  GtkWidget* mWindow;
  GtkWidget* mAbout;
  GtkWidget* mGlArea;
  GdkGLConfig *mGlConfig;
  GdkGLConfigMode mGlConfigMode;
  
  extern "C" G_MODULE_EXPORT void on_window_destroy(GtkObject *object, gpointer user_data)
  {
      gtk_main_quit();
  }
  
  extern "C" G_MODULE_EXPORT void on_menuHelpAbout_activate(GtkObject *object, gpointer user_data)
  {            
      gtk_widget_show(mAbout);
  }
  
  extern "C" G_MODULE_EXPORT void on_aboutdialog1_close(GtkObject *object, gpointer user_data)
  {
      gtk_widget_hide(mAbout);
  }
  
  extern "C" G_MODULE_EXPORT void configure(GtkWidget *drawarea, GdkEventConfigure *event, gpointer user_data)
  {
      printf("%x\n", drawarea);
      GdkGLContext *mGlContext = gtk_widget_get_gl_context(drawarea);
      GdkGLDrawable *mGlDrawable = gtk_widget_get_gl_drawable(drawarea);
  
      gdk_gl_drawable_gl_begin(mGlDrawable, mGlContext);
  
      glLoadIdentity();   
      glClearColor(0.0f, 0.0f, 0.0f, 1.0f);
  
      gdk_gl_drawable_gl_end(mGlDrawable);
  }
  
  extern "C" G_MODULE_EXPORT void expose(GtkWidget *drawarea, GdkEventExpose *event, gpointer user_data)
  {
      GdkGLContext *mGlContext = gtk_widget_get_gl_context(drawarea);
      GdkGLDrawable *mGlDrawable = gtk_widget_get_gl_drawable(drawarea);
  
      gdk_gl_drawable_gl_begin(mGlDrawable, mGlContext);
  
      glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT);
      glLoadIdentity();
  
      gdk_gl_drawable_swap_buffers(mGlDrawable);
  
      gdk_gl_drawable_gl_end(mGlDrawable);
  }
  
  int main(int argc, char *argv[])
  {
      gtk_init(&amp;argc, &amp;argv);
      gtk_gl_init(&amp;argc, &amp;argv);
  
      mBuilder = gtk_builder_new();
      gtk_builder_add_from_file(mBuilder, "editor.xml", NULL);
      mWindow = GTK_WIDGET(gtk_builder_get_object(mBuilder, "window"));
      mAbout = GTK_WIDGET(gtk_builder_get_object(mBuilder, "aboutdialog1"));
      mGlArea = GTK_WIDGET(gtk_builder_get_object(mBuilder, "drawingarea1"));
      gtk_widget_set_events(mGlArea, GDK_EXPOSURE_MASK);
      gtk_builder_connect_signals(mBuilder, NULL);
  
      g_object_unref(G_OBJECT(mBuilder));
  
      gtk_widget_show(mWindow);
  
      if(gtk_widget_get_realized(mGlArea))
      {
          gtk_widget_unrealize(mGlArea);
      }
  
      mGlConfigMode = (GdkGLConfigMode)(GDK_GL_MODE_RGB | GDK_GL_MODE_DEPTH | GDK_GL_MODE_DOUBLE | GDK_GL_MODE_STENCIL);
  
      mGlConfig = gdk_gl_config_new_by_mode(mGlConfigMode);
      if(!mGlConfig)
      {
          printf("Error: Can't get OpenGL configuration\n");
      }
  
      if(!gtk_widget_set_gl_capability(mGlArea, mGlConfig, NULL, TRUE, GDK_GL_RGBA_TYPE))
      {
          printf("Error: Can't set OpenGL capability to drawable area\n");
      }
  
      g_signal_connect(mGlArea, "configure-event", G_CALLBACK(configure), NULL);
      g_signal_connect(mGlArea, "expose-event", G_CALLBACK(expose), NULL);
  
      gtk_widget_show_all(mWindow);
  
      gtk_main();
  
      return 0;
  }
  </code></pre>
  
  <p>I actually don't know why I get segmentation fault at line 30, as address seems valid and initialization of OpenGL is successful. Could anyone point me in right direction?</p>