libobs: Only warn when releasing non-NULL source

Only warn when the pointer provided to obs_source_release() is
non-NULL. In some custom usages of libobs, libobs may be freed before
OBS* smart pointers (like OBSSource) are destructed, leading to a
misleading warning if the pointers have already been cleared with
nullptr.

Previous behavior is basically:
- Clear OBS* pointers with nullptr
- Unload libobs
- Those smart pointers that were cleared will still call
obs_source_release() on destruct
- Warning appears
This commit is contained in:
tt2468
2022-05-21 15:33:39 -07:00
committed by Jim
parent 226249e1c3
commit a8c481a80e
+1 -1
View File
@@ -756,7 +756,7 @@ void obs_source_addref(obs_source_t *source)
void obs_source_release(obs_source_t *source)
{
if (!obs) {
if (!obs && source) {
blog(LOG_WARNING, "Tried to release a source when the OBS "
"core is shut down!");
return;