get_visible_region: do not clip out siblings of the top-level window.

diff --git a/server/window.c b/server/window.c
index f93106e..fc08531 100644
--- a/server/window.c
+++ b/server/window.c
@@ -522,7 +522,7 @@
 
     /* create a region relative to the window itself */
 
-    if ((flags & DCX_PARENTCLIP) && win->parent)
+    if ((flags & DCX_PARENTCLIP) && win != top && win->parent)
     {
         rectangle_t rect;
         rect.left = rect.top = 0;
@@ -562,14 +562,13 @@
     if (top && top != win && (tmp = create_empty_region()) != NULL)
     {
         offset_region( region, offset_x, offset_y );  /* make it relative to parent */
-        while (win->parent)
+        while (win != top && win->parent)
         {
             if (win->style & WS_CLIPSIBLINGS)
             {
                 if (!clip_children( win->parent, win, region, 0, 0 )) goto error;
                 if (is_region_empty( region )) break;
             }
-            if (win == top) break;
             /* clip to parent client area */
             win = win->parent;
             offset_x += win->client_rect.left;