[Glade-users] reparenting a GtkDrawingArea with OpenGl



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






[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]