Go back to thmutil not interfering with wixstdba controls.
Sean Hall committed
Nov 8, 2021 at 15:24 UTC
9d3af7547bb790d39157dd36dfa862a1abf47beb
9 files changed
+61
-29
src/api/burn/balutil/inc/BAFunctions.h
+1
@@ -141,6 +141,7 @@ struct BA_FUNCTIONS_ONTHEMECONTROLLOADING_RESULTS
141
DWORD cbSize;
142
BOOL fProcessed;
143
WORD wId;
144
+ BOOL fDisableAutomaticFunctionality;
145
};
146
147
struct BA_FUNCTIONS_ONTHEMECONTROLWMCOMMAND_ARGS
src/api/burn/balutil/inc/BalBaseBAFunctions.h
+2
-1
@@ -835,7 +835,8 @@ public: // IBAFunctions
835
virtual STDMETHODIMP OnThemeControlLoading(
836
__in LPCWSTR /*wzName*/,
837
__inout BOOL* /*pfProcessed*/,
838
- __inout WORD* /*pwId*/
838
+ __inout WORD* /*pwId*/,
839
+ __inout BOOL* /*pfDisableAutomaticFunctionality*/
840
)
841
{
842
return S_OK;
src/api/burn/balutil/inc/BalBaseBAFunctionsProc.h
+1
-1
@@ -30,7 +30,7 @@ static HRESULT BalBaseBAFunctionsProcOnThemeControlLoading(
30
__inout BA_FUNCTIONS_ONTHEMECONTROLLOADING_RESULTS* pResults
31
)
32
{
33
- return pBAFunctions->OnThemeControlLoading(pArgs->wzName, &pResults->fProcessed, &pResults->wId);
33
+ return pBAFunctions->OnThemeControlLoading(pArgs->wzName, &pResults->fProcessed, &pResults->wId, &pResults->fDisableAutomaticFunctionality);
34
}
35
36
static HRESULT BalBaseBAFunctionsProcOnThemeControlWmCommand(
src/api/burn/balutil/inc/IBAFunctions.h
+2
-1
@@ -35,7 +35,8 @@ DECLARE_INTERFACE_IID_(IBAFunctions, IBootstrapperApplication, "0FB445ED-17BD-49
35
STDMETHOD(OnThemeControlLoading)(
36
__in LPCWSTR wzName,
37
__inout BOOL* pfProcessed,
38
- __inout WORD* pwId
38
+ __inout WORD* pwId,
39
+ __inout BOOL* pfDisableAutomaticFunctionality
40
) = 0;
41
42
// OnThemeControlWmCommand - Called when WM_COMMAND is received for a control.
src/ext/Bal/wixstdba/WixStandardBootstrapperApplication.cpp
+27
-1
@@ -2927,6 +2927,7 @@ private:
2927
2928
fProcessed = TRUE;
2929
pResults->wId = pAssignControl->wId;
2930
+ pResults->fDisableAutomaticFunctionality = pAssignControl->fDisableAutomaticFunctionality;
2931
ExitFunction();
2932
}
2933
}
@@ -2938,6 +2939,7 @@ private:
2939
2940
themeControlLoadingResults.cbSize = sizeof(themeControlLoadingResults);
2941
themeControlLoadingResults.wId = pResults->wId;
2942
+ themeControlLoadingResults.fDisableAutomaticFunctionality = pResults->fDisableAutomaticFunctionality;
2943
2944
hr = m_pfnBAFunctionsProc(BA_FUNCTIONS_MESSAGE_ONTHEMECONTROLLOADING, &themeControlLoadingArgs, &themeControlLoadingResults, m_pvBAFunctionsProcContext);
2945
@@ -2953,6 +2955,7 @@ private:
2955
{
2956
fProcessed = TRUE;
2957
pResults->wId = themeControlLoadingResults.wId;
2958
+ pResults->fDisableAutomaticFunctionality = themeControlLoadingResults.fDisableAutomaticFunctionality;
2959
}
2960
}
2961
}
@@ -4040,7 +4043,7 @@ LExit:
4043
BalExitOnNullWithLastError(pfnBAFunctionsCreate, hr, "Failed to get BAFunctionsCreate entry-point from: %ls", sczBafPath);
4044
4045
bafCreateArgs.cbSize = sizeof(bafCreateArgs);
4043
- bafCreateArgs.qwBAFunctionsAPIVersion = MAKEQWORDVERSION(2021, 9, 20, 0);
4046
+ bafCreateArgs.qwBAFunctionsAPIVersion = MAKEQWORDVERSION(2021, 11, 8, 0);
4047
bafCreateArgs.pBootstrapperCreateArgs = &m_createArgs;
4048
4049
bafCreateResults.cbSize = sizeof(bafCreateResults);
@@ -4138,138 +4141,161 @@ public:
4141
pAssignControl->wId = WIXSTDBA_CONTROL_INSTALL_BUTTON;
4142
pAssignControl->wzName = L"InstallButton";
4143
pAssignControl->ppControl = &m_pControlInstallButton;
4144
+ pAssignControl->fDisableAutomaticFunctionality = TRUE;
4145
m_pControlInstallButton = NULL;
4146
++pAssignControl;
4147
4148
pAssignControl->wId = WIXSTDBA_CONTROL_EULA_RICHEDIT;
4149
pAssignControl->wzName = L"EulaRichedit";
4150
pAssignControl->ppControl = &m_pControlEulaRichedit;
4151
+ pAssignControl->fDisableAutomaticFunctionality = TRUE;
4152
m_pControlEulaRichedit = NULL;
4153
++pAssignControl;
4154
4155
pAssignControl->wId = WIXSTDBA_CONTROL_EULA_LINK;
4156
pAssignControl->wzName = L"EulaHyperlink";
4157
pAssignControl->ppControl = &m_pControlEulaHyperlink;
4158
+ pAssignControl->fDisableAutomaticFunctionality = TRUE;
4159
m_pControlEulaHyperlink = NULL;
4160
++pAssignControl;
4161
4162
pAssignControl->wId = WIXSTDBA_CONTROL_EULA_ACCEPT_CHECKBOX;
4163
pAssignControl->wzName = L"EulaAcceptCheckbox";
4164
pAssignControl->ppControl = &m_pControlEulaAcceptCheckbox;
4165
+ pAssignControl->fDisableAutomaticFunctionality = TRUE;
4166
m_pControlEulaAcceptCheckbox = NULL;
4167
++pAssignControl;
4168
4169
pAssignControl->wId = WIXSTDBA_CONTROL_REPAIR_BUTTON;
4170
pAssignControl->wzName = L"RepairButton";
4171
pAssignControl->ppControl = &m_pControlRepairButton;
4172
+ pAssignControl->fDisableAutomaticFunctionality = TRUE;
4173
m_pControlRepairButton = NULL;
4174
++pAssignControl;
4175
4176
pAssignControl->wId = WIXSTDBA_CONTROL_UNINSTALL_BUTTON;
4177
pAssignControl->wzName = L"UninstallButton";
4178
pAssignControl->ppControl = &m_pControlUninstallButton;
4179
+ pAssignControl->fDisableAutomaticFunctionality = TRUE;
4180
m_pControlUninstallButton = NULL;
4181
++pAssignControl;
4182
4183
pAssignControl->wId = WIXSTDBA_CONTROL_CACHE_PROGRESS_PACKAGE_TEXT;
4184
pAssignControl->wzName = L"CacheProgressPackageText";
4185
pAssignControl->ppControl = &m_pControlCacheProgressPackageText;
4186
+ pAssignControl->fDisableAutomaticFunctionality = TRUE;
4187
m_pControlCacheProgressPackageText = NULL;
4188
++pAssignControl;
4189
4190
pAssignControl->wId = WIXSTDBA_CONTROL_CACHE_PROGRESS_BAR;
4191
pAssignControl->wzName = L"CacheProgressbar";
4192
pAssignControl->ppControl = &m_pControlCacheProgressbar;
4193
+ pAssignControl->fDisableAutomaticFunctionality = TRUE;
4194
m_pControlCacheProgressbar = NULL;
4195
++pAssignControl;
4196
4197
pAssignControl->wId = WIXSTDBA_CONTROL_CACHE_PROGRESS_TEXT;
4198
pAssignControl->wzName = L"CacheProgressText";
4199
pAssignControl->ppControl = &m_pControlCacheProgressText;
4200
+ pAssignControl->fDisableAutomaticFunctionality = TRUE;
4201
m_pControlCacheProgressText = NULL;
4202
++pAssignControl;
4203
4204
pAssignControl->wId = WIXSTDBA_CONTROL_EXECUTE_PROGRESS_PACKAGE_TEXT;
4205
pAssignControl->wzName = L"ExecuteProgressPackageText";
4206
pAssignControl->ppControl = &m_pControlExecuteProgressPackageText;
4207
+ pAssignControl->fDisableAutomaticFunctionality = TRUE;
4208
m_pControlExecuteProgressPackageText = NULL;
4209
++pAssignControl;
4210
4211
pAssignControl->wId = WIXSTDBA_CONTROL_EXECUTE_PROGRESS_BAR;
4212
pAssignControl->wzName = L"ExecuteProgressbar";
4213
pAssignControl->ppControl = &m_pControlExecuteProgressbar;
4214
+ pAssignControl->fDisableAutomaticFunctionality = TRUE;
4215
m_pControlExecuteProgressbar = NULL;
4216
++pAssignControl;
4217
4218
pAssignControl->wId = WIXSTDBA_CONTROL_EXECUTE_PROGRESS_TEXT;
4219
pAssignControl->wzName = L"ExecuteProgressText";
4220
pAssignControl->ppControl = &m_pControlExecuteProgressText;
4221
+ pAssignControl->fDisableAutomaticFunctionality = TRUE;
4222
m_pControlExecuteProgressText = NULL;
4223
++pAssignControl;
4224
4225
pAssignControl->wId = WIXSTDBA_CONTROL_EXECUTE_PROGRESS_ACTIONDATA_TEXT;
4226
pAssignControl->wzName = L"ExecuteProgressActionDataText";
4227
pAssignControl->ppControl = &m_pControlExecuteProgressActionDataText;
4228
+ pAssignControl->fDisableAutomaticFunctionality = TRUE;
4229
m_pControlExecuteProgressActionDataText = NULL;
4230
++pAssignControl;
4231
4232
pAssignControl->wId = WIXSTDBA_CONTROL_OVERALL_PROGRESS_PACKAGE_TEXT;
4233
pAssignControl->wzName = L"OverallProgressPackageText";
4234
pAssignControl->ppControl = &m_pControlOverallProgressPackageText;
4235
+ pAssignControl->fDisableAutomaticFunctionality = TRUE;
4236
m_pControlOverallProgressPackageText = NULL;
4237
++pAssignControl;
4238
4239
pAssignControl->wId = WIXSTDBA_CONTROL_OVERALL_PROGRESS_BAR;
4240
pAssignControl->wzName = L"OverallProgressbar";
4241
pAssignControl->ppControl = &m_pControlOverallProgressbar;
4242
+ pAssignControl->fDisableAutomaticFunctionality = TRUE;
4243
m_pControlOverallProgressbar = NULL;
4244
++pAssignControl;
4245
4246
pAssignControl->wId = WIXSTDBA_CONTROL_OVERALL_CALCULATED_PROGRESS_BAR;
4247
pAssignControl->wzName = L"OverallCalculatedProgressbar";
4248
pAssignControl->ppControl = &m_pControlOverallCalculatedProgressbar;
4249
+ pAssignControl->fDisableAutomaticFunctionality = TRUE;
4250
m_pControlOverallCalculatedProgressbar = NULL;
4251
++pAssignControl;
4252
4253
pAssignControl->wId = WIXSTDBA_CONTROL_OVERALL_PROGRESS_TEXT;
4254
pAssignControl->wzName = L"OverallProgressText";
4255
pAssignControl->ppControl = &m_pControlOverallProgressText;
4256
+ pAssignControl->fDisableAutomaticFunctionality = TRUE;
4257
m_pControlOverallProgressText = NULL;
4258
++pAssignControl;
4259
4260
pAssignControl->wId = WIXSTDBA_CONTROL_PROGRESS_CANCEL_BUTTON;
4261
pAssignControl->wzName = L"ProgressCancelButton";
4262
pAssignControl->ppControl = &m_pControlProgressCancelButton;
4263
+ pAssignControl->fDisableAutomaticFunctionality = TRUE;
4264
m_pControlProgressCancelButton = NULL;
4265
++pAssignControl;
4266
4267
pAssignControl->wId = WIXSTDBA_CONTROL_LAUNCH_BUTTON;
4268
pAssignControl->wzName = L"LaunchButton";
4269
pAssignControl->ppControl = &m_pControlLaunchButton;
4270
+ pAssignControl->fDisableAutomaticFunctionality = TRUE;
4271
m_pControlLaunchButton = NULL;
4272
++pAssignControl;
4273
4274
pAssignControl->wId = WIXSTDBA_CONTROL_SUCCESS_RESTART_BUTTON;
4275
pAssignControl->wzName = L"SuccessRestartButton";
4276
pAssignControl->ppControl = &m_pControlSuccessRestartButton;
4277
+ pAssignControl->fDisableAutomaticFunctionality = TRUE;
4278
m_pControlSuccessRestartButton = NULL;
4279
++pAssignControl;
4280
4281
pAssignControl->wId = WIXSTDBA_CONTROL_FAILURE_LOGFILE_LINK;
4282
pAssignControl->wzName = L"FailureLogFileLink";
4283
pAssignControl->ppControl = &m_pControlFailureLogFileLink;
4284
+ pAssignControl->fDisableAutomaticFunctionality = TRUE;
4285
m_pControlFailureLogFileLink = NULL;
4286
++pAssignControl;
4287
4288
pAssignControl->wId = WIXSTDBA_CONTROL_FAILURE_MESSAGE_TEXT;
4289
pAssignControl->wzName = L"FailureMessageText";
4290
pAssignControl->ppControl = &m_pControlFailureMessageText;
4291
+ pAssignControl->fDisableAutomaticFunctionality = TRUE;
4292
m_pControlFailureMessageText = NULL;
4293
++pAssignControl;
4294
4295
pAssignControl->wId = WIXSTDBA_CONTROL_FAILURE_RESTART_BUTTON;
4296
pAssignControl->wzName = L"FailureRestartButton";
4297
pAssignControl->ppControl = &m_pControlFailureRestartButton;
4298
+ pAssignControl->fDisableAutomaticFunctionality = TRUE;
4299
m_pControlFailureRestartButton = NULL;
4300
4301
C_ASSERT(LAST_WIXSTDBA_CONTROL == WIXSTDBA_CONTROL_FAILURE_RESTART_BUTTON + 1);
src/libs/dutil/WixToolset.DUtil/inc/thmutil.h
+4
-1
@@ -196,6 +196,7 @@ struct THEME_ASSIGN_CONTROL_ID
196
WORD wId; // id to apply to control
197
LPCWSTR wzName; // name of control to match
198
const THEME_CONTROL** ppControl;
199
+ BOOL fDisableAutomaticFunctionality; // prevent declarative functionality from interfering with the application's imperative code
200
};
201
202
const WORD THEME_FIRST_ASSIGN_CONTROL_ID = 0x4000; // Recommended first control id to be assigned.
@@ -223,7 +224,7 @@ typedef struct _THEME_CONTROL
224
225
LPWSTR sczEnableCondition;
226
LPWSTR sczVisibleCondition;
226
- BOOL fDisableVariableFunctionality;
227
+ BOOL fDisableAutomaticFunctionality;
228
229
union
230
{
@@ -470,6 +471,8 @@ typedef struct _THEME_LOADINGCONTROL_RESULTS
471
// The values [100, THEME_FIRST_ASSIGN_CONTROL_ID) are reserved for thmutil.
472
// Due to this value being packed into 16 bits for many system window messages, this is restricted to a WORD.
473
WORD wId;
474
+ // Used to prevent declarative functionality from interfering with the application's imperative code.
475
+ BOOL fDisableAutomaticFunctionality;
476
} THEME_LOADINGCONTROL_RESULTS;
477
478
src/libs/dutil/WixToolset.DUtil/thmutil.cpp
+18
-20
@@ -295,7 +295,8 @@ static void UnloadThemeControls(
295
static HRESULT OnLoadingControl(
296
__in THEME* pTheme,
297
__in const THEME_CONTROL* pControl,
298
- __inout WORD* pwId
298
+ __inout WORD* pwId,
299
+ __inout BOOL* pfDisableAutomaticFunctionality
300
);
301
static HRESULT LoadControls(
302
__in THEME* pTheme,
@@ -3432,9 +3433,6 @@ static HRESULT ParseControl(
3433
pControl->dwInternalStyle |= INTERNAL_CONTROL_STYLE_HIDE_WHEN_DISABLED;
3434
}
3435
3435
- hr = XmlGetYesNoAttribute(pixn, L"DisableAutomaticBehavior", &pControl->fDisableVariableFunctionality);
3436
- ThmExitOnOptionalXmlQueryFailure(hr, fXmlFound, "Failed when querying control DisableAutomaticBehavior attribute.");
3437
-
3436
hr = ParseActions(pixn, pControl);
3437
ThmExitOnFailure(hr, "Failed to parse action nodes of the control.");
3438
@@ -5002,6 +5000,7 @@ static void OnBrowseDirectory(
5000
{
5001
// Since editbox changes aren't immediately saved off, we have to treat them differently.
5002
THEME_CONTROL* pTargetControl = NULL;
5003
+ BOOL fSetVariable = NULL != pTheme->pfnSetStringVariable;
5004
5005
for (DWORD i = 0; i < pTheme->cControls; ++i)
5006
{
@@ -5015,21 +5014,18 @@ static void OnBrowseDirectory(
5014
}
5015
}
5016
5018
- if (pTargetControl && THEME_CONTROL_TYPE_EDITBOX == pTargetControl->type && !pTargetControl->fDisableVariableFunctionality)
5017
+ if (pTargetControl && !pTargetControl->fDisableAutomaticFunctionality && (!fSetVariable || THEME_CONTROL_TYPE_EDITBOX == pTargetControl->type))
5018
{
5019
+ fSetVariable = FALSE;
5020
hr = ThemeSetTextControl(pTargetControl, wzPath);
5021
- ThmExitOnFailure(hr, "Failed to set text on editbox: %ls", pTargetControl->sczName);
5021
+ ThmExitOnFailure(hr, "Failed to set text on control: %ls", pTargetControl->sczName);
5022
}
5023
- else if (pTheme->pfnSetStringVariable)
5023
+
5024
+ if (fSetVariable)
5025
{
5026
hr = pTheme->pfnSetStringVariable(pAction->BrowseDirectory.sczVariableName, wzPath, FALSE, pTheme->pvVariableContext);
5027
ThmExitOnFailure(hr, "Failed to set variable: %ls", pAction->BrowseDirectory.sczVariableName);
5028
}
5028
- else if (pTargetControl)
5029
- {
5030
- hr = ThemeSetTextControl(pTargetControl, wzPath);
5031
- ThmExitOnFailure(hr, "Failed to set text on control: %ls", pTargetControl->sczName);
5032
- }
5029
5030
ThemeShowPageEx(pTheme, pTheme->dwCurrentPageId, SW_SHOW, THEME_SHOW_PAGE_REASON_REFRESH);
5031
}
@@ -5051,7 +5047,7 @@ static BOOL OnButtonClicked(
5047
5048
if (THEME_CONTROL_TYPE_BUTTON == pControl->type || THEME_CONTROL_TYPE_COMMANDLINK == pControl->type)
5049
{
5054
- if (pControl->cActions)
5050
+ if (!pControl->fDisableAutomaticFunctionality && pControl->cActions)
5051
{
5052
fHandled = TRUE;
5053
THEME_ACTION* pChosenAction = pControl->pDefaultAction;
@@ -5109,7 +5105,7 @@ static BOOL OnButtonClicked(
5105
}
5106
}
5107
}
5112
- else if (!pControl->fDisableVariableFunctionality && (pTheme->pfnSetNumericVariable || pTheme->pfnSetStringVariable))
5108
+ else if (!pControl->fDisableAutomaticFunctionality && (pTheme->pfnSetNumericVariable || pTheme->pfnSetStringVariable))
5109
{
5110
BOOL fRefresh = FALSE;
5111
@@ -5564,7 +5560,7 @@ static HRESULT ShowControl(
5560
THEME_PAGE* pPage = ThemeGetPage(pTheme, dwPageId);
5561
5562
// Save the editbox value if necessary (other control types save their values immediately).
5567
- if (pTheme->pfnSetStringVariable && !pControl->fDisableVariableFunctionality &&
5563
+ if (pTheme->pfnSetStringVariable && !pControl->fDisableAutomaticFunctionality &&
5564
fSaveEditboxes && THEME_CONTROL_TYPE_EDITBOX == pControl->type && pControl->sczName && *pControl->sczName)
5565
{
5566
hr = ThemeGetTextControl(pControl, &sczText);
@@ -5591,7 +5587,7 @@ static HRESULT ShowControl(
5587
BOOL fEnabled = !(pControl->dwInternalStyle & INTERNAL_CONTROL_STYLE_DISABLED);
5588
BOOL fVisible = !(pControl->dwInternalStyle & INTERNAL_CONTROL_STYLE_HIDDEN);
5589
5594
- if (!pControl->fDisableVariableFunctionality)
5590
+ if (!pControl->fDisableAutomaticFunctionality)
5591
{
5592
if (pTheme->pfnEvaluateCondition)
5593
{
@@ -6017,7 +6013,8 @@ static LRESULT CALLBACK StaticOwnerDrawWndProc(
6013
static HRESULT OnLoadingControl(
6014
__in THEME* pTheme,
6015
__in const THEME_CONTROL* pControl,
6020
- __inout WORD* pwId
6016
+ __inout WORD* pwId,
6017
+ __inout BOOL* pfDisableAutomaticFunctionality
6018
)
6019
{
6020
HRESULT hr = S_OK;
@@ -6037,6 +6034,7 @@ static HRESULT OnLoadingControl(
6034
if (SUCCEEDED(hr))
6035
{
6036
*pwId = loadingControlResults.wId;
6037
+ *pfDisableAutomaticFunctionality = loadingControlResults.fDisableAutomaticFunctionality;
6038
}
6039
}
6040
@@ -6238,7 +6236,7 @@ static HRESULT LoadControls(
6236
6237
// Default control ids to the next id, unless there is a specific id to assign to a control.
6238
WORD wControlId = THEME_FIRST_AUTO_ASSIGN_CONTROL_ID;
6241
- hr = OnLoadingControl(pTheme, pControl, &wControlId);
6239
+ hr = OnLoadingControl(pTheme, pControl, &wControlId, &pControl->fDisableAutomaticFunctionality);
6240
ThmExitOnFailure(hr, "ThmLoadingControl failed.");
6241
6242
// This range is reserved for thmutil. The process will run out of available window handles before reaching the end of the range.
@@ -6256,7 +6254,7 @@ static HRESULT LoadControls(
6254
BOOL fDisabled = pControl->dwStyle & WS_DISABLED;
6255
6256
// If the control is supposed to be initially visible and it has a VisibleCondition, check if it's true.
6259
- if (fVisible && pControl->sczVisibleCondition && pTheme->pfnEvaluateCondition && !pControl->fDisableVariableFunctionality)
6257
+ if (fVisible && pControl->sczVisibleCondition && pTheme->pfnEvaluateCondition && !pControl->fDisableAutomaticFunctionality)
6258
{
6259
hr = pTheme->pfnEvaluateCondition(pControl->sczVisibleCondition, &fVisible, pTheme->pvVariableContext);
6260
ThmExitOnFailure(hr, "Failed to evaluate VisibleCondition: %ls", pControl->sczVisibleCondition);
@@ -6275,7 +6273,7 @@ static HRESULT LoadControls(
6273
}
6274
6275
// If the control is supposed to be initially enabled and it has an EnableCondition, check if it's true.
6278
- if (!fDisabled && pControl->sczEnableCondition && pTheme->pfnEvaluateCondition && !pControl->fDisableVariableFunctionality)
6276
+ if (!fDisabled && pControl->sczEnableCondition && pTheme->pfnEvaluateCondition && !pControl->fDisableAutomaticFunctionality)
6277
{
6278
BOOL fEnable = TRUE;
6279
src/samples/thmviewer/display.cpp
+4
-3
@@ -327,9 +327,10 @@ static BOOL DisplayOnThmLoadedControl(
327
}
328
else if (THEME_CONTROL_TYPE_PROGRESSBAR == pControl->type)
329
{
330
- DWORD dwId = ::SetTimer(pTheme->hwndParent, reinterpret_cast<UINT_PTR>(pControl), 500, NULL);
331
- dwId = dwId; // prevents warning in "ship" build.
332
- Assert(dwId == pControl->wId);
330
+ UINT_PTR timerId = reinterpret_cast<UINT_PTR>(pControl);
331
+ UINT_PTR id = ::SetTimer(pTheme->hwndParent, timerId, 500, NULL);
332
+ id = id; // prevents warning in "ship" build.
333
+ Assert(id == timerId);
334
}
335
336
LExit:
src/test/burn/TestData/Manual/BafThmutilTesting/BafThmUtilTesting.cpp
+2
-1
@@ -46,7 +46,8 @@ public: // IBAFunctions
46
virtual STDMETHODIMP OnThemeControlLoading(
47
__in LPCWSTR wzName,
48
__inout BOOL* pfProcessed,
49
- __inout WORD* pwId
49
+ __inout WORD* pwId,
50
+ __inout BOOL* /*pfDisableAutomaticFunctionality*/
51
)
52
{
53
if (CSTR_EQUAL == ::CompareStringW(LOCALE_NEUTRAL, 0, wzName, -1, L"InstallTestButton", -1))