server: Try to update the input key state even when the message is
dropped in queue_hardware_message. This should fix some problems with
the Alt key getting "stuck" after Alt-Tab.
diff --git a/server/queue.c b/server/queue.c
index 57b94b8..2b3f89c 100644
--- a/server/queue.c
+++ b/server/queue.c
@@ -1222,14 +1222,14 @@
 {
     user_handle_t win;
     struct thread *thread;
-    struct thread_input *input;
+    struct thread_input *input = queue ? queue->input : foreground_input;
     unsigned int msg_code;
 
     last_input_time = get_tick_count();
-
-    win = find_hardware_message_window( queue ? queue->input : foreground_input, msg, &msg_code );
+    win = find_hardware_message_window( input, msg, &msg_code );
     if (!win || !(thread = get_window_thread(win)))
     {
+        if (input) update_input_key_state( input, msg );
         free( msg );
         return;
     }