]> git.saurik.com Git - wxWidgets.git/commitdiff
Corrected problem with MDI children not refreshing (removed WS_CLIPCHILDREN).
authorJulian Smart <julian@anthemion.co.uk>
Tue, 23 Jun 1998 10:29:23 +0000 (10:29 +0000)
committerJulian Smart <julian@anthemion.co.uk>
Tue, 23 Jun 1998 10:29:23 +0000 (10:29 +0000)
Double-fixed the LEAVE/ENTER bug...

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@139 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/msw/mdi.cpp
src/msw/window.cpp

index 7f7c044db08495f2cc6a8b9e337d57d5d394a003..7b808ede83363d4972fa88061fd4eba4e979eeca 100644 (file)
@@ -125,9 +125,7 @@ bool wxMDIParentFrame::Create(wxWindow *parent,
   wxDebugMsg("Loaded m_windowMenu %d\n", m_windowMenu);
 #endif
 
-  // Adding WS_CLIPCHILDREN causes children not to be properly
-  // drawn when first displaying them.
-  DWORD msflags = WS_OVERLAPPED ; // | WS_CLIPCHILDREN ;
+  DWORD msflags = WS_OVERLAPPED ;
   if (style & wxMINIMIZE_BOX)
     msflags |= WS_MINIMIZEBOX;
   if (style & wxMAXIMIZE_BOX)
@@ -142,8 +140,11 @@ bool wxMDIParentFrame::Create(wxWindow *parent,
     msflags |= WS_MAXIMIZE;
   if (style & wxCAPTION)
     msflags |= WS_CAPTION;
-  if (style & wxCLIP_CHILDREN)
-    msflags |= WS_CLIPCHILDREN;
+
+  // Adding WS_CLIPCHILDREN causes children not to be properly
+  // drawn when first displaying them.
+//  if (style & wxCLIP_CHILDREN)
+//    msflags |= WS_CLIPCHILDREN;
 
   wxWindow::MSWCreate(m_windowId, parent, wxMDIFrameClassName, this, title, x, y, width, height,
          msflags);
index 07126b51e3da56a97ea81cf8271725f7e8176eda..239bd48bb194047d2d9dafe83d58f77f9b335c22 100644 (file)
@@ -1936,11 +1936,11 @@ long wxWindow::MSWDefWindowProc(WXUINT nMsg, WXWPARAM wParam, WXLPARAM lParam)
 
 long wxWindow::Default()
 {
-    // These are fake events, ignore them
-    if (m_lastEvent != wxEVT_ENTER_WINDOW && m_lastEvent != wxEVT_LEAVE_WINDOW)
-        return this->MSWDefWindowProc(m_lastMsg, m_lastWParam, m_lastLParam);
-    else
+    // Ignore 'fake' events (perhaps generated as a result of a separate real event)
+    if (m_lastMsg == 0)
         return 0;
+
+    return this->MSWDefWindowProc(m_lastMsg, m_lastWParam, m_lastLParam);
 }
 
 bool wxWindow::MSWProcessMessage(WXMSG* pMsg)
@@ -2444,6 +2444,8 @@ void wxWindow::MSWOnMouseEnter(const int x, const int y, const WXUINT flags)
 
   m_lastEvent = wxEVT_ENTER_WINDOW;
   m_lastXPos = event.m_x; m_lastYPos = event.m_y;
+  // No message - ensure we don't try to call the default behaviour accidentally.
+  m_lastMsg = 0;
   GetEventHandler()->ProcessEvent(event);
 }
 
@@ -2462,6 +2464,8 @@ void wxWindow::MSWOnMouseLeave(const int x, const int y, const WXUINT flags)
 
   m_lastEvent = wxEVT_LEAVE_WINDOW;
   m_lastXPos = event.m_x; m_lastYPos = event.m_y;
+  // No message - ensure we don't try to call the default behaviour accidentally.
+  m_lastMsg = 0;
   GetEventHandler()->ProcessEvent(event);
 }