[prev in list] [next in list] [prev in thread] [next in thread] 

List:       freedesktop-xorg-devel
Subject:    [PATCH] XQuartz: GLX: Create a new dispatch table rather than
From:       Jeremy Huddleston <jeremyhu () apple ! com>
Date:       2011-05-31 20:06:03
Message-ID: 47D370D7-EE37-4453-AE5D-115F41D911B6 () apple ! com
[Download RAW message or body]

Ajax, can you please review this.  Will NULL entries in the dispatch table be handled \
properly now, or do we need to initialize the dispatch table with noop stubs?

Fixes regression introduced by b0c665ac0fe6840dda581e4d0d0b76c703d62a7b

0   X11.bin                       	0x0000000100118293 __glXAquaScreenCreateContext + \
684 1   X11.bin                       	0x00000001001315b0 DoCreateContext + 163
2   X11.bin                       	0x000000010013509f __glXDispatch + 211
3   X11.bin                       	0x00000001000c7dad Dispatch + 785
4   X11.bin                       	0x00000001000b97e5 dix_main + 1022
5   X11.bin                       	0x00000001000122bc server_thread + 50
6   libSystem.B.dylib             	0x00007fff836554f6 _pthread_start + 331
7   libSystem.B.dylib             	0x00007fff836553a9 thread_start + 13

http://lists.apple.com/archives/X11-users/2011/May/msg00045.html

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
---
 hw/xquartz/GL/indirect.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/hw/xquartz/GL/indirect.c b/hw/xquartz/GL/indirect.c
index 1375bea..5537973 100644
--- a/hw/xquartz/GL/indirect.c
+++ b/hw/xquartz/GL/indirect.c
@@ -682,7 +682,7 @@ GLuint __glFloorLog2(GLuint val)
 }
 
 static void setup_dispatch_table(void) {
-    struct _glapi_table *disp=_glapi_get_dispatch();
+    struct _glapi_table *disp=calloc(1,sizeof(struct _glapi_table));
 
     /* to update:
      * for f in $(grep 'define SET_' ../../../glx/dispatch.h  | cut -f2 -d' ' | cut \
-f1 -d\( | sort -u); do grep -q $f indirect.c || echo $f ; done | grep -v by_offset | \
sed 's:SET_\(.*\)$:SET_\1(disp, gl\1)\;:' | pbcopy @@ -1626,4 +1626,6 @@ static void \
setup_dispatch_table(void) {  SET_PixelTexGenParameterivSGIS(disp, \
glPixelTexGenParameterivSGIS);  SET_PixelTexGenSGIX(disp, glPixelTexGenSGIX);
 #endif
+
+    _glapi_set_dispatch(disp);
 }
-- 
1.7.4.1


_______________________________________________
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic