[mutter/gbsneto/tracing: 4/9] cogl-trace: Cleanup context after disabling



commit 29717010261de7aa1023c005403192a96c82e068
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.
    
    https://gitlab.gnome.org/GNOME/mutter/merge_requests/197

 cogl/cogl/cogl-trace.c | 10 ++++++++++
 1 file changed, 10 insertions(+)
---
diff --git a/cogl/cogl/cogl-trace.c b/cogl/cogl/cogl-trace.c
index 741cf7cee..1ce62d10a 100644
--- a/cogl/cogl/cogl-trace.c
+++ b/cogl/cogl/cogl-trace.c
@@ -59,6 +59,13 @@ cogl_trace_context_new (int fd)
   return context;
 }
 
+static void
+cogl_trace_context_free (CoglTraceContext *trace_context)
+{
+  g_clear_pointer (&trace_context->writer, sysprof_capture_writer_unref);
+  g_free (trace_context);
+}
+
 static void
 ensure_trace_context (int fd)
 {
@@ -142,6 +149,9 @@ disable_tracing_idle_callback (gpointer user_data)
   g_mutex_lock (&cogl_trace_mutex);
   trace_context = cogl_trace_context;
   sysprof_capture_writer_flush (trace_context->writer);
+
+  g_clear_pointer (&cogl_trace_context, 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]