diff --git a/qrenderdoc/Code/Interface/QRDInterface.h b/qrenderdoc/Code/Interface/QRDInterface.h index 9558d69cb..41f586e75 100644 --- a/qrenderdoc/Code/Interface/QRDInterface.h +++ b/qrenderdoc/Code/Interface/QRDInterface.h @@ -2752,11 +2752,11 @@ data. rdcstr ConfigFilePath(const rdcstr &filename); // simple helper for the common case of 'we just need to run this on the replay thread' -#define INVOKE_MEMFN(function) \ - { \ - QPointer::type> meptr; \ - m_Ctx.Replay().AsyncInvoke([meptr](IReplayController *r) { \ - if(meptr) \ - meptr->function(r); \ - }); \ +#define INVOKE_MEMFN(function) \ + { \ + QPointer::type> meptr(this); \ + m_Ctx.Replay().AsyncInvoke([meptr](IReplayController *r) { \ + if(meptr) \ + meptr->function(r); \ + }); \ }