Add validity checks to GetCheckBoxSize.

This commit is contained in:
Maarten Bent
2015-12-17 17:21:50 +01:00
parent 1585530623
commit 3cbdbba2fb

View File

@@ -907,16 +907,18 @@ wxRendererXP::DrawTitleBarBitmap(wxWindow *win,
wxSize wxRendererXP::GetCheckBoxSize(wxWindow* win) wxSize wxRendererXP::GetCheckBoxSize(wxWindow* win)
{ {
wxUxThemeHandle hTheme(win, L"BUTTON"); wxUxThemeHandle hTheme(win, L"BUTTON");
wxUxThemeEngine* const te = wxUxThemeEngine::Get(); if (hTheme)
if (te->IsThemePartDefined(hTheme, BP_CHECKBOX, 0))
{ {
SIZE checkSize; wxUxThemeEngine* const te = wxUxThemeEngine::Get();
te->GetThemePartSize(hTheme, NULL, BP_CHECKBOX, CBS_UNCHECKEDNORMAL, NULL, TS_DRAW, &checkSize);
return wxSize(checkSize.cx, checkSize.cy); if (te && te->IsThemePartDefined(hTheme, BP_CHECKBOX, 0))
{
SIZE checkSize;
if (te->GetThemePartSize(hTheme, NULL, BP_CHECKBOX, CBS_UNCHECKEDNORMAL, NULL, TS_DRAW, &checkSize) == S_OK)
return wxSize(checkSize.cx, checkSize.cy);
}
} }
else return m_rendererNative.GetCheckBoxSize(win);
return m_rendererNative.GetCheckBoxSize(win);
} }
void void