new PBD::ControllableDescriptor class to encapsulate parsing of binding URIs and...
[ardour.git] / libs / gtkmm2ext / gtk_ui.cc
index fb251e8078a7e87afcab4597ad568b5f0cf8ae3f..318dedd1fc450a4513ea232b61f6f845f5e04b3d 100644 (file)
@@ -50,7 +50,6 @@ using std::map;
 UI       *UI::theGtkUI = 0;
 
 BaseUI::RequestType Gtkmm2ext::ErrorMessage = BaseUI::new_request_type();
-BaseUI::RequestType Gtkmm2ext::Quit = BaseUI::new_request_type();
 BaseUI::RequestType Gtkmm2ext::TouchDisplay = BaseUI::new_request_type();
 BaseUI::RequestType Gtkmm2ext::StateChange = BaseUI::new_request_type();
 BaseUI::RequestType Gtkmm2ext::SetTip = BaseUI::new_request_type();
@@ -81,6 +80,12 @@ UI::UI (string namestr, int *argc, char ***argv)
        */
 
        run_loop_thread = Thread::self();
+       
+       /* store "this" as the UI-for-thread of this thread, same argument
+          as for previous line.
+       */
+
+       set_event_loop_for_thread (this);
 
        /* attach our request source to the default main context */
 
@@ -354,7 +359,11 @@ UI::do_request (UIRequest* req)
                do_quit ();
 
        } else if (req->type == CallSlot) {
-
+#ifndef NDEBUG
+               if (getenv ("DEBUG_THREADED_SIGNALS")) {
+                       cerr << "call slot for " << name() << endl;
+               }
+#endif
                req->the_slot ();
 
        } else if (req->type == TouchDisplay) {