openbsd-ports/databases/pgadmin3/patches/patch-pgadmin_frm_events_cpp
pea 28375a9b42 Bugfix update to 1.22.1
Spotted / patch provided by Ryan Boggs ( boggsrm at gmail.com), thanks.
ok ajacoutot@
2016-07-15 14:43:40 +00:00

37 lines
1.3 KiB
Plaintext

$OpenBSD: patch-pgadmin_frm_events_cpp,v 1.3 2016/07/15 14:43:40 pea Exp $
--- pgadmin/frm/events.cpp.orig Thu Jan 7 04:47:32 2016
+++ pgadmin/frm/events.cpp Sat Jul 2 17:19:34 2016
@@ -41,7 +41,7 @@
// Mutex to protect the "currentObject" from race conditions.
//
-static wxMutex s_currentObjectMutex;
+static wxMutex *currentObjectMutex = new wxMutex( wxMUTEX_RECURSIVE );
// Event table
BEGIN_EVENT_TABLE(frmMain, pgFrame)
@@ -424,9 +424,9 @@ void frmMain::execSelChange(wxTreeItemId item, bool cu
//
// Lock the assignment to prevent the race conditions between onSelRightClick and execSelChange.
//
- s_currentObjectMutex.Lock();
+ currentObjectMutex->Lock();
currentObject = browser->GetObject(item);
- s_currentObjectMutex.Unlock();
+ currentObjectMutex->Unlock();
// If we didn't get an object, then we may have a right click, or
// invalid click, so ignore.
@@ -747,9 +747,9 @@ void frmMain::OnSelRightClick(wxTreeEvent &event)
// Prevent changes to "currentObject" by "execSelchange" function by another
// thread. Will hold the lock until we have the actual object in hand.
- s_currentObjectMutex.Lock();
+ currentObjectMutex->Lock();
currentObject = browser->GetObject(item);
- s_currentObjectMutex.Unlock();
+ currentObjectMutex->Unlock();
}
if (currentObject)