ply_hashtable_free (backend->output_buffers);
ply_hashtable_free (backend->heads_by_controller_id);
- drmModeFreeResources (backend->resources);
-
free (backend->outputs);
free (backend);
}
static bool
query_device (ply_renderer_backend_t *backend)
{
+ bool ret = true;
+
assert (backend != NULL);
assert (backend->device_fd >= 0);
if (!create_heads_for_active_connectors (backend)) {
ply_trace ("Could not initialize heads");
- return false;
- }
-
- if (!has_32bpp_support (backend)) {
+ ret = false;
+ } else if (!has_32bpp_support (backend)) {
ply_trace ("Device doesn't support 32bpp framebuffer");
- return false;
+ ret = false;
}
- return true;
+ drmModeFreeResources (backend->resources);
+ backend->resources = NULL;
+
+ return ret;
}
static bool