From ba02c171f16ce4b20a780a9b66042ece0d940d6b Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Wed, 2 Dec 2015 22:40:36 +0100 Subject: [PATCH] add session safeguards to OSC callbacks --- libs/surfaces/osc/osc.cc | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/libs/surfaces/osc/osc.cc b/libs/surfaces/osc/osc.cc index ae52b26772..cce6df7141 100644 --- a/libs/surfaces/osc/osc.cc +++ b/libs/surfaces/osc/osc.cc @@ -727,6 +727,9 @@ OSC::current_value (const char */*path*/, const char */*types*/, lo_arg **/*argv void OSC::routes_list (lo_message msg) { + if (!session) { + return; + } for (int n = 0; n < (int) session->nroutes(); ++n) { boost::shared_ptr r = session->route_by_remote_id (n); @@ -780,6 +783,9 @@ OSC::routes_list (lo_message msg) void OSC::transport_frame (lo_message msg) { + if (!session) { + return; + } framepos_t pos = session->transport_frame (); lo_message reply = lo_message_new (); @@ -793,6 +799,9 @@ OSC::transport_frame (lo_message msg) void OSC::transport_speed (lo_message msg) { + if (!session) { + return; + } double ts = session->transport_speed (); lo_message reply = lo_message_new (); @@ -806,6 +815,9 @@ OSC::transport_speed (lo_message msg) void OSC::record_enabled (lo_message msg) { + if (!session) { + return; + } int re = (int)session->get_record_enabled (); lo_message reply = lo_message_new ();