[beast: 1/7] BSE: bseprobe: fix timer/destruction race



commit 9b677cc5414b449e4d9429754386db335d1aa743
Author: Tim Janik <timj gnu org>
Date:   Sat Oct 7 13:42:19 2017 +0200

    BSE: bseprobe: fix timer/destruction race
    
    Signed-off-by: Tim Janik <timj gnu org>

 bse/bseprobe.cc |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)
---
diff --git a/bse/bseprobe.cc b/bse/bseprobe.cc
index 12e33df..114f16e 100644
--- a/bse/bseprobe.cc
+++ b/bse/bseprobe.cc
@@ -580,7 +580,9 @@ bse_dummy_prober (gpointer data)
       data = sfi_ring_pop_head (&bse_dummy_sources);
       BseSource *source = BSE_SOURCE (data);
       ProbeSeq probe_seq;
-      source->as<SourceIface*>()->sig_probes.emit (probe_seq);
+      SourceIface *iface = source->as<SourceIface*>();
+      if (iface) // timer might be executed after destruction
+        iface->sig_probes.emit (probe_seq);
       g_object_unref (source);
     }
   bse_dummy_prober_id = 0;


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]