user32,server: Set the initial window rectangles to 0,0-0,0.
diff --git a/dlls/user32/win.c b/dlls/user32/win.c
index b1dec05..9730df2 100644
--- a/dlls/user32/win.c
+++ b/dlls/user32/win.c
@@ -166,6 +166,8 @@
     win->dwMagic    = WND_MAGIC;
     win->flags      = 0;
     win->cbWndExtra = extra_bytes;
+    SetRectEmpty( &win->rectWindow );
+    SetRectEmpty( &win->rectClient );
     memset( win->wExtra, 0, extra_bytes );
     CLASS_AddWindow( class, win, unicode );
     return win;
diff --git a/dlls/winex11.drv/window.c b/dlls/winex11.drv/window.c
index 109b142..84209b7 100644
--- a/dlls/winex11.drv/window.c
+++ b/dlls/winex11.drv/window.c
@@ -1203,22 +1203,9 @@
 {
     struct x11drv_win_data *data;
 
-    if ((data = HeapAlloc(GetProcessHeap(), 0, sizeof(*data))))
+    if ((data = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*data))))
     {
-        data->hwnd          = hwnd;
-        data->whole_window  = 0;
-        data->icon_window   = 0;
-        data->fbconfig_id   = 0;
-        data->gl_drawable   = 0;
-        data->pixmap        = 0;
-        data->xic           = 0;
-        data->managed       = FALSE;
-        data->wm_state      = 0;
-        data->dce           = NULL;
-        data->lock_changes  = 0;
-        data->hWMIconBitmap = 0;
-        data->hWMIconMask   = 0;
-
+        data->hwnd = hwnd;
         wine_tsx11_lock();
         if (!winContext) winContext = XUniqueContext();
         if (!win_data_context) win_data_context = XUniqueContext();
diff --git a/server/window.c b/server/window.c
index 8cf8001..201f804 100644
--- a/server/window.c
+++ b/server/window.c
@@ -424,6 +424,7 @@
 static struct window *create_window( struct window *parent, struct window *owner,
                                      atom_t atom, void *instance )
 {
+    static const rectangle_t empty_rect;
     int extra_bytes;
     struct window *win;
     struct desktop *desktop;
@@ -462,6 +463,7 @@
     win->prop_alloc     = 0;
     win->properties     = NULL;
     win->nb_extra_bytes = extra_bytes;
+    win->window_rect = win->visible_rect = win->client_rect = empty_rect;
     memset( win->extra_bytes, 0, extra_bytes );
     list_init( &win->children );
     list_init( &win->unlinked );