Another "if it ain't broke, don't fix it" moment. Revert some more
authorIan Romanick <idr@us.ibm.com>
Mon, 5 Jul 2004 22:40:54 +0000 (22:40 +0000)
committerIan Romanick <idr@us.ibm.com>
Mon, 5 Jul 2004 22:40:54 +0000 (22:40 +0000)
code in _glapi_set_dispatch to its 1.74 form.  This fixes a "problem"
with buggy apps that make GL calls with no bound GL context (i.e.,
Enemy Territory during shut-down).

src/mesa/glapi/glapi.c

index 4c005a9d0cbbf89b829c82899334c357f750badd..ecdf5306bb3da55c4cda736f8aeebd72712b7cb0 100644 (file)
@@ -294,24 +294,19 @@ _glapi_get_context(void)
 void
 _glapi_set_dispatch(struct _glapi_table *dispatch)
 {
-   struct _glapi_table * old_style_dispatch;
-
-
-   /* Use the no-op functions if a NULL dispatch table was requested.
-    */
-
-   old_style_dispatch = (dispatch == NULL)
-     ? (struct _glapi_table *) __glapi_noop_table : dispatch;
-
+   if (!dispatch) {
+      /* use the no-op functions */
+      dispatch = (struct _glapi_table *) __glapi_noop_table;
+   }
 #ifdef DEBUG
-   if (dispatch != NULL) {
+   else {
       _glapi_check_table(dispatch);
    }
 #endif
 
 #if defined(THREADS)
    if (DispatchOverride) {
-      _glthread_SetTSD(&RealDispatchTSD, (void *) old_style_dispatch);
+      _glthread_SetTSD(&RealDispatchTSD, (void *) dispatch);
       if (ThreadSafe)
          _glapi_RealDispatch = (struct _glapi_table*) __glapi_threadsafe_table;
       else
@@ -319,13 +314,13 @@ _glapi_set_dispatch(struct _glapi_table *dispatch)
    }
    else {
       /* normal operation */
-      _glthread_SetTSD(&_gl_DispatchTSD, (void *) old_style_dispatch);
+      _glthread_SetTSD(&_gl_DispatchTSD, (void *) dispatch);
       if (ThreadSafe) {
         _glapi_Dispatch = (struct _glapi_table *) __glapi_threadsafe_table;
         _glapi_DispatchTSD = NULL;
       }
       else {
-        _glapi_Dispatch = old_style_dispatch;
+        _glapi_Dispatch = dispatch;
         _glapi_DispatchTSD = dispatch;
       }
    }