]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/ole/access.cpp
don't keep dangling m_prevRadio pointer (2nd part of patch 1836644)
[wxWidgets.git] / src / msw / ole / access.cpp
index c46661c827b3988d8ee8eabb42b7d4656f4373cd..b1ddbb9a34fd99441217f2526ac5c4c548160e61 100644 (file)
   #pragma hdrstop
 #endif
 
-#ifndef WX_PRECOMP
-    #include "wx/window.h"
-#endif
-
 #if wxUSE_OLE && wxUSE_ACCESSIBILITY
 
-#include "wx/log.h"
 #include "wx/access.h"
 
-#include "wx/msw/wrapwin.h"
+#ifndef WX_PRECOMP
+    #include "wx/msw/wrapwin.h"
+    #include "wx/window.h"
+    #include "wx/log.h"
+#endif
 
 // for some compilers, the entire ole2.h must be included, not only oleauto.h
 #if wxUSE_NORLANDER_HEADERS || defined(__WATCOMC__)
@@ -66,6 +65,7 @@ int wxConvertToWindowsSelFlag(wxAccSelectionFlags sel);
 // Convert from Windows selection flag
 wxAccSelectionFlags wxConvertFromWindowsSelFlag(int sel);
 
+#if wxUSE_VARIANT
 // ----------------------------------------------------------------------------
 // wxIEnumVARIANT interface implementation
 // ----------------------------------------------------------------------------
@@ -177,6 +177,7 @@ STDMETHODIMP wxIEnumVARIANT::Clone(IEnumVARIANT **ppenum)
     return S_OK;
 }
 
+#endif // wxUSE_VARIANT
 
 // ----------------------------------------------------------------------------
 // wxIAccessible implementation of IAccessible interface
@@ -297,8 +298,8 @@ public:
 
 // Obsolete
 
-    STDMETHODIMP put_accName(VARIANT varChild, BSTR szName) { return E_FAIL; }
-    STDMETHODIMP put_accValue(VARIANT varChild, BSTR szName) { return E_FAIL; }
+    STDMETHODIMP put_accName(VARIANT WXUNUSED(varChild), BSTR WXUNUSED(szName)) { return E_FAIL; }
+    STDMETHODIMP put_accValue(VARIANT WXUNUSED(varChild), BSTR WXUNUSED(szName)) { return E_FAIL; }
 
 // IDispatch
 
@@ -1472,6 +1473,7 @@ STDMETHODIMP wxIAccessible::get_accFocus ( VARIANT* pVarID)
 
 STDMETHODIMP wxIAccessible::get_accSelection ( VARIANT * pVarChildren)
 {
+#if wxUSE_VARIANT
     wxLogTrace(wxT("access"), wxT("get_accSelection"));
     wxASSERT (m_pAccessible != NULL);
     if (!m_pAccessible)
@@ -1529,6 +1531,9 @@ STDMETHODIMP wxIAccessible::get_accSelection ( VARIANT * pVarChildren)
             return S_OK;
         }
     }
+#else
+    wxUnusedVar(pVarChildren);
+#endif // wxUSE_VARIANT
 
     return E_NOTIMPL;
 }
@@ -1743,6 +1748,8 @@ int wxConvertToWindowsRole(wxAccRole wxrole)
 {
     switch (wxrole)
     {
+    case wxROLE_NONE:
+        return 0;
     case wxROLE_SYSTEM_ALERT:
         return ROLE_SYSTEM_ALERT;
     case wxROLE_SYSTEM_ANIMATION:
@@ -1991,4 +1998,4 @@ wxAccSelectionFlags wxConvertFromWindowsSelFlag(int sel)
 }
 
 
-#endif  //USE_ACCESSIBILITY
+#endif  // wxUSE_OLE && wxUSE_ACCESSIBILITY