Blob Blame History Raw
From 5cace47aaece3cc4f2e6ea97d7fd5bb8ed316ac9 Mon Sep 17 00:00:00 2001
From: Robin Dunn <robin@alldunn.com>
Date: Wed, 18 Nov 2020 10:52:53 -0800
Subject: [PATCH] Restore GIL acquisition in wxPseudoDC::FindObjects*

---
 src/pseudodc.cpp | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/src/pseudodc.cpp b/src/pseudodc.cpp
index 5890ed7e2..ed4bcd06a 100644
--- a/src/pseudodc.cpp
+++ b/src/pseudodc.cpp
@@ -483,7 +483,7 @@ bool wxPseudoDC::GetIdGreyedOut(int id)
 // ----------------------------------------------------------------------------
 PyObject *wxPseudoDC::FindObjectsByBBox(wxCoord x, wxCoord y)
 {
-    //wxPyBlock_t blocked = wxPyBeginBlockThreads();
+    wxPyThreadBlocker blocker;
     pdcObjectList::compatibility_iterator pt = m_objectlist.GetFirst();
     pdcObject *obj;
     PyObject* pyList = NULL;
@@ -501,7 +501,6 @@ PyObject *wxPseudoDC::FindObjectsByBBox(wxCoord x, wxCoord y)
         }
         pt = pt->GetNext();
     }
-    //wxPyEndBlockThreads(blocked);
     return pyList;
 }
 
@@ -511,7 +510,7 @@ PyObject *wxPseudoDC::FindObjectsByBBox(wxCoord x, wxCoord y)
 PyObject *wxPseudoDC::FindObjects(wxCoord x, wxCoord y,
                                   wxCoord radius, const wxColor& bg)
 {
-    //wxPyBlock_t blocked = wxPyBeginBlockThreads();
+    wxPyThreadBlocker blocker;
     pdcObjectList::compatibility_iterator pt = m_objectlist.GetFirst();
     pdcObject *obj;
     PyObject* pyList = NULL;
@@ -611,8 +610,7 @@ PyObject *wxPseudoDC::FindObjects(wxCoord x, wxCoord y,
         maskdc.SelectObject(wxNullBitmap);
         memdc.SelectObject(wxNullBitmap);
     }
-    //wxPyEndBlockThreads(blocked);
-    return pyList;
+     return pyList;
 }
 
 // ----------------------------------------------------------------------------