• Sam Lantinga's avatar
    Date: Sun, 11 May 2003 19:59:06 +0300 · 44a5555c
    Sam Lantinga authored
    From: Pasi K?rkk?inen
    Subject: [PATCH] fix SDL OpenGL segfault with DRI/Mesa drivers and Glew
    
    Hello!
    
    The attached patch fixes a bug in SDL which causes SDL to crash in
    X11_GL_Shutdown() if you are using DRI/Mesa drivers AND glew
    (http://glew.sf.net).
    
    The bug is caused by a namespace collision affecting dlsym() to fetch wrong
    pointer for glXReleaseBuffersMESA() (uninitialized pointer from glew because
    the extension is NOT supported by the driver) and then SDL calling it in
    X11_GL_Shutdown().
    
    SDL should check if the glXReleaseBuffersMESA() is really supported by the
    driver (from the extensions string) before calling it.
    
    Attached patch adds extension string parsing to check if
    glXReleaseBuffersMESA() is really supported (and this way
    prevents the segfault).
    
    Availability of the extensions should be _always_ checked from the
    extensions string rather than using dlsym()!
    
    Please add it to the next version of SDL.
    
    Thanks to gltron and author of glew to help fixing this.
    
    --HG--
    extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%40639
    44a5555c
Name
Last commit
Last update
..
Xext Loading commit data...
aalib Loading commit data...
ataricommon Loading commit data...
bwindow Loading commit data...
cybergfx Loading commit data...
dc Loading commit data...
dga Loading commit data...
directfb Loading commit data...
dummy Loading commit data...
epoc Loading commit data...
fbcon Loading commit data...
gem Loading commit data...
ggi Loading commit data...
maccommon Loading commit data...
macdsp Loading commit data...
macrom Loading commit data...
nanox Loading commit data...
photon Loading commit data...
picogui Loading commit data...
ps2gs Loading commit data...
qtopia Loading commit data...
quartz Loading commit data...
riscos Loading commit data...
svga Loading commit data...
vgl Loading commit data...
wincommon Loading commit data...
windib Loading commit data...
windx5 Loading commit data...
x11 Loading commit data...
xbios Loading commit data...
.cvsignore Loading commit data...
Makefile.am Loading commit data...
SDL_RLEaccel.c Loading commit data...
SDL_RLEaccel_c.h Loading commit data...
SDL_blit.c Loading commit data...
SDL_blit.h Loading commit data...
SDL_blit_0.c Loading commit data...
SDL_blit_1.c Loading commit data...
SDL_blit_A.c Loading commit data...
SDL_blit_N.c Loading commit data...
SDL_bmp.c Loading commit data...
SDL_cursor.c Loading commit data...
SDL_cursor_c.h Loading commit data...
SDL_gamma.c Loading commit data...
SDL_glfuncs.h Loading commit data...
SDL_leaks.h Loading commit data...
SDL_memops.h Loading commit data...
SDL_pixels.c Loading commit data...
SDL_pixels_c.h Loading commit data...
SDL_stretch.c Loading commit data...
SDL_stretch_c.h Loading commit data...
SDL_surface.c Loading commit data...
SDL_sysvideo.h Loading commit data...
SDL_video.c Loading commit data...
SDL_yuv.c Loading commit data...
SDL_yuv_mmx.c Loading commit data...
SDL_yuv_sw.c Loading commit data...
SDL_yuv_sw_c.h Loading commit data...
SDL_yuvfuncs.h Loading commit data...
blank_cursor.h Loading commit data...
default_cursor.h Loading commit data...