git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@16980
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
#include "wx/region.h"
#include "wx/gdicmn.h"
#include "wx/thread.h"
#include "wx/region.h"
#include "wx/gdicmn.h"
#include "wx/thread.h"
// wxRegionIterator //
///////////////////////////////////////////////////////////////////////////////
// wxRegionIterator //
///////////////////////////////////////////////////////////////////////////////
+#if wxUSE_THREADS
+static wxMutex *gs_mutexIterator;
+
+class wxMglRegionModule : public wxModule
+{
+public:
+ virtual bool OnInit()
+ {
+ gs_mutexIterator = new wxMutex();
+ return TRUE;
+ }
+ virtual void OnExit()
+ {
+ wxDELETE(gs_mutexIterator);
+ }
+
+ DECLARE_DYNAMIC_CLASS(wxMglRegionModule)
+};
+IMPLEMENT_DYNAMIC_CLASS(wxMglRegionModule, wxModule)
+#endif
+
/*
* Initialize empty iterator
*/
/*
* Initialize empty iterator
*/
+#if wxUSE_THREADS
+ wxMutexLocker(*gs_mutexIterator);
+#endif
gs_rectList = &m_rects;
M_REGION_OF(region).traverse(wxMGL_region_callback);
gs_rectList = &m_rects;
M_REGION_OF(region).traverse(wxMGL_region_callback);
m_currentNode = m_rects.GetFirst();
}
}
m_currentNode = m_rects.GetFirst();
}
}