[Glade-users] reparenting a GtkDrawingArea with OpenGl

Tristan Van Berkom tristan.van.berkom at gmail.com
Fri May 15 16:42:18 EDT 2009


Out of curiosity, does it work if you use a notebook parent with hidden tabs ?
the notebook is slightly different as it remaps the child widgets and realizes
them once, only careful you may get bitten by the fact that the
invisible notebook
pages are never realized/mapped until shown.

Cheers,
         -Tristan

On Fri, May 15, 2009 at 4:01 PM, Jeff Eberl <jeffeb3 at gmail.com> wrote:
> I have  a window with two GtkDrawingArea's.  One is a map and one is a
> picture, I'm trying to swap the two windows with the click of a button.
> Surrounding each drawing is a bunch of buttons and things.
>
> This is how I reparent them:
>
> gtk_widget_ref(map_widget);
> gtk_widget_ref(pic_widget);
>
> gtk_container_remove(left_container, map_widget);
> gtk_container_remove(right_container, pic_widget);
>
> gtk_container_add(left_container, pic_widget);
> gtk_container_add(right_container, map_widget);
>
> gtk_widget_unref(map_widget);
> gtk_widget_unref(pic_widget);
>
> The buttons, the boxes, and everything in the widgets swaps out, but the
> next time I try to draw in either of them, the gdk_gl_drawable_gl_begin
> fails:
>
> GdkGKExt-CRITICAL **: gdk_gl_window_impl_x11_make_context_current: assertion
> 'GDK_IS_GL_CONTEXT_IMPL_X11 (glcontext)' failed
>
> So, that's a bummer.  I didn't write the code I'm using to instantiate the
> widgets, or draw the pic/map.  I'm wondering if maybe the problem is that
> the "realize" event gets called twice, but all the gdk setup stuff is
> actually in a different method, one that doesn't get called twice.  The
> realize callback doesn't really have anything in it.
>
> Any help would be appreciated.  I'm running in circles.
>
> Jeff
>
>
> _______________________________________________
> Glade-users maillist  -  Glade-users at lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/glade-users
>
>


More information about the Glade-users mailing list