Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mumble-voip/mumble.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWesley W. Terpstra <terpstra@users.sourceforge.net>2013-04-21 02:15:13 +0400
committerKissaki <kissaki@gmx.de>2013-06-05 00:37:36 +0400
commit10b2d000432c8b9741cda4082d5a537bd1143d15 (patch)
treec9336fc37f77e59b43115f4ffd5c5c398f98146a /overlay/HardHook.h
parent8b044264f3f47caef785a2d82a499c12b7406d1a (diff)
Prevent overlay from disappearing on D3D DLL reloading.
This is confirmed to fix the missing overlay in Guild Wars 2. When D3D was used by a process thus loading the DLL, but then unloaded we did not inject on subsequent loading of the D3D DLL (in the same exe). Guild Wars 2 did un- and reload the DLL when switching from their launcher to the game. This commit introduces HardHook::reset() and checks for inactive hardhooks for a newly loaded DLL. The changes were submitted on sourceforge https://sourceforge.net/p/mumble/bugs/909/#bf9e
Diffstat (limited to 'overlay/HardHook.h')
-rw-r--r--overlay/HardHook.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/overlay/HardHook.h b/overlay/HardHook.h
index 19b1937d9..8e472f76d 100644
--- a/overlay/HardHook.h
+++ b/overlay/HardHook.h
@@ -67,6 +67,7 @@ struct HardHook {
void *cloneCode(void **orig);
void setup(voidFunc func, voidFunc replacement);
void setupInterface(IUnknown *intf, LONG funcoffset, voidFunc replacement);
+ void reset();
void inject(bool force = false);
void restore(bool force = false);
void print();