diff --git a/libs/pbd/base_ui.cc b/libs/pbd/base_ui.cc index 1ea3fdc993..2ea27a0652 100644 --- a/libs/pbd/base_ui.cc +++ b/libs/pbd/base_ui.cc @@ -136,10 +136,6 @@ BaseUI::request_handler (Glib::IOCondition ioc) { /* check the request pipe */ - if (ioc & ~IO_IN) { - _main_loop->quit (); - } - if (ioc & IO_IN) { request_channel.drain (); @@ -153,6 +149,10 @@ BaseUI::request_handler (Glib::IOCondition ioc) handle_ui_requests (); } + if (ioc & ~(IO_IN|IO_PRI)) { + _main_loop->quit (); + } + return true; }