Fixed some bad ptr occurrence in this class WndProc.

diff --git a/windows/mdi.c b/windows/mdi.c
index 0ece273..6cfe2bd 100644
--- a/windows/mdi.c
+++ b/windows/mdi.c
@@ -1021,16 +1021,23 @@
 LRESULT WINAPI MDIClientWndProc( HWND hwnd, UINT message, WPARAM wParam,
                                  LPARAM lParam )
 {
-    LPCREATESTRUCTA    cs;
+    LPCREATESTRUCTA	 cs;
     MDICLIENTINFO       *ci;
     RECT		 rect;
-    WND                 *w 	  = WIN_FindWndPtr(hwnd);
-    WND			*frameWnd = WIN_LockWndPtr(w->parent);
-    INT nItems;
-    LRESULT            retvalue;
+    WND                 *w, *frameWnd;
+    INT 		 nItems;
+    LRESULT              retvalue;
     
-    ci = (MDICLIENTINFO *) w->wExtra;
-    
+    if ( ( w = WIN_FindWndPtr(hwnd) ) == NULL )
+       return 0;
+
+    if ( ( frameWnd = WIN_LockWndPtr(w->parent) ) == NULL ) {
+       WIN_ReleaseWndPtr(w);
+       return 0;
+    }
+
+    ci = (MDICLIENTINFO *) w->wExtra;    
+
     switch (message)
     {
       case WM_CREATE: