mirror of
https://github.com/ValveSoftware/Proton.git
synced 2024-12-26 06:35:46 +03:00
lsteamclient: Also don't cache interfaces with vtable allocated from steamclient.dll.
CW-Bug-Id: #20909
This commit is contained in:
parent
ba3d473ec1
commit
18195c558d
@ -615,8 +615,14 @@ void *create_win_interface(const char *name, void *linux_side)
|
||||
if (!strcmp(name, constructors[i].iface_version))
|
||||
{
|
||||
ret = constructors[i].ctor(linux_side);
|
||||
if (allocated_from_steamclient_dll(ret))
|
||||
if (allocated_from_steamclient_dll(ret)
|
||||
|| allocated_from_steamclient_dll(*(void **)ret) /* vtable */)
|
||||
{
|
||||
/* Don't cache interfaces allocated from steamclient.dll space.
|
||||
* steamclient may get reloaded by the app, miss the previous
|
||||
* data and potentially have different load address. */
|
||||
break;
|
||||
}
|
||||
|
||||
e = HeapAlloc(GetProcessHeap(), 0, sizeof(*e));
|
||||
e->name = constructors[i].iface_version;
|
||||
|
Loading…
Reference in New Issue
Block a user