[PATCH 4/7] Optimize WM_LBUTTONUP handler
Nikolay Sivov
bunglehead at gmail.com
Tue Oct 6 16:20:48 CDT 2009
---
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;
}
--
1.5.6.5
--=-jvp7Y8wpxDbqv8ZDNGJD--
More information about the wine-patches
mailing list