Take into account window visibility when searching for a target for a
hardware mouse message.

diff --git a/server/queue.c b/server/queue.c
index 7946099..d711769 100644
--- a/server/queue.c
+++ b/server/queue.c
@@ -1083,7 +1083,8 @@
     {
         if (!input || !(win = input->capture))
         {
-            if (!(win = msg->win)) win = window_from_point( msg->x, msg->y );
+            if (!(win = msg->win) || !is_window_visible( win ))
+                win = window_from_point( msg->x, msg->y );
         }
     }
     return win;