TDM_RETURN_VAL_IF_FAIL(voutput != NULL, TDM_ERROR_INVALID_PARAMETER);
private_voutput = (tdm_private_client_voutput *)voutput;
- TDM_RETURN_VAL_IF_FAIL(private_voutput->attach_buffer != NULL, TDM_ERROR_NONE);
private_client = private_voutput->private_client;
pthread_mutex_lock(&private_client->lock);
- buffer = (tbm_surface_h)wl_buffer_get_user_data(private_voutput->attach_buffer->wl_buffer);
- tbm_surface_internal_unref(buffer);
- private_voutput->attach_buffer = NULL;
- wl_tdm_voutput_commit_done(private_voutput->wl_voutput);
+ if (private_voutput->attach_buffer) {
+ buffer = (tbm_surface_h)wl_buffer_get_user_data(private_voutput->attach_buffer->wl_buffer);
+ tbm_surface_internal_unref(buffer);
+ private_voutput->attach_buffer = NULL;
+ wl_tdm_voutput_commit_done(private_voutput->wl_voutput);
+ }
pthread_mutex_unlock(&private_client->lock);