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-17 15:26:12 -07:00 committed by Jim
parent 226249e1c3
commit a8c481a80e

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;