]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/src/helpers.cpp
Fix the crash-on-ActiveX-callback problem
[wxWidgets.git] / wxPython / src / helpers.cpp
index bc9dab80718d2c307b2521ef10f7ace055eb31e8..8be7e483b5b3a4d1a65e2e31b459f23d0cdb19db 100644 (file)
@@ -586,7 +586,15 @@ void wxPySaveThreadState(PyThreadState* tstate) {
     for(size_t i=0; i < wxPyTStates->GetCount(); i++) {
         wxPyThreadState& info = wxPyTStates->Item(i);
         if (info.tid == ctid) {
     for(size_t i=0; i < wxPyTStates->GetCount(); i++) {
         wxPyThreadState& info = wxPyTStates->Item(i);
         if (info.tid == ctid) {
-            info.tstate = tstate;
+#if 0
+            if (info.tstate != tstate)
+                wxLogMessage("*** tstate mismatch!???");
+#endif
+            // info.tstate = tstate;    *** DO NOT updating existing ones???
+            // Normally it will never change, but apparently COM callbacks
+            // (i.e. ActiveX controls) will (incorrectly IMHO) use a transient
+            // tstate wich will then be garbage the next time we try to use
+            // it...
             wxPyTMutex->Unlock();
             return;
         }
             wxPyTMutex->Unlock();
             return;
         }