瀏覽代碼

libobs: Fix transition lookup by uuid

The obs_get_transition_by_uuid function would return a valid source
even if it wasn't a transition.
cg2121 2 年之前
父節點
當前提交
6254e031d9
共有 1 個文件被更改,包括 8 次插入1 次删除
  1. 8 1
      libobs/obs.c

+ 8 - 1
libobs/obs.c

@@ -2123,7 +2123,14 @@ obs_source_t *obs_get_transition_by_name(const char *name)
 
 obs_source_t *obs_get_transition_by_uuid(const char *uuid)
 {
-	return obs_get_source_by_uuid(uuid);
+	obs_source_t *source = obs_get_source_by_uuid(uuid);
+
+	if (source && source->info.type == OBS_SOURCE_TYPE_TRANSITION)
+		return source;
+	else if (source)
+		obs_source_release(source);
+
+	return NULL;
 }
 
 obs_output_t *obs_get_output_by_name(const char *name)