Commit e4faa129 authored by Alexandre Julliard's avatar Alexandre Julliard

server: Make sure that last error doesn't get set during thread cleanup.

parent 60efdd55
......@@ -30,6 +30,7 @@
#define WIN32_NO_STATUS
#include "request.h"
#include "object.h"
#include "process.h"
#include "user.h"
#include "winuser.h"
#include "winternl.h"
......@@ -112,9 +113,10 @@ static struct clipboard *get_process_clipboard(void)
void cleanup_clipboard_thread(struct thread *thread)
{
struct clipboard *clipboard;
struct winstation *winstation = get_process_winstation( thread->process, WINSTA_ACCESSCLIPBOARD );
struct winstation *winstation;
if (!winstation) return;
if (!thread->process->winstation) return;
if (!(winstation = get_process_winstation( thread->process, WINSTA_ACCESSCLIPBOARD ))) return;
if ((clipboard = winstation->clipboard))
{
......
......@@ -114,9 +114,10 @@ static struct hook_table *alloc_hook_table(void)
static struct hook_table *get_global_hooks( struct thread *thread )
{
struct hook_table *table;
struct desktop *desktop = get_thread_desktop( thread, 0 );
struct desktop *desktop;
if (!desktop) return NULL;
if (!thread->desktop) return NULL;
if (!(desktop = get_thread_desktop( thread, 0 ))) return NULL;
table = desktop->global_hooks;
release_object( desktop );
return table;
......
......@@ -632,6 +632,8 @@ static void process_killed( struct process *process )
handles = process->handles;
process->handles = NULL;
if (handles) release_object( handles );
process->winstation = 0;
process->desktop = 0;
/* close the console attached to this process, if any */
free_console( process );
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment