[2/2] server: A being destroyed object may need to access other objects using a handle.
Dmitry Timoshkov
dmitry at baikal.ru
Fri May 24 02:58:03 CDT 2013
A valid winstation handle is needed during clipboard thread clean up.
---
dlls/kernel32/tests/process.c | 1 -
server/handle.c | 3 +--
2 files changed, 1 insertion(+), 3 deletions(-)
diff --git a/dlls/kernel32/tests/process.c b/dlls/kernel32/tests/process.c
index 350c858..88dcfbb 100644
--- a/dlls/kernel32/tests/process.c
+++ b/dlls/kernel32/tests/process.c
@@ -1957,7 +1957,6 @@ static void test_TerminateProcess(void)
SetLastError(0xdeadbeef);
ret = TerminateProcess(pi.hProcess, 0);
-todo_wine
ok(ret, "TerminateProcess error %u\n", GetLastError());
CloseHandle(pi.hProcess);
diff --git a/server/handle.c b/server/handle.c
index 1d8087b..5dc4187 100644
--- a/server/handle.c
+++ b/server/handle.c
@@ -165,7 +165,6 @@ static void handle_table_destroy( struct object *obj )
for (i = 0, entry = table->entries; i <= table->last; i++, entry++)
{
struct object *obj = entry->ptr;
- entry->ptr = NULL;
if (obj) release_object( obj );
}
free( table->entries );
@@ -176,8 +175,8 @@ void close_process_handles( struct process *process )
{
struct handle_table *table = process->handles;
- process->handles = NULL;
if (table) release_object( table );
+ process->handles = NULL;
}
/* allocate a new handle table */
--
1.8.2.3
More information about the wine-patches
mailing list