amend e09c620; now with semicolon :)
[ardour.git] / libs / pbd / pbd / abstract_ui.h
index f78ba260904a350313b383e31acf970b5316e3f4..a8602c7d7877663b00081e04d03c5321a8f3aadc 100644 (file)
@@ -52,7 +52,7 @@
 class Touchable;
 
 template<typename RequestObject>
-class ABSTRACT_UI_API AbstractUI : public BaseUI /* see notes in visibility.h about why this is not LIBPBD_API */
+class ABSTRACT_UI_API AbstractUI : public BaseUI
 {
   public:
        AbstractUI (const std::string& name);
@@ -74,8 +74,21 @@ class ABSTRACT_UI_API AbstractUI : public BaseUI /* see notes in visibility.h ab
                         , ui (uir) {}
         };
        typedef typename RequestBuffer::rw_vector RequestBufferVector;
+
+#if defined(COMPILER_MINGW) && defined(PTW32_VERSION)
+       struct pthread_cmp
+       {
+               bool operator() (const ptw32_handle_t& thread1, const ptw32_handle_t& thread2)
+               {
+                       return thread1.p < thread2.p;
+               }
+       };
+       typedef typename std::map<pthread_t,RequestBuffer*, pthread_cmp>::iterator RequestBufferMapIterator;
+       typedef std::map<pthread_t,RequestBuffer*, pthread_cmp> RequestBufferMap;
+#else
        typedef typename std::map<pthread_t,RequestBuffer*>::iterator RequestBufferMapIterator;
        typedef std::map<pthread_t,RequestBuffer*> RequestBufferMap;
+#endif
 
        RequestBufferMap request_buffers;
         static Glib::Threads::Private<RequestBuffer> per_thread_request_buffer;