Revert the previous change, this is not working right yet.

diff --git a/server/queue.c b/server/queue.c
index c87dd23..05f4c7c 100644
--- a/server/queue.c
+++ b/server/queue.c
@@ -1117,17 +1117,17 @@
 static void queue_hardware_message( struct msg_queue *queue, struct message *msg )
 {
     user_handle_t win;
-    struct thread *thread = NULL;
-    struct thread_input *input = queue ? queue->input : foreground_input;
+    struct thread *thread;
+    struct thread_input *input;
     unsigned int msg_code;
 
-    win = find_hardware_message_window( input, msg, &msg_code );
-    if (win && !(thread = get_window_thread(win)))
+    win = find_hardware_message_window( queue ? queue->input : foreground_input, msg, &msg_code );
+    if (!win || !(thread = get_window_thread(win)))
     {
         free( msg );
         return;
     }
-    if (thread) input = thread->queue->input;
+    input = thread->queue->input;
 
     if (msg->msg == WM_MOUSEMOVE && merge_message( input, msg )) free( msg );
     else
@@ -1135,7 +1135,7 @@
         list_add_tail( &input->msg_list, &msg->entry );
         set_queue_bits( thread->queue, get_hardware_msg_bit(msg) );
     }
-    if (thread) release_object( thread );
+    release_object( thread );
 }
 
 /* find a hardware message for the given queue */