Nikolay Sivov : comctl32/monthcal: Optimize WM_LBUTTONUP handler.
Alexandre Julliard
julliard at winehq.org
Wed Oct 7 09:46:04 CDT 2009
Module: wine
Branch: master
Commit: 71d4b5fcd4ae3f4fb107a7d2fbd876d6f7b9dd3d
URL: http://source.winehq.org/git/wine.git/?a=commit;h=71d4b5fcd4ae3f4fb107a7d2fbd876d6f7b9dd3d
Author: Nikolay Sivov <bunglehead at gmail.com>
Date: Wed Oct 7 01:20:48 2009 +0400
comctl32/monthcal: Optimize WM_LBUTTONUP handler.
---
dlls/comctl32/monthcal.c | 22 +++++++++-------------
1 files changed, 9 insertions(+), 13 deletions(-)
diff --git a/dlls/comctl32/monthcal.c b/dlls/comctl32/monthcal.c
index a2c7aaa..21c72d1 100644
--- a/dlls/comctl32/monthcal.c
+++ b/dlls/comctl32/monthcal.c
@@ -1,11 +1,12 @@
-/* Month calendar control
-
+/*
+ * Month calendar control
*
* Copyright 1998, 1999 Eric Kohl (ekohl at abo.rhein-zeitung.de)
* Copyright 1999 Alex Priem (alexp at sci.kun.nl)
* Copyright 1999 Chris Morgan <cmorgan at wpi.edu> and
* James Abbatiello <abbeyj at wpi.edu>
* Copyright 2000 Uwe Bonnes <bon at elektron.ikp.physik.tu-darmstadt.de>
+ * Copyright 2009 Nikolay Sivov
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@@ -1788,16 +1789,19 @@ static LRESULT
MONTHCAL_LButtonUp(MONTHCAL_INFO *infoPtr, LPARAM lParam)
{
NMHDR nmhdr;
- BOOL redraw = FALSE;
MCHITTESTINFO ht;
DWORD hit;
TRACE("\n");
if(infoPtr->status & (MC_PREVPRESSED | MC_NEXTPRESSED)) {
+ RECT *r;
+
KillTimer(infoPtr->hwndSelf, MC_PREVNEXTMONTHTIMER);
+ r = infoPtr->status & MC_PREVPRESSED ? &infoPtr->titlebtnprev : &infoPtr->titlebtnnext;
infoPtr->status &= ~(MC_PREVPRESSED | MC_NEXTPRESSED);
- redraw = TRUE;
+
+ InvalidateRect(infoPtr->hwndSelf, r, FALSE);
}
ReleaseCapture();
@@ -1818,9 +1822,7 @@ MONTHCAL_LButtonUp(MONTHCAL_INFO *infoPtr, LPARAM lParam)
infoPtr->status = MC_SEL_LBUTUP;
MONTHCAL_SetDayFocus(infoPtr, NULL);
- if((hit == MCHT_CALENDARDATENEXT) ||
- (hit == MCHT_CALENDARDATEPREV) ||
- (hit == MCHT_CALENDARDATE))
+ if((hit & MCHT_CALENDARDATE) == MCHT_CALENDARDATE)
{
SYSTEMTIME sel = infoPtr->curSel;
@@ -1839,14 +1841,8 @@ MONTHCAL_LButtonUp(MONTHCAL_INFO *infoPtr, LPARAM lParam)
MONTHCAL_NotifySelectionChange(infoPtr);
MONTHCAL_NotifySelect(infoPtr);
-
- return 0;
}
- /* redraw if necessary */
- if(redraw)
- InvalidateRect(infoPtr->hwndSelf, NULL, FALSE);
-
return 0;
}
More information about the wine-cvs
mailing list