Use custom comparator in threadmap for pthread impl with mingw
authorPaul Davis <paul@linuxaudiosystems.com>
Sat, 13 Jul 2013 12:44:58 +0000 (08:44 -0400)
committerPaul Davis <paul@linuxaudiosystems.com>
Sat, 13 Jul 2013 12:44:58 +0000 (08:44 -0400)
libs/pbd/pbd/abstract_ui.h

index fb09dee5c26a0b1721491378c2b18861e27799ca..905074c474bba983547f076619ff3fb5543e0efc 100644 (file)
@@ -56,8 +56,22 @@ class AbstractUI : public BaseUI
                         , ui (uir) {}
         };
        typedef typename RequestBuffer::rw_vector RequestBufferVector;
+
+#if defined(__MINGW32__)
+
+       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;