MCPcopy Create free account
hub / github.com/crosire/reshade / ReShadeUnregisterOverlayForAddon

Function ReShadeUnregisterOverlayForAddon

source/addon_manager.cpp:653–677  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

651 ReShadeUnregisterOverlayForAddon(nullptr, title, callback);
652}
653void ReShadeUnregisterOverlayForAddon(void *module, const char *title, void(*callback)(reshade::api::effect_runtime *runtime))
654{
655 reshade::addon_info *const info = reshade::find_addon(module != nullptr ? module : static_cast<void *>(callback));
656 if (info == nullptr)
657 return; // Do not log an error here, since this may be called if an add-on failed to load
658
659 assert(info->handle == module || module == nullptr);
660
661 if (title == nullptr)
662 {
663 assert(callback == info->settings_overlay_callback);
664 info->settings_overlay_callback = nullptr;
665 return;
666 }
667
668#if RESHADE_VERBOSE_LOG
669 // Log before removing from overlay list below, since pointer to title string may become invalid by the removal
670 reshade::log::message(reshade::log::level::debug, "Unregistered overlay with title \"%s\" and callback %p.", title, static_cast<void *>(callback));
671#endif
672
673 info->overlay_callbacks.erase(std::remove_if(info->overlay_callbacks.begin(), info->overlay_callbacks.end(),
674 [title, callback](const reshade::addon_info::overlay_callback &item) {
675 return item.title == title && item.callback == callback;
676 }), info->overlay_callbacks.end());
677}
678
679#endif
680

Callers 1

ReShadeUnregisterOverlayFunction · 0.85

Calls 2

messageFunction · 0.85
eraseMethod · 0.45

Tested by

no test coverage detected