[1/2] comctl32: reduce duplicate code between
PROPSHEET_CollectSheetInfoA/W
Lei Zhang
thestig at google.com
Tue Jun 26 02:29:58 CDT 2007
Hi,
There's some common code between PROPSHEET_CollectSheetInfoA/W that
can be merged together.
-------------- next part --------------
From 0fdc3efaac2eeb805eeec15f629ed41b2ecce176 Mon Sep 17 00:00:00 2001
From: Lei Zhang <thestig at google.com>
Date: Tue, 26 Jun 2007 00:14:03 -0700
Subject: [PATCH 1/2] comctl32: reduce duplicate code between PROPSHEET_CollectSheetInfoA/W
---
dlls/comctl32/propsheet.c | 55 ++++++++++++++++++++-------------------------
1 files changed, 25 insertions(+), 30 deletions(-)
diff --git a/dlls/comctl32/propsheet.c b/dlls/comctl32/propsheet.c
index 6a60e19..b8e156c 100644
--- a/dlls/comctl32/propsheet.c
+++ b/dlls/comctl32/propsheet.c
@@ -286,29 +286,44 @@ static void PROPSHEET_AtoW(LPCWSTR *tost
}
/******************************************************************************
+ * PROPSHEET_CollectSheetInfoCommon
+ *
+ * Common code for PROPSHEET_CollectSheetInfoA/W
+ */
+static void PROPSHEET_CollectSheetInfoCommon(PropSheetInfo * psInfo, DWORD dwFlags)
+{
+ PROPSHEET_UnImplementedFlags(dwFlags);
+
+ psInfo->hasHelp = dwFlags & PSH_HASHELP;
+ psInfo->hasApply = !(dwFlags & PSH_NOAPPLYNOW);
+ psInfo->hasFinish = dwFlags & PSH_WIZARDHASFINISH;
+ psInfo->isModeless = dwFlags & PSH_MODELESS;
+ if (psInfo->active_page < 0 || psInfo->active_page >= psInfo->nPages)
+ psInfo->active_page = 0;
+
+ psInfo->result = 0;
+ psInfo->hImageList = 0;
+ psInfo->activeValid = FALSE;
+}
+
+/******************************************************************************
* PROPSHEET_CollectSheetInfoA
*
* Collect relevant data.
*/
-static BOOL PROPSHEET_CollectSheetInfoA(LPCPROPSHEETHEADERA lppsh,
+static void PROPSHEET_CollectSheetInfoA(LPCPROPSHEETHEADERA lppsh,
PropSheetInfo * psInfo)
{
DWORD dwSize = min(lppsh->dwSize,sizeof(PROPSHEETHEADERA));
DWORD dwFlags = lppsh->dwFlags;
- psInfo->hasHelp = dwFlags & PSH_HASHELP;
- psInfo->hasApply = !(dwFlags & PSH_NOAPPLYNOW);
- psInfo->hasFinish = dwFlags & PSH_WIZARDHASFINISH;
psInfo->useCallback = (dwFlags & PSH_USECALLBACK )&& (lppsh->pfnCallback);
- psInfo->isModeless = dwFlags & PSH_MODELESS;
memcpy(&psInfo->ppshheader,lppsh,dwSize);
TRACE("\n** PROPSHEETHEADER **\ndwSize\t\t%d\ndwFlags\t\t%08x\nhwndParent\t%p\nhInstance\t%p\npszCaption\t'%s'\nnPages\t\t%d\npfnCallback\t%p\n",
lppsh->dwSize, lppsh->dwFlags, lppsh->hwndParent, lppsh->hInstance,
debugstr_a(lppsh->pszCaption), lppsh->nPages, lppsh->pfnCallback);
- PROPSHEET_UnImplementedFlags(lppsh->dwFlags);
-
if (lppsh->dwFlags & INTRNL_ANY_WIZARD)
psInfo->ppshheader.pszCaption = NULL;
else
@@ -332,14 +347,7 @@ static BOOL PROPSHEET_CollectSheetInfoA(
else
psInfo->active_page = lppsh->u2.nStartPage;
- if (psInfo->active_page < 0 || psInfo->active_page >= psInfo->nPages)
- psInfo->active_page = 0;
-
- psInfo->result = 0;
- psInfo->hImageList = 0;
- psInfo->activeValid = FALSE;
-
- return TRUE;
+ PROPSHEET_CollectSheetInfoCommon(psInfo, dwFlags);
}
/******************************************************************************
@@ -347,24 +355,18 @@ static BOOL PROPSHEET_CollectSheetInfoA(
*
* Collect relevant data.
*/
-static BOOL PROPSHEET_CollectSheetInfoW(LPCPROPSHEETHEADERW lppsh,
+static void PROPSHEET_CollectSheetInfoW(LPCPROPSHEETHEADERW lppsh,
PropSheetInfo * psInfo)
{
DWORD dwSize = min(lppsh->dwSize,sizeof(PROPSHEETHEADERW));
DWORD dwFlags = lppsh->dwFlags;
- psInfo->hasHelp = dwFlags & PSH_HASHELP;
- psInfo->hasApply = !(dwFlags & PSH_NOAPPLYNOW);
- psInfo->hasFinish = dwFlags & PSH_WIZARDHASFINISH;
psInfo->useCallback = (dwFlags & PSH_USECALLBACK) && (lppsh->pfnCallback);
- psInfo->isModeless = dwFlags & PSH_MODELESS;
memcpy(&psInfo->ppshheader,lppsh,dwSize);
TRACE("\n** PROPSHEETHEADER **\ndwSize\t\t%d\ndwFlags\t\t%08x\nhwndParent\t%p\nhInstance\t%p\npszCaption\t%s\nnPages\t\t%d\npfnCallback\t%p\n",
lppsh->dwSize, lppsh->dwFlags, lppsh->hwndParent, lppsh->hInstance, debugstr_w(lppsh->pszCaption), lppsh->nPages, lppsh->pfnCallback);
- PROPSHEET_UnImplementedFlags(lppsh->dwFlags);
-
if (lppsh->dwFlags & INTRNL_ANY_WIZARD)
psInfo->ppshheader.pszCaption = NULL;
else
@@ -387,14 +389,7 @@ static BOOL PROPSHEET_CollectSheetInfoW(
else
psInfo->active_page = lppsh->u2.nStartPage;
- if (psInfo->active_page < 0 || psInfo->active_page >= psInfo->nPages)
- psInfo->active_page = 0;
-
- psInfo->result = 0;
- psInfo->hImageList = 0;
- psInfo->activeValid = FALSE;
-
- return TRUE;
+ PROPSHEET_CollectSheetInfoCommon(psInfo, dwFlags);
}
/******************************************************************************
--
1.4.1
More information about the wine-patches
mailing list