Rob Shearman : user32: Free allocated memory in USER_unload_driver.
Alexandre Julliard
julliard at winehq.org
Mon Jan 12 10:40:41 CST 2009
Module: wine
Branch: master
Commit: ea00dc4b49de4e339c154defdd4e1258ada0290a
URL: http://source.winehq.org/git/wine.git/?a=commit;h=ea00dc4b49de4e339c154defdd4e1258ada0290a
Author: Rob Shearman <robertshearman at gmail.com>
Date: Sat Jan 10 20:56:21 2009 +0000
user32: Free allocated memory in USER_unload_driver.
---
dlls/user32/driver.c | 5 ++++-
1 files changed, 4 insertions(+), 1 deletions(-)
diff --git a/dlls/user32/driver.c b/dlls/user32/driver.c
index 86d1543..6454f65 100644
--- a/dlls/user32/driver.c
+++ b/dlls/user32/driver.c
@@ -141,8 +141,11 @@ static const USER_DRIVER *load_driver(void)
/* unload the graphics driver on process exit */
void USER_unload_driver(void)
{
+ USER_DRIVER *prev;
/* make sure we don't try to call the driver after it has been detached */
- USER_Driver = &null_driver;
+ prev = InterlockedExchangePointer( (void **)&USER_Driver, &null_driver );
+ if (prev != &lazy_load_driver && prev != &null_driver)
+ HeapFree( GetProcessHeap(), 0, prev );
}
More information about the wine-cvs
mailing list