diff options
| author | Mihai Brodschi <m.brodschi@gmail.com> | 2025-04-27 17:33:23 +0300 |
|---|---|---|
| committer | Mihai Brodschi <m.brodschi@gmail.com> | 2025-04-28 07:11:53 +0300 |
| commit | bad78cfed416d89ceb6b0acf6c134d3691b3d624 (patch) | |
| tree | 2ed9682f7f88b3c0d0f5dbab8b495b2078d723fb /Source/Core/VideoCommon/TextureCacheBase.cpp | |
| parent | 8ee64a84c7365b042f50e206d245b8a8464d1656 (diff) | |
Core, VideoCommon: Fix crash at shutdown due to destructor ordering
Previously, PerformanceTracker registered a callback to be updated on
emulation state changes. PerformanceTrackers live in a global variable
(g_perf_metrics) within libvideocommon. The callback was stored in a
global variable in libcore. This created a race condition at shutdown
between these libraries, when the PerfTracker's destructor tried to
unregister the callback.
Notify the PerfTracker directly from libcore, without callbacks, since
Core.cpp already references g_perf_metrics explicitly. Also rename
Core::CallOnStateChangedCallbacks to NotifyStateChanged to better
reflect what it's doing.
Diffstat (limited to 'Source/Core/VideoCommon/TextureCacheBase.cpp')
0 files changed, 0 insertions, 0 deletions
