Add some more invalidation debug messages.
authorRobin Gareus <robin@gareus.org>
Wed, 14 Dec 2016 18:43:12 +0000 (19:43 +0100)
committerRobin Gareus <robin@gareus.org>
Wed, 14 Dec 2016 18:43:12 +0000 (19:43 +0100)
libs/pbd/event_loop.cc
libs/pbd/pbd/abstract_ui.cc

index a1b3670a6870964d51389228e5fd86406c020780..926c7016d35ffeab44e2f9d8546fcb414cd72b90 100644 (file)
@@ -87,6 +87,7 @@ EventLoop::invalidate_request (void* data)
         */
 
        if (ir->event_loop) {
+               DEBUG_TRACE (PBD::DEBUG::AbstractUI, string_compose ("%1: EventLoop::invalidate_request %2\n", ir->event_loop, ir));
                {
                        Glib::Threads::Mutex::Lock lm (ir->event_loop->slot_invalidation_mutex());
                        for (list<BaseRequestObject*>::iterator i = ir->requests.begin(); i != ir->requests.end(); ++i) {
@@ -96,6 +97,8 @@ EventLoop::invalidate_request (void* data)
                }
                // should this not always be deleted, regardless if there's an event_loop?
                delete ir;
+       } else {
+               DEBUG_TRACE (PBD::DEBUG::AbstractUI, string_compose ("EventLoop::invalidate_request no event-loop for invalidation %1\n", ir));
        }
 
        return 0;
index 19a0ba9c47b73db9b582b4380b99bf730e185c47..330e6ddc595bfb2df3f9da1465148d6f3db0e2a9 100644 (file)
@@ -223,7 +223,7 @@ AbstractUI<RequestObject>::handle_ui_requests ()
                                         * If the event results in object destruction, PBD::EventLoop::invalidate_request
                                         * will delete the invalidation record (aka buf[0]), so we cannot use it after calling do_request
                                         */
-                                       DEBUG_TRACE (PBD::DEBUG::AbstractUI, string_compose ("%1: remove request from its invalidation list\n", event_loop_name()));
+                                       DEBUG_TRACE (PBD::DEBUG::AbstractUI, string_compose ("%1: remove request %2 from its invalidation list %3\n", event_loop_name(), vec.buf[0], vec.buf[0]->invalidation));
                                        if (vec.buf[0]->invalidation) {
                                                DEBUG_TRACE (PBD::DEBUG::AbstractUI, string_compose ("%1: removing invalidation record for that request\n", event_loop_name()));
                                                if (vec.buf[0]->invalidation->event_loop && vec.buf[0]->invalidation->event_loop != this) {
@@ -298,7 +298,7 @@ AbstractUI<RequestObject>::handle_ui_requests ()
                 */
 
                if (req->invalidation) {
-                       DEBUG_TRACE (PBD::DEBUG::AbstractUI, string_compose ("%1/%2 remove request from its invalidation list\n", event_loop_name(), pthread_name()));
+                       DEBUG_TRACE (PBD::DEBUG::AbstractUI, string_compose ("%1/%2 remove request %3 from its invalidation list %4\n", event_loop_name(), pthread_name(), req, req->invalidation));
 
                        Glib::Threads::Mutex::Lock li (req->invalidation->event_loop->slot_invalidation_mutex(), Glib::Threads::NOT_LOCK);
                        if (req->invalidation->event_loop && req->invalidation->event_loop != this) {