[GtkGLExt] segfault on configure event
- From: "Mike Hudson" <m hudson rockfield co uk>
- To: <gtkglext-list gnome org>
- Subject: [GtkGLExt] segfault on configure event
- Date: Thu, 28 Feb 2008 17:01:03 -0000
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="" 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
[
Date Prev][Date Next] [
Thread Prev][Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]