mirror of
https://github.com/Caraxi/mare.client.git
synced 2025-12-12 16:47:22 +01:00
get fresh pointer on dispose
This commit is contained in:
parent
4b4e7b5563
commit
40b3bd01b3
3 changed files with 33 additions and 10 deletions
|
|
@ -96,11 +96,12 @@ public sealed class GameObjectHandler : DisposableMediatorSubscriberBase
|
|||
{
|
||||
return await _dalamudUtil.RunOnFrameworkThread(() =>
|
||||
{
|
||||
var curPtr = _getAddress.Invoke();
|
||||
|
||||
nint curPtr = IntPtr.Zero;
|
||||
try
|
||||
{
|
||||
var drawObj = GetDrawObj();
|
||||
curPtr = _getAddress.Invoke();
|
||||
|
||||
var drawObj = GetDrawObj(curPtr);
|
||||
return IsBeingDrawn(drawObj, curPtr);
|
||||
}
|
||||
catch (Exception)
|
||||
|
|
@ -258,9 +259,9 @@ public sealed class GameObjectHandler : DisposableMediatorSubscriberBase
|
|||
}
|
||||
}
|
||||
|
||||
private unsafe IntPtr GetDrawObj()
|
||||
private unsafe IntPtr GetDrawObj(nint curPtr)
|
||||
{
|
||||
return (IntPtr)((GameObject*)_getAddress.Invoke())->GetDrawObject();
|
||||
return (IntPtr)((GameObject*)curPtr)->GetDrawObject();
|
||||
}
|
||||
|
||||
private unsafe bool IsBeingDrawn(IntPtr drawObj, IntPtr curPtr)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue