[mutter/gbsneto/tracing: 67/68] cogl-trace: Cleanup context after disabling



commit 4c59a8d157abf1022908909732c94ce67d6cd6a8
Author: Georges Basile Stavracas Neto <georges stavracas gmail com>
Date:   Fri Aug 10 22:06:30 2018 -0300

    cogl-trace: Cleanup context after disabling
    
    This allows running the Capture() method multiple times,
    with different arguments each time.

 cogl/cogl/cogl-trace.c | 11 +++++++++++
 1 file changed, 11 insertions(+)
---
diff --git a/cogl/cogl/cogl-trace.c b/cogl/cogl/cogl-trace.c
index eb536adf7..a8f6bf4b9 100644
--- a/cogl/cogl/cogl-trace.c
+++ b/cogl/cogl/cogl-trace.c
@@ -52,6 +52,13 @@ cogl_trace_context_new (int fd)
   return context;
 }
 
+static void
+cogl_trace_context_free (CoglTraceContext *trace_context)
+{
+  g_clear_pointer (&trace_context->writer, sp_capture_writer_unref);
+  g_free (trace_context);
+}
+
 static void
 ensure_trace_context (int fd)
 {
@@ -128,6 +135,10 @@ disable_tracing_idle_callback (gpointer user_data)
   g_mutex_lock (&cogl_trace_mutex);
   trace_context = cogl_trace_context;
   sp_capture_writer_flush (trace_context->writer);
+
+  g_clear_pointer (&cogl_trace_context,
+                   (GDestroyNotify) cogl_trace_context_free);
+
   g_mutex_unlock (&cogl_trace_mutex);
 
   return G_SOURCE_REMOVE;


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