Subject: 5-10 lines of code. Do u see a bug?
Using XMMS 1.2.5 and the plugin OpenGL Spectrum Analyzer 1.2.5 that comes with it gives errors on both X11 4.1.0 w/ DRI + tdfx driver and NVidia OGL driver. The errors are of type: 1) Seg. Fault and Xlib: unexpected async reply (sequence 0x1728)! 2) Gdk-ERROR **: BadValue (integer parameter out of range for operation) serial 45 error_code 2 request_code 147 minor_code 13 This happens when through the Vizualization menu enable/disable the plugin (especially if you do it really fast) Looking at the code for hours only revealed a missing XFree() [ in the create_window() code ]. But that didn't fix the errors. The following lines are suspicious though: if (window) { if (grabbed_pointer) { XUngrabPointer(dpy, CurrentTime); grabbed_pointer = FALSE; } XDestroyWindow(dpy, window); window = 0; } if (glxcontext) { glXMakeCurrent(dpy, 0, NULL); glXDestroyContext(dpy, glxcontext); glxcontext = NULL; } Note that the order of glXDestroyContext and XDestoryWindow as above. Once I reversed the above two if(dpy) and if(glxcontext) statements the problems went away. It does not seg. fault or crash XMMS. Does this mean: 1) it was OKAY initially (as shown above) and the GL drivers have a problem when the window is killed before the context (driver should be able to handle this) or 2) the above code is NOT OKAY. You should never kill the window before you have killed the context Please tell us the right way of doing things, unless you have any more ideas on why the plugin is crashing xmms... PS. does glXDestroyContext do a glFlush() or waits for buffers to empty or hardware to be quiescent (sp?) or does it just return immediately? The docs say about it being active in the current thread, but does that include the GL drivers? Thanks More info: name of display: :0.0 display: :0 screen: 0 direct rendering: Yes server glx vendor string: SGI server glx version string: 1.2 server glx extensions: GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_EXT_import_context client glx vendor string: SGI client glx version string: 1.2 client glx extensions: GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_EXT_import_context GLX extensions: GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_EXT_import_context OpenGL vendor string: VA Linux Systems, Inc. OpenGL renderer string: Mesa DRI Voodoo4 20010501 x86/MMX OpenGL version string: 1.2 Mesa 3.4.2 OpenGL extensions: GL_ARB_multitexture, GL_ARB_transpose_matrix, GL_EXT_abgr, GL_EXT_clip_volume_hint, GL_EXT_compiled_vertex_array, GL_EXT_histogram, GL_EXT_packed_pixels, GL_EXT_paletted_texture, GL_EXT_polygon_offset, GL_EXT_rescale_normal, GL_EXT_stencil_wrap, GL_EXT_texture3D, GL_EXT_texture_env_add, GL_EXT_texture_env_combine, GL_EXT_texture_object, GL_EXT_texture_lod_bias, GL_EXT_vertex_array, GL_HP_occlusion_test, GL_MESA_window_pos, GL_MESA_resize_buffers, GL_NV_texgen_reflection, GL_PGI_misc_hints, GL_SGI_color_matrix, GL_SGI_color_table, GL_SGIS_pixel_texture, GL_SGIS_texture_edge_clamp, GL_SGIX_pixel_texture glu version: 1.3 glu extensions: GLU_EXT_nurbs_tessellator, GLU_EXT_object_space_tess -- Get your free email from www.linuxmail.org Powered by Outblaze _______________________________________________ Dri-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/dri-devel