X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/2ddb8ccf6058826262512539142ec5eda7358b74..69d31e313035d5e22d9400ec946f6007f710910c:/src/msw/ole/activex.cpp diff --git a/src/msw/ole/activex.cpp b/src/msw/ole/activex.cpp index caacde5b4f..73b51d3cac 100644 --- a/src/msw/ole/activex.cpp +++ b/src/msw/ole/activex.cpp @@ -45,7 +45,7 @@ WX_DECLARE_AUTOOLE(wxAutoITypeInfo, ITypeInfo) WX_DECLARE_AUTOOLE(wxAutoIConnectionPoint, IConnectionPoint) WX_DECLARE_AUTOOLE(wxAutoIConnectionPointContainer, IConnectionPointContainer) -wxDEFINE_EVENT( wxEVT_ACTIVEX, wxActiveXEvent ) +wxDEFINE_EVENT( wxEVT_ACTIVEX, wxActiveXEvent ); // Ole class helpers (sort of MFC-like) from wxActiveX #define DECLARE_OLE_UNKNOWN(cls)\ @@ -699,8 +699,7 @@ public: // wxVariants containing a void* to this variables are 'empty' in the sense // that the actual ActiveX OLE parameter has not been converted and inserted // into m_params. - static const int ptr_invalid_entry_marker = 0; - static wxVariant g_invalid_entry_marker; + static wxVariant ms_invalidEntryMarker; wxActiveXEvents(wxActiveXContainer *ax) : m_activeX(ax), m_haveCustomId(false) {} wxActiveXEvents(wxActiveXContainer *ax, REFIID iid) : m_activeX(ax), m_customId(iid), m_haveCustomId(true) {} @@ -766,8 +765,8 @@ public: if (params_index < event.m_params.GetCount()) { wxVariant &vx = event.m_params[params_index]; // copy the result back to pDispParams only if the event has been accessed - // i.e. if vx != g_invalid_entry_marker - if (!vx.IsType(wxActiveXEvents::g_invalid_entry_marker.GetType()) || vx!=g_invalid_entry_marker) { + // i.e. if vx != ms_invalidEntryMarker + if (!vx.IsType(wxActiveXEvents::ms_invalidEntryMarker.GetType()) || vx!=ms_invalidEntryMarker) { VARIANTARG& va = pDispParams->rgvarg[i]; wxConvertVariantToOle(vx, va); } @@ -781,7 +780,13 @@ public: } }; -wxVariant wxActiveXEvents::g_invalid_entry_marker((void*)&wxActiveXEvents::ptr_invalid_entry_marker); +namespace +{ +// just a unique global variable +const int invalid_entry_marker = 0; +} + +wxVariant wxActiveXEvents::ms_invalidEntryMarker((void*)&invalid_entry_marker); size_t wxActiveXEvent::ParamCount() const { @@ -802,12 +807,17 @@ wxVariant &wxActiveXEvent::operator [](size_t idx) // 'native' will always be != if the event has been created // for an actual active X event. // But it may be zero if the event has been created by wx program code. - if (native) { - while (m_params.GetCount()<=idx) { - m_params.Append(wxActiveXEvents::g_invalid_entry_marker); + if (native) + { + while ( m_params.GetCount()<=idx ) + { + m_params.Append(wxActiveXEvents::ms_invalidEntryMarker); } - wxVariant &vx(m_params[idx]); - if (vx.IsType(wxActiveXEvents::g_invalid_entry_marker.GetType()) && vx==wxActiveXEvents::g_invalid_entry_marker) { + + wxVariant& vx = m_params[idx]; + if ( vx.IsType(wxActiveXEvents::ms_invalidEntryMarker.GetType()) && + vx == wxActiveXEvents::ms_invalidEntryMarker) + { // copy the _real_ parameter into this one // NOTE: m_params stores the parameters in *reverse* order. // Whyever, but this was the case in the original implementation of @@ -825,7 +835,6 @@ bool wxActiveXEventsInterface(wxActiveXEvents *self, REFIID iid, void **_interfa { if (self->m_haveCustomId && IsEqualIID(iid, self->m_customId)) { -// WXOLE_TRACE("Found Custom Dispatch Interface"); *_interface = (IUnknown *) (IDispatch *) self; desc = "Custom Dispatch Interface"; return true; @@ -895,10 +904,10 @@ wxActiveXContainer::~wxActiveXContainer() } // VZ: we might want to really report an error instead of just asserting here -#ifdef __WXDEBUG__ +#if wxDEBUG_LEVEL #define CHECK_HR(hr) \ - wxASSERT_MSG( SUCCEEDED(hr), \ - wxString::Format("HRESULT = %X", (unsigned)(hr)) ) + wxASSERT_LEVEL_2_MSG( SUCCEEDED(hr), \ + wxString::Format("HRESULT = %X", (unsigned)(hr)) ) #else #define CHECK_HR(hr) wxUnusedVar(hr) #endif