瀏覽代碼

libobs: Add obs_obj_invalid function

Determines whether an obs object was created successfully.  If a plugin
that's used for a saved object is removed (third party plugins), its
data will become invalid, but the objects can often still be created for
the sake of preserving user settings, but sometimes these objects can
cause problems if they're actually used (such as using them for
transitions).
jp9000 9 年之前
父節點
當前提交
822ffb8519
共有 2 個文件被更改,包括 10 次插入0 次删除
  1. 9 0
      libobs/obs.c
  2. 1 0
      libobs/obs.h

+ 9 - 0
libobs/obs.c

@@ -1831,3 +1831,12 @@ const char *obs_obj_get_id(void *obj)
 
 	return NULL;
 }
+
+bool obs_obj_invalid(void *obj)
+{
+	struct obs_context_data *context = obj;
+	if (!context)
+		return true;
+
+	return !context->data;
+}

+ 1 - 0
libobs/obs.h

@@ -575,6 +575,7 @@ enum obs_obj_type {
 
 EXPORT enum obs_obj_type obs_obj_get_type(void *obj);
 EXPORT const char *obs_obj_get_id(void *obj);
+EXPORT bool obs_obj_invalid(void *obj);
 
 
 /* ------------------------------------------------------------------------- */