[PATCH] Monthcal lost focus fix

Gregor Brunmar gregor.brunmar at home.se
Mon Dec 10 12:21:36 CST 2007


---
 dlls/comctl32/monthcal.c |    9 ++++++---
 1 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/dlls/comctl32/monthcal.c b/dlls/comctl32/monthcal.c
index 8a92d42..801221b 100644
--- a/dlls/comctl32/monthcal.c
+++ b/dlls/comctl32/monthcal.c
@@ -1719,11 +1719,14 @@ MONTHCAL_Paint(MONTHCAL_INFO *infoPtr, WPARAM wParam)
 
 
 static LRESULT
-MONTHCAL_KillFocus(const MONTHCAL_INFO *infoPtr)
+MONTHCAL_KillFocus(const MONTHCAL_INFO *infoPtr, HWND hFocusWnd)
 {
   TRACE("\n");
 
-  InvalidateRect(infoPtr->hwndSelf, NULL, TRUE);
+  if (infoPtr->hwndNotify != hFocusWnd)
+    ShowWindow(infoPtr->hwndSelf, SW_HIDE);
+  else
+    InvalidateRect(infoPtr->hwndSelf, NULL, TRUE);
 
   return 0;
 }
@@ -2031,7 +2034,7 @@ MONTHCAL_WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
     return DLGC_WANTARROWS | DLGC_WANTCHARS;
 
   case WM_KILLFOCUS:
-    return MONTHCAL_KillFocus(infoPtr);
+    return MONTHCAL_KillFocus(infoPtr, wParam);
 
   case WM_RBUTTONDOWN:
     return MONTHCAL_RButtonDown(infoPtr, lParam);
-- 
1.5.3.GIT


--------------050700030400060207010008--



More information about the wine-patches mailing list