From ef227d669d401c63dedcc4b977e92cbaa8b504e0 Mon Sep 17 00:00:00 2001 From: Ilya Ivanov Date: Thu, 27 Apr 2017 15:06:56 +0300 Subject: [PATCH 1/3] Fix check for wxACC_STATE_SYSTEM_MARQUEED in accessibility code wxACC_STATE_SYSTEM_INVISIBLE was checked twice, by mistake, while wxACC_STATE_SYSTEM_MARQUEED was never checked at all. Thanks to PVS-Studio for finding this issue (V581: The conditional expressions of the 'if' operators situated alongside each other are identical). --- src/msw/ole/access.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/msw/ole/access.cpp b/src/msw/ole/access.cpp index cab33c206c..a5f4c562f1 100644 --- a/src/msw/ole/access.cpp +++ b/src/msw/ole/access.cpp @@ -1937,8 +1937,8 @@ long wxConvertToWindowsState(long wxstate) if (wxstate & wxACC_STATE_SYSTEM_INVISIBLE) state |= STATE_SYSTEM_INVISIBLE; - if (wxstate & wxACC_STATE_SYSTEM_INVISIBLE) - state |= STATE_SYSTEM_INVISIBLE; + if (wxstate & wxACC_STATE_SYSTEM_MARQUEED) + state |= STATE_SYSTEM_MARQUEED; if (wxstate & wxACC_STATE_SYSTEM_MIXED) state |= STATE_SYSTEM_MIXED; From 0eb34b5256c5f0d8ee891fb0a9918d125fcc4962 Mon Sep 17 00:00:00 2001 From: Ilya Ivanov Date: Thu, 27 Apr 2017 15:06:56 +0300 Subject: [PATCH 2/3] Use VARIANT_TRUE and VARIANT_FALSE correctly VARIANT_TRUE (-1) must be used with VARIANTs of boolean type, instead of TRUE (1) which has a different value and can result in interoperability problems. Thanks to PVS-Studio for finding this issue (V721 The VARIANT_BOOL type is utilized incorrectly). --- src/msw/ole/activex.cpp | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/msw/ole/activex.cpp b/src/msw/ole/activex.cpp index 293b31f8b3..0578de1f3f 100644 --- a/src/msw/ole/activex.cpp +++ b/src/msw/ole/activex.cpp @@ -251,24 +251,24 @@ public: switch (dispIdMember) { case DISPID_AMBIENT_MESSAGEREFLECT: - V_BOOL(pVarResult)= FALSE; + V_BOOL(pVarResult)= VARIANT_FALSE; return S_OK; case DISPID_AMBIENT_DISPLAYASDEFAULT: - V_BOOL(pVarResult)= TRUE; + V_BOOL(pVarResult)= VARIANT_TRUE; return S_OK; case DISPID_AMBIENT_OFFLINEIFNOTCONNECTED: - V_BOOL(pVarResult) = TRUE; + V_BOOL(pVarResult) = VARIANT_TRUE; return S_OK; case DISPID_AMBIENT_SILENT: - V_BOOL(pVarResult)= TRUE; + V_BOOL(pVarResult)= VARIANT_TRUE; return S_OK; case DISPID_AMBIENT_APPEARANCE: pVarResult->vt = VT_BOOL; - pVarResult->boolVal = m_bAmbientAppearance; + pVarResult->boolVal = m_bAmbientAppearance ? VARIANT_TRUE : VARIANT_FALSE; break; case DISPID_AMBIENT_FORECOLOR: @@ -288,17 +288,17 @@ public: case DISPID_AMBIENT_USERMODE: pVarResult->vt = VT_BOOL; - pVarResult->boolVal = m_window->m_bAmbientUserMode; + pVarResult->boolVal = m_window->m_bAmbientUserMode ? VARIANT_TRUE : VARIANT_FALSE; break; case DISPID_AMBIENT_SHOWGRABHANDLES: pVarResult->vt = VT_BOOL; - pVarResult->boolVal = m_bAmbientShowGrabHandles; + pVarResult->boolVal = m_bAmbientShowGrabHandles ? VARIANT_TRUE : VARIANT_FALSE; break; case DISPID_AMBIENT_SHOWHATCHING: pVarResult->vt = VT_BOOL; - pVarResult->boolVal = m_bAmbientShowHatching; + pVarResult->boolVal = m_bAmbientShowHatching ? VARIANT_TRUE : VARIANT_FALSE; break; default: From 717ffcd80ce45037cd04ad35565a43f6c3c223bc Mon Sep 17 00:00:00 2001 From: Ilya Ivanov Date: Thu, 27 Apr 2017 15:06:56 +0300 Subject: [PATCH 3/3] Fix wrong variable name in assignment in wxRichTextSizePage dtor The "sm_showMinMaxSizeControls" was assigned twice, while "sm_enablePositionAndSizeUnits" was not assigned at all, apparently by mistake. Thanks to PVS-Studio for finding this issue (V519 The 'sm_showMinMaxSizeControls' variable is assigned values twice successively). --- src/richtext/richtextsizepage.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/richtext/richtextsizepage.cpp b/src/richtext/richtextsizepage.cpp index e0a6164b58..0cf3569df1 100644 --- a/src/richtext/richtextsizepage.cpp +++ b/src/richtext/richtextsizepage.cpp @@ -117,7 +117,7 @@ wxRichTextSizePage::~wxRichTextSizePage() sm_showAlignmentControls = true; sm_showFloatingAndAlignmentControls = true; sm_showMinMaxSizeControls = true; - sm_showMinMaxSizeControls = true; + sm_enablePositionAndSizeUnits = true; sm_enablePositionAndSizeCheckboxes = true; ////@begin wxRichTextSizePage destruction