tbm_drm_client->auth_fd = auth_fd;
tbm_drm_client->capabilities = capabilities;
if (device_name)
- tbm_drm_client->device = strndup(device_name, 256);
+ tbm_drm_client->device = strdup(device_name);
}
static const struct wl_tbm_drm_listener wl_tbm_drm_client_listener = {
TBM_RETURN_IF_FAIL(tbm_drm_client->wl_tbm_drm != NULL);
wl_tbm_drm_add_listener(tbm_drm_client->wl_tbm_drm, &wl_tbm_drm_client_listener, tbm_drm_client);
-
- wl_tbm_drm_get_authentication_info(tbm_drm_client->wl_tbm_drm);
- wl_display_roundtrip(tbm_drm_client->display);
}
}
};
int
-wayland_tbm_drm_client_get_auth_info(int *auth_fd, char **device, uint32_t *capabilities)
+tbm_drm_helper_get_auth_info(int *auth_fd, char **device, uint32_t *capabilities)
{
struct wl_display *display;
struct wl_registry *wl_registry;
wl_registry = wl_display_get_registry(display);
if (!wl_registry) {
- TBM_LOG("Failed to connect display\n");
+ TBM_LOG("Failed to get registry\n");
wl_display_disconnect(display);
free(tbm_drm_client);
return 0;
}
- wl_registry_add_listener(wl_registry, ®istry_listener, &tbm_drm_client);
+ wl_registry_add_listener(wl_registry, ®istry_listener, tbm_drm_client);
wl_display_roundtrip(display); //For Gloabl registry
+ wl_tbm_drm_get_authentication_info(tbm_drm_client->wl_tbm_drm);
+ wl_display_roundtrip(display);
if (!tbm_drm_client->wl_tbm_drm) {
TBM_LOG("Failed to get wl_tbm_drm interface\n");
if (capabilities)
*capabilities = tbm_drm_client->capabilities;
- if (tbm_drm_client->device && device)
- *device = strdup(tbm_drm_client->device);
- else
- *device = NULL;
+ if (device) {
+ if (tbm_drm_client->device)
+ *device = strdup(tbm_drm_client->device);
+ else
+ *device = NULL;
+ }
wl_tbm_drm_set_user_data(tbm_drm_client->wl_tbm_drm, NULL);
wl_tbm_drm_destroy(tbm_drm_client->wl_tbm_drm);
tbm_drm_srv->fd = fd;
tbm_drm_srv->flags = flags;
- if(!wl_display_add_socket(tbm_drm_srv->display, "tbm_drm")) {
- TBM_LOG("[WL_TBM] fail to add socket");
+ if(wl_display_add_socket(tbm_drm_srv->display, "tbm_drm")) {
+ TBM_LOG("[TBM_DRM] fail to add socket\n");
if (tbm_drm_srv->device_name)
free(tbm_drm_srv->device_name);