From cb8b5ba9cd726d4f0d97e9242ae8f66ea01efc14 Mon Sep 17 00:00:00 2001 From: cg2121 Date: Sun, 25 Jun 2023 03:29:05 -0500 Subject: [PATCH] libobs: Change return type for getting filter index This changes the return type for getting the filter index from a size_t to an int. This makes it easier for developers to use, as an invalid index just returns a -1. --- UI/window-basic-filters.cpp | 2 +- libobs/obs-source.c | 8 ++++---- libobs/obs.h | 4 ++-- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/UI/window-basic-filters.cpp b/UI/window-basic-filters.cpp index 58ee308fe..a685cb59a 100644 --- a/UI/window-basic-filters.cpp +++ b/UI/window-basic-filters.cpp @@ -1281,7 +1281,7 @@ void OBSBasicFilters::FiltersMoved(const QModelIndex &, int srcIdxStart, int, neighborIdx = 0; OBSSource neighbor = GetFilter(neighborIdx, isAsync); - size_t idx = obs_source_filter_get_index(source, neighbor); + int idx = obs_source_filter_get_index(source, neighbor); OBSSource filter = GetFilter(list->currentRow(), isAsync); obs_source_filter_set_index(source, filter, idx); diff --git a/libobs/obs-source.c b/libobs/obs-source.c index 9c7ec853c..a54f09e32 100644 --- a/libobs/obs-source.c +++ b/libobs/obs-source.c @@ -3294,12 +3294,12 @@ void obs_source_filter_set_order(obs_source_t *source, obs_source_t *filter, obs_source_dosignal(source, NULL, "reorder_filters"); } -size_t obs_source_filter_get_index(obs_source_t *source, obs_source_t *filter) +int obs_source_filter_get_index(obs_source_t *source, obs_source_t *filter) { if (!obs_source_valid(source, "obs_source_filter_get_index")) - return DARRAY_INVALID; + return -1; if (!obs_ptr_valid(filter, "obs_source_filter_get_index")) - return DARRAY_INVALID; + return -1; size_t idx; @@ -3307,7 +3307,7 @@ size_t obs_source_filter_get_index(obs_source_t *source, obs_source_t *filter) idx = da_find(source->filters, &filter, 0); pthread_mutex_unlock(&source->filter_mutex); - return idx; + return idx != DARRAY_INVALID ? (int)idx : -1; } static bool set_filter_index(obs_source_t *source, obs_source_t *filter, diff --git a/libobs/obs.h b/libobs/obs.h index 56d397bb6..93948a7d6 100644 --- a/libobs/obs.h +++ b/libobs/obs.h @@ -1134,8 +1134,8 @@ EXPORT void obs_source_filter_set_order(obs_source_t *source, enum obs_order_movement movement); /** Gets filter index */ -EXPORT size_t obs_source_filter_get_index(obs_source_t *source, - obs_source_t *filter); +EXPORT int obs_source_filter_get_index(obs_source_t *source, + obs_source_t *filter); /** Sets filter index */ EXPORT void obs_source_filter_set_index(obs_source_t *source,