tdm_error ret;
TDM_RETURN_VAL_IF_FAIL(dpy != NULL, TDM_ERROR_INVALID_PARAMETER);
+ TDM_RETURN_VAL_IF_FAIL(tdm_display_is_valide(dpy), TDM_ERROR_INVALID_PARAMETER);
private_display = dpy;
_pthread_mutex_lock(&private_display->lock);
if (!private_display)
return;
+ TDM_RETURN_IF_FAIL(tdm_display_is_valide(dpy));
+
pthread_mutex_lock(&gLock);
private_display->init_count--;
TDM_INFO("done");
}
+INTERN int
+tdm_display_is_valide(tdm_display *dpy)
+{
+ if (dpy != NULL && dpy == g_private_display)
+ return 1;
+ return 0;
+}
+
/* LCOV_EXCL_START */
INTERN int
tdm_display_check_module_abi(tdm_private_display *private_display, int abimaj, int abimin)
tdm_private_display *private_display; \
tdm_error ret = TDM_ERROR_NONE; /* default TDM_ERROR_NONE */\
TDM_RETURN_VAL_IF_FAIL(dpy != NULL, TDM_ERROR_INVALID_PARAMETER); \
+ TDM_RETURN_VAL_IF_FAIL(tdm_display_is_valide(dpy), TDM_ERROR_INVALID_PARAMETER); \
private_display = (tdm_private_display*)dpy;
#define DISPLAY_FUNC_ENTRY_ERROR() \
tdm_private_display *private_display; \
tdm_error ret = TDM_ERROR_NONE; /* default TDM_ERROR_NONE */\
TDM_RETURN_VAL_IF_FAIL_WITH_ERROR(dpy != NULL, TDM_ERROR_INVALID_PARAMETER, NULL); \
+ TDM_RETURN_VAL_IF_FAIL_WITH_ERROR(tdm_display_is_valide(dpy), TDM_ERROR_INVALID_PARAMETER, NULL); \
private_display = (tdm_private_display*)dpy;
EXTERN tdm_error
} tdm_capture_private_buffer;
int
+tdm_display_is_valide(tdm_display *display);
+
+int
tdm_display_check_module_abi(tdm_private_display *private_display, int abimaj, int abimin);
tdm_private_output *
tdm_private_vblank *private_vblank;
tdm_error ret;
- TDM_RETURN_VAL_IF_FAIL_WITH_ERROR(dpy != NULL, TDM_ERROR_INVALID_PARAMETER, NULL);
+ TDM_RETURN_VAL_IF_FAIL_WITH_ERROR(tdm_display_is_valide(dpy), TDM_ERROR_INVALID_PARAMETER, NULL);
TDM_RETURN_VAL_IF_FAIL_WITH_ERROR(output != NULL, TDM_ERROR_INVALID_PARAMETER, NULL);
if (error)