winsys/gdi: Init state tracker's per-thread data.
authorMichal Krol <michal@vmware.com>
Fri, 20 Mar 2009 12:06:28 +0000 (13:06 +0100)
committerMichal Krol <michal@vmware.com>
Fri, 20 Mar 2009 12:06:28 +0000 (13:06 +0100)
src/gallium/winsys/gdi/gdi_softpipe_winsys.c

index 440666d835e736e6fdc96e1fcac734ff50a6aa4d..d5d9431865cff95f9b9c50ccc29fb82bd107eb5e 100644 (file)
@@ -312,9 +312,20 @@ DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpReserved)
 {
    switch (fdwReason) {
    case DLL_PROCESS_ATTACH:
-      return st_init(&stw_winsys);
+      if (!st_init(&stw_winsys)) {
+         return FALSE;
+      }
+      return st_init_thread();
+
+   case DLL_THREAD_ATTACH:
+      return st_init_thread();
+
+   case DLL_THREAD_DETACH:
+      st_cleanup_thread();
+      break;
 
    case DLL_PROCESS_DETACH:
+      st_cleanup_thread();
       st_cleanup();
       break;
    }