cogl/trace: Add check for failed sysprof context creation
This can fail for example when passing an invalid filename to mutter --profile, which leads to assertion failures down the line. Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3397>
This commit is contained in:
parent
ca5bf847ee
commit
ebba651c81
@ -102,6 +102,9 @@ cogl_trace_context_new (int fd,
|
||||
writer = sysprof_capture_writer_new (COGL_TRACE_OUTPUT_FILE, BUFFER_LENGTH);
|
||||
}
|
||||
|
||||
if (!writer)
|
||||
return NULL;
|
||||
|
||||
context = g_new0 (CoglTraceContext, 1);
|
||||
context->writer = writer;
|
||||
g_atomic_ref_count_init (&context->ref_count);
|
||||
@ -144,6 +147,13 @@ setup_trace_context (int fd,
|
||||
|
||||
cogl_trace_context = cogl_trace_context_new (fd, filename);
|
||||
|
||||
if (!cogl_trace_context)
|
||||
{
|
||||
g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED,
|
||||
"Failed to setup trace context");
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user