X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/a78cb663581bb41c4d2e1ed2ea2a4988e953cf39..25b3661bd4cb44304418b93c0dee1d0dfb99765c:/wxPython/contrib/activex/wxie/wxactivex.cpp diff --git a/wxPython/contrib/activex/wxie/wxactivex.cpp b/wxPython/contrib/activex/wxie/wxactivex.cpp index 46f372c9ee..1fb0755413 100644 --- a/wxPython/contrib/activex/wxie/wxactivex.cpp +++ b/wxPython/contrib/activex/wxie/wxactivex.cpp @@ -255,7 +255,6 @@ wxWindow(parent, id, pos, size, style, name) m_bAmbientUserMode = true; m_docAdviseCookie = 0; CreateActiveX(clsid); - m_bestSize = GetSize(); } wxActiveX::wxActiveX(wxWindow * parent, const wxString& progId, wxWindowID id, @@ -268,7 +267,6 @@ wxActiveX::wxActiveX(wxWindow * parent, const wxString& progId, wxWindowID id, m_bAmbientUserMode = true; m_docAdviseCookie = 0; CreateActiveX((LPOLESTR) (const wchar_t *) progId.wc_str(wxConvUTF8)); - m_bestSize = GetSize(); } wxActiveX::~wxActiveX() @@ -319,10 +317,15 @@ void wxActiveX::CreateActiveX(REFCLSID clsid) wxCHECK_RET(adviseSink.Ok(), _T("adviseSink not Ok")); - // // Create Object, get IUnknown interface + // Create Object, get IUnknown interface m_ActiveX.CreateInstance(clsid, IID_IUnknown); wxCHECK_RET(m_ActiveX.Ok(), _T("m_ActiveX.CreateInstance failed")); + // Register object as active + unsigned long pdwRegister; + hret = RegisterActiveObject(m_ActiveX, clsid, ACTIVEOBJECT_WEAK, &pdwRegister); + WXOLE_WARN(hret, "Unable to register object as active"); + // Get Dispatch interface hret = m_Dispatch.QueryInterface(IID_IDispatch, m_ActiveX); WXOLE_WARN(hret, "Unable to get dispatch interface"); @@ -417,7 +420,7 @@ void wxActiveX::CreateActiveX(REFCLSID clsid) // Update by GBR to resize older controls wxSizeEvent szEvent; szEvent.m_size = wxSize(w, h) ; - AddPendingEvent(szEvent); + GetEventHandler()->AddPendingEvent(szEvent); }; } @@ -895,7 +898,7 @@ public: { // cdecl call // sometimes the pDispParams does not match the param info for a activex control - int nArg = min(func.params.size(), pDispParams->cArgs); + int nArg = wxMin(func.params.size(), pDispParams->cArgs); for (int i = nArg - 1; i >= 0; i--) { VARIANTARG& va = pDispParams->rgvarg[i]; @@ -910,8 +913,8 @@ public: if (func.hasOut) { - int nArg = min(func.params.size(), pDispParams->cArgs); - m_activeX->GetParent()->ProcessEvent(event); + int nArg = wxMin(func.params.size(), pDispParams->cArgs); + m_activeX->GetEventHandler()->ProcessEvent(event); for (int i = 0; i < nArg; i++) { VARIANTARG& va = pDispParams->rgvarg[i]; @@ -926,7 +929,7 @@ public: }; } else - m_activeX->GetParent()->AddPendingEvent(event); + m_activeX->GetEventHandler()->AddPendingEvent(event); };