Explorar o código

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 %!s(int64=2) %!d(string=hai) anos
pai
achega
6254e031d9
Modificáronse 1 ficheiros con 8 adicións e 1 borrados
  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)