Fix access invoke callbacks relying on replay thread

* Some CaptureAccess uses like enumerating GPUs happen before the replay thread
  is running, in this case we can safely run on the UI thread as we know there
  will be nothing to conflict with.
This commit is contained in:
baldurk committed 2026-10-26 17:44:59 +00:00
1 parent 437fe7e992
commit 27fc73a74c
4 files changed
+43 -21

No files matched your search

@@ -1027,6 +1027,13 @@ struct ReplayInvoker : IReplayManager
}
void BlockInvoke(ReplayInvokeCallback method) { return m_Replay.BlockInvoke(method); }
// won't be available to python but we implement this for compile time matching
bool AccessInvoke(std::function<void(ICaptureAccess *)> callback, bool blocking, bool forceReplay,
rdcstr tag)
{
return m_Replay.AccessInvoke(callback, blocking, forceReplay, tag);
}
};
struct IMainWindowInvoker : UIThreadInvoker<IMainWindow>