Hi all,

Newbie here. I am trying to create an opengl canvas for our gtk app ui (one
of many interfaces) and am having little luck. I have followed the example
laid out in template.c in order to try and create a "canvas" area but am
consistently getting a segfault when (as per the example configure-event
handler) I call gtk_widget_get_gl_context().
I've built the libraries from source on fc7 (not too sure if that is
relevant).
Below is the output from a ddd session, with some content coming from
setting debug output on glext, some is mine (but based on calls to glglext
functions)

I hope someone might be able to see something out of the ordinary..?

GNU DDD 3.3.11 (i686-redhat-linux-gnu), by Dorothea Lütkehaus and Andreas
Zeller.
Copyright © 1995-1999 Technische Universität Braunschweig, Germany.
Copyright © 1999-2001 Universität Passau, Germany.
Copyright © 2001 Universität des Saarlandes, Germany.
Copyright © 2001-2004 Free Software Foundation, Inc.
Using host libthread_db library "/lib/libthread_db.so.1".
(gdb) break gtk_canvas_configure_event
Breakpoint 1 at 0x805fd19: file uio_gtk.c, line 431.
(gdb) run -i gtk newtest_ui.u
[Thread debugging using libthread_db enabled]
[New Thread -1208350992 (LWP 5372)]
GdkGLExt-Message:  - gdk_gl_config_new ()
GdkGLExt-Message:  -- gdk_gl_config_new_common ()
GdkGLExt-Message:  -- Server GLX_VENDOR     : NVIDIA Corporation
GdkGLExt-Message:  -- Server GLX_VERSION    : 1.4
GdkGLExt-Message:  -- Server GLX_EXTENSIONS : GLX_EXT_visual_info
GLX_EXT_visual_rating GLX_SGIX_fbconfig GLX_SGIX_pbuffer GLX_SGI_video_sync
GLX_SGI_swap_control GLX_EXT_texture_from_pixmap GLX_ARB_multisample
GLX_NV_float_buffer
GdkGLExt-Message:  -- Client GLX_VENDOR     : NVIDIA Corporation
GdkGLExt-Message:  -- Client GLX_VERSION    : 1.4
GdkGLExt-Message:  -- Client GLX_EXTENSIONS : GLX_ARB_get_proc_address
GLX_ARB_multisample GLX_EXT_visual_info GLX_EXT_visual_rating
GLX_EXT_import_context GLX_SGI_video_sync GLX_NV_swap_group GLX_NV_video_out
GLX_SGIX_fbconfig GLX_SGIX_pbuffer GLX_SGI_swap_control GLX_NV_float_buffer
GLX_ARB_fbconfig_float GLX_EXT_fbconfig_packed_float
GLX_EXT_texture_from_pixmap
GdkGLExt-Message:  ** glXChooseVisual ()
GdkGLExt-Message:  - gdk_gl_config_new ()
GdkGLExt-Message:  -- gdk_gl_config_new_common ()
GdkGLExt-Message:  ** glXChooseVisual ()
GdkGLExt-Message:  -- glXChooseVisual: screen number = 0
GdkGLExt-Message:  -- glXChooseVisual: visual id = 0x23
GdkGLExt-Message:  -- gdk_gl_config_class_init ()
GdkGLExt-Message:  -- gdk_gl_config_impl_x11_class_init ()
GdkGLExt-Message:  -- gdk_gl_config_setup_colormap ()
GdkGLExt-Message:  -- gdk_gl_config_get_std_rgb_colormap ()
GdkGLExt-Message:  -- Colormap: new
GdkGLExt-Message:  -- Colormap: visual id = 0x23
Got config!
gtkgl successfully initialised
Canvas widget is: 0x98225c0
GtkGLExt-Message:  - gtk_widget_set_gl_capability ()
Created canvas
Internal: Setting a label on a list with no current label
GtkGLExt-Message:  -- gtk_gl_widget_style_set ()
GtkGLExt-Message:  -- gtk_gl_widget_size_allocate ()
GtkGLExt-Message:  -- gtk_gl_widget_configure_event ()
GtkGLExt-Message:  -- gtk_gl_widget_realize ()
GdkGLExt-Message:  - gdk_window_set_gl_capability ()
GdkGLExt-Message:  - gdk_gl_window_new ()
GdkGLExt-Message:  -- gdk_gl_window_class_init ()
GdkGLExt-Message:  -- gdk_gl_window_impl_x11_class_init ()
GdkGLExt-Message:  -- gdk_gl_window_impl_x11_gl_drawable_interface_init ()
GdkGLExt-Message:  - window->bg_pixmap = (nil)
GdkGLExt-Message:  - window->bg_pixmap = 0x2
[Switching to Thread -1208350992 (LWP 5372)]

Breakpoint 1, gtk_canvas_configure_event (widget=0x98225c0, event=0x98210b0,
data=0x0) at uio_gtk.c:431
(gdb) next
configure_event passed widget 0x98225c0
(gdb) next
(gdb) next
widget is gl capable
(gdb) next
(gdb) next
gl window of widget 0x98225c0 is: 0x9836060
(gdb) step
gtk_widget_get_gl_context (widget=0x98225c0) at gtkglwidget.c:476
/home/mike/gtkglext-1.2.0/gtk/gtkglwidget.c:476:13733:beg:0x1178fd
(gdb) next
...
(gdb) next
(gdb) step
gtk_widget_create_gl_context (widget=0x98225c0, share_list=0x0, direct=1,
render_type=32788) at gtkglwidget.c:428
/home/mike/gtkglext-1.2.0/gtk/gtkglwidget.c:428:12536:beg:0x1177a4
(gdb) next
(gdb) next
GtkGLExt-Message:  - gtk_widget_create_gl_context ()
(gdb) next
...
(gdb) print gldrawable
No symbol "gldrawable" in current context. (EDIT: Think this is a
build/debugger issue?)
...
(gdb) step
Program received signal SIGSEGV, Segmentation fault.
0x00a51207 in XVisualIDFromVisual () from /usr/lib/libX11.so.6

Basically I get through the creation of the widget ok, but as soon as the
configure_event handler is called,  I get this segfault when trying to
create a gl context.
FYI the template example builds and runs perfectly.

Any feedback/requests for more info gratefully received (apologies if this
is a little long).

Regards,

M Hudson
_______________________________________________
gtkglext-list mailing list
[email protected]
http://mail.gnome.org/mailman/listinfo/gtkglext-list

Reply via email to