Alexander Nagel wrote:
Hi all,
i have a little program with a gtkgl capable drawing area just like in
various example programs.
But i have a problem:
The first call of
GdkGLContext *glcontext = gtk_widget_get_gl_context (object);
GdkGLDrawable *gldrawable = gtk_widget_get_gl_drawable (object);
gdk_gl_drawable_gl_begin (gldrawable, glcontext)
in the configure_event callback always fails with this message:
GdkGLExt-CRITICAL **: file gdkgldrawable.c: line 141
(gdk_gl_drawable_gl_begin): assertion `GDK_IS_GL_DRAWABLE (gldrawable)'
failed
I guess you cant call that function till the widget is not realized.
After it has been realized, then it will work.
About the other problem, provide us your 'lspci' and 'glxinfo' output.
Had you tryed also to run glxgears?
Greeting,
Luca
Further calls of this function work normal.
I can avoid this by adding
if ( ! GDK_IS_GL_DRAWABLE( object ) ) return FALSE;
So far i didn't manage to anything opengl specific in the drawing area.
Even the simpliest thing like in simple.c in the gtkgl examples don't
work.
Is it normal that the first call fails?
Is this the reason that i can't render opengl things in the area?
Thanks for any hints
Alex
Here is the callback function
gboolean on_drawingarea1_configure_event (GtkWidget *object,
GdkEventConfigure *event, gpointer user_data)
{
GdkGLContext *glcontext;
GdkGLDrawable *gldrawable;
baf_log ("configure");
if (!GTK_WIDGET_REALIZED (object))
return FALSE;
if (!GDK_IS_GL_DRAWABLE(object))
return FALSE;
glcontext = gtk_widget_get_gl_context (object);
gldrawable = gtk_widget_get_gl_drawable (object);
if (!gdk_gl_drawable_gl_begin (gldrawable, glcontext))
{
g_print ("no draw in configure\n");
return FALSE;
}
baf_ogl->change_viewport (object->allocation.width,
object->allocation.height);
gdk_gl_drawable_gl_end (gldrawable);
return TRUE;
}
_______________________________________________
gtkglext-list mailing list
[email protected]
http://mail.gnome.org/mailman/listinfo/gtkglext-list
_______________________________________________
gtkglext-list mailing list
[email protected]
http://mail.gnome.org/mailman/listinfo/gtkglext-list