]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/ole/activex.cpp
Fix wxMSW compilation in wxUSE_STL==1 case.
[wxWidgets.git] / src / msw / ole / activex.cpp
index 19cb1feed80447d7141f7d79d77ef03f3107acfc..92a5a1186b892bcacaa3dcaa67c81f5a6de38a74 100644 (file)
 #include "wx/msw/private.h" // for wxCopyRectToRECT
 
 // autointerfaces that we only use here
-WX_DECLARE_AUTOOLE(wxAutoIOleInPlaceSite, IOleInPlaceSite)
-WX_DECLARE_AUTOOLE(wxAutoIOleDocument, IOleDocument)
-WX_DECLARE_AUTOOLE(wxAutoIPersistStreamInit, IPersistStreamInit)
-WX_DECLARE_AUTOOLE(wxAutoIAdviseSink, IAdviseSink)
-WX_DECLARE_AUTOOLE(wxAutoIProvideClassInfo, IProvideClassInfo)
-WX_DECLARE_AUTOOLE(wxAutoITypeInfo, ITypeInfo)
-WX_DECLARE_AUTOOLE(wxAutoIConnectionPoint, IConnectionPoint)
-WX_DECLARE_AUTOOLE(wxAutoIConnectionPointContainer, IConnectionPointContainer)
+typedef wxAutoOleInterface<IOleInPlaceSite> wxAutoIOleInPlaceSite;
+typedef wxAutoOleInterface<IOleDocument> wxAutoIOleDocument;
+typedef wxAutoOleInterface<IPersistStreamInit> wxAutoIPersistStreamInit;
+typedef wxAutoOleInterface<IAdviseSink> wxAutoIAdviseSink;
+typedef wxAutoOleInterface<IProvideClassInfo> wxAutoIProvideClassInfo;
+typedef wxAutoOleInterface<ITypeInfo> wxAutoITypeInfo;
+typedef wxAutoOleInterface<IConnectionPoint> wxAutoIConnectionPoint;
+typedef wxAutoOleInterface<IConnectionPointContainer> wxAutoIConnectionPointContainer;
 
-wxDEFINE_EVENT( wxEVT_ACTIVEX, wxActiveXEvent )
+wxDEFINE_EVENT( wxEVT_ACTIVEX, wxActiveXEvent );
 
 // Ole class helpers (sort of MFC-like) from wxActiveX
 #define DECLARE_OLE_UNKNOWN(cls)\
@@ -904,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
@@ -1022,11 +1022,14 @@ void wxActiveXContainer::CreateActiveX(REFIID iid, IUnknown* pUnk)
                     cpContainer->FindConnectionPoint(ta->guid, cp.GetRef());
                 CHECK_HR(hret);
 
-                IDispatch* disp;
-                m_frameSite->QueryInterface(IID_IDispatch, (void**)&disp);
-                hret = cp->Advise(new wxActiveXEvents(this, ta->guid),
-                                  &adviseCookie);
-                CHECK_HR(hret);
+                if ( cp )
+                {
+                    IDispatch* disp;
+                    m_frameSite->QueryInterface(IID_IDispatch, (void**)&disp);
+                    hret = cp->Advise(new wxActiveXEvents(this, ta->guid),
+                                      &adviseCookie);
+                    CHECK_HR(hret);
+                }
             }
         }