]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/window.cpp
1. corrected HAVE_PW_GECOS detection in configure (which never worked)
[wxWidgets.git] / src / msw / window.cpp
index b8533b3dfbb39aa5756764f3b536645a71e38725..a011dca8aba618a9aed2cc679ce91bac0e9bc2e1 100644 (file)
@@ -302,6 +302,7 @@ bool wxWindow::Create(wxWindow *parent, wxWindowID id,
     if ( style & wxTHICK_FRAME )
         msflags |= WS_THICKFRAME;
 
+    //msflags |= WS_CHILD | WS_CLIPSIBLINGS | WS_VISIBLE;
     msflags |= WS_CHILD | WS_VISIBLE;
     if ( style & wxCLIP_CHILDREN )
         msflags |= WS_CLIPCHILDREN;
@@ -469,20 +470,20 @@ bool wxWindow::SetCursor(const wxCursor& cursor)
         return FALSE;
     }
 
-    wxASSERT_MSG( m_cursor.Ok(),
-                  wxT("cursor must be valid after call to the base version"));
+    if ( m_cursor.Ok() )
+    {
+        HWND hWnd = GetHwnd();
 
-    HWND hWnd = GetHwnd();
+        // Change the cursor NOW if we're within the correct window
+        POINT point;
+        ::GetCursorPos(&point);
 
-    // Change the cursor NOW if we're within the correct window
-    POINT point;
-    ::GetCursorPos(&point);
-
-    RECT rect;
-    ::GetWindowRect(hWnd, &rect);
+        RECT rect;
+        ::GetWindowRect(hWnd, &rect);
 
-    if ( ::PtInRect(&rect, point) && !wxIsBusy() )
-        ::SetCursor(GetHcursorOf(m_cursor));
+        if ( ::PtInRect(&rect, point) && !wxIsBusy() )
+            ::SetCursor(GetHcursorOf(m_cursor));
+    }
 
     return TRUE;
 }
@@ -2354,7 +2355,11 @@ bool wxWindow::MSWCreate(int id,
     {
         int controlId = 0;
         if ( style & WS_CHILD )
+          {
             controlId = id;
+            // all child windows should clip their siblings
+            // style |= WS_CLIPSIBLINGS;
+          }
 
         wxString className(wclass);
         if ( GetWindowStyleFlag() & wxNO_FULL_REPAINT_ON_RESIZE )
@@ -2684,10 +2689,15 @@ bool wxWindow::HandleSetCursor(WXHWND hWnd,
     // first ask the user code - it may wish to set the cursor in some very
     // specific way (for example, depending on the current position)
     POINT pt;
+#ifdef __WIN32__
     if ( !::GetCursorPos(&pt) )
     {
         wxLogLastError("GetCursorPos");
     }
+#else
+    // In WIN16 it doesn't return a value.
+    ::GetCursorPos(&pt);
+#endif
 
     int x = pt.x,
         y = pt.y;