VirtualBox

Changeset 60500 in vbox for trunk


Ignore:
Timestamp:
Apr 14, 2016 3:54:59 PM (9 years ago)
Author:
vboxsync
Message:

FE/Qt: move ATL initialization to a more suitable place and eliminate unnecessary use of ATL.

Location:
trunk/src/VBox/Frontends/VirtualBox/src
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Frontends/VirtualBox/src/globals/COMDefs.cpp

    r54644 r60500  
    330330    mIsFullAvailable = mIsBasicAvailable = false;
    331331
    332     AssertReturn (!callee || calleeIID, (void) 0);
     332    AssertReturnVoid(!callee || calleeIID);
    333333
    334334    HRESULT rc = E_FAIL;
    335335
    336 #if !defined (VBOX_WITH_XPCOM)
     336#if !defined(VBOX_WITH_XPCOM)
    337337
    338338    if (callee)
    339339    {
    340         CComPtr <IUnknown> iface = callee;
    341         CComQIPtr <ISupportErrorInfo> serr;
    342         serr = callee;
     340        ComPtr<IUnknown> iface(callee);
     341        ComPtr<ISupportErrorInfo> serr(iface);
    343342        if (!serr)
    344343            return;
    345         rc = serr->InterfaceSupportsErrorInfo (*calleeIID);
    346         if (!SUCCEEDED (rc))
     344        rc = serr->InterfaceSupportsErrorInfo(*calleeIID);
     345        if (!SUCCEEDED(rc))
    347346            return;
    348347    }
    349348
    350     CComPtr <IErrorInfo> err;
    351     rc = ::GetErrorInfo (0, &err);
     349    ComPtr<IErrorInfo> err;
     350    rc = ::GetErrorInfo(0, err.asOutParam());
    352351    if (rc == S_OK && err)
    353352    {
    354         CComPtr <IVirtualBoxErrorInfo> info;
    355         info = err;
     353        ComPtr<IVirtualBoxErrorInfo> info(err);
    356354        if (info)
    357             init (CVirtualBoxErrorInfo (info));
     355            init(CVirtualBoxErrorInfo(info));
    358356
    359357        if (!mIsFullAvailable)
     
    361359            bool gotSomething = false;
    362360
    363             rc = err->GetGUID (COMBase::GUIDOut (mInterfaceID));
    364             gotSomething |= SUCCEEDED (rc);
    365             if (SUCCEEDED (rc))
    366                 mInterfaceName = getInterfaceNameFromIID (mInterfaceID);
    367 
    368             rc = err->GetSource (COMBase::BSTROut (mComponent));
    369             gotSomething |= SUCCEEDED (rc);
    370 
    371             rc = err->GetDescription (COMBase::BSTROut (mText));
    372             gotSomething |= SUCCEEDED (rc);
     361            rc = err->GetGUID(COMBase::GUIDOut(mInterfaceID));
     362            gotSomething |= SUCCEEDED(rc);
     363            if (SUCCEEDED(rc))
     364                mInterfaceName = getInterfaceNameFromIID(mInterfaceID);
     365
     366            rc = err->GetSource(COMBase::BSTROut(mComponent));
     367            gotSomething |= SUCCEEDED(rc);
     368
     369            rc = err->GetDescription(COMBase::BSTROut(mText));
     370            gotSomething |= SUCCEEDED(rc);
    373371
    374372            if (gotSomething)
     
    377375            mIsNull = !gotSomething;
    378376
    379             AssertMsg (gotSomething, ("Nothing to fetch!\n"));
     377            AssertMsg(gotSomething,("Nothing to fetch!\n"));
    380378        }
    381379    }
    382380
    383 #else /* !defined (VBOX_WITH_XPCOM) */
    384 
    385     nsCOMPtr <nsIExceptionService> es;
    386     es = do_GetService (NS_EXCEPTIONSERVICE_CONTRACTID, &rc);
    387     if (NS_SUCCEEDED (rc))
    388     {
    389         nsCOMPtr <nsIExceptionManager> em;
    390         rc = es->GetCurrentExceptionManager (getter_AddRefs (em));
    391         if (NS_SUCCEEDED (rc))
     381#else /* !defined(VBOX_WITH_XPCOM) */
     382
     383    nsCOMPtr<nsIExceptionService> es;
     384    es = do_GetService(NS_EXCEPTIONSERVICE_CONTRACTID, &rc);
     385    if (NS_SUCCEEDED(rc))
     386    {
     387        nsCOMPtr<nsIExceptionManager> em;
     388        rc = es->GetCurrentExceptionManager(getter_AddRefs(em));
     389        if (NS_SUCCEEDED(rc))
    392390        {
    393             nsCOMPtr <nsIException> ex;
    394             rc = em->GetCurrentException (getter_AddRefs(ex));
    395             if (NS_SUCCEEDED (rc) && ex)
     391            nsCOMPtr<nsIException> ex;
     392            rc = em->GetCurrentException(getter_AddRefs(ex));
     393            if (NS_SUCCEEDED(rc) && ex)
    396394            {
    397                 nsCOMPtr <IVirtualBoxErrorInfo> info;
    398                 info = do_QueryInterface (ex, &rc);
    399                 if (NS_SUCCEEDED (rc) && info)
    400                     init (CVirtualBoxErrorInfo (info));
     395                ComPtr<IVirtualBoxErrorInfo> info;
     396                rc = ex.queryInterfaceTo(info.asOutParam());
     397                if (NS_SUCCEEDED(rc) && info)
     398                    init(CVirtualBoxErrorInfo(info));
    401399
    402400                if (!mIsFullAvailable)
     
    404402                    bool gotSomething = false;
    405403
    406                     rc = ex->GetResult (&mResultCode);
    407                     gotSomething |= NS_SUCCEEDED (rc);
     404                    rc = ex->GetResult(&mResultCode);
     405                    gotSomething |= NS_SUCCEEDED(rc);
    408406
    409407                    char *message = NULL; // utf8
    410                     rc = ex->GetMessage (&message);
    411                     gotSomething |= NS_SUCCEEDED (rc);
    412                     if (NS_SUCCEEDED (rc) && message)
     408                    rc = ex->GetMessage(&message);
     409                    gotSomething |= NS_SUCCEEDED(rc);
     410                    if (NS_SUCCEEDED(rc) && message)
    413411                    {
    414                         mText = QString::fromUtf8 (message);
    415                         nsMemory::Free (message);
     412                        mText = QString::fromUtf8(message);
     413                        nsMemory::Free(message);
    416414                    }
    417415
     
    421419                    mIsNull = !gotSomething;
    422420
    423                     AssertMsg (gotSomething, ("Nothing to fetch!\n"));
     421                    AssertMsg(gotSomething, ("Nothing to fetch!\n"));
    424422                }
    425423
    426424                // set the exception to NULL (to emulate Win32 behavior)
    427                 em->SetCurrentException (NULL);
     425                em->SetCurrentException(NULL);
    428426
    429427                rc = NS_OK;
     
    432430    }
    433431
    434     AssertComRC (rc);
    435 
    436 #endif /* !defined (VBOX_WITH_XPCOM) */
     432    AssertComRC(rc);
     433
     434#endif /* !defined(VBOX_WITH_XPCOM) */
    437435
    438436    if (callee && calleeIID && mIsBasicAvailable)
    439437    {
    440         mCalleeIID = COMBase::ToQUuid (*calleeIID);
    441         mCalleeName = getInterfaceNameFromIID (mCalleeIID);
     438        mCalleeIID = COMBase::ToQUuid(*calleeIID);
     439        mCalleeName = getInterfaceNameFromIID(mCalleeIID);
    442440    }
    443441}
  • trunk/src/VBox/Frontends/VirtualBox/src/globals/COMDefs.h

    r55401 r60500  
    657657#if !defined(VBOX_WITH_XPCOM)
    658658            B::mRC = CoCreateInstance(aClsId, NULL, CLSCTX_ALL,
    659                                       _ATL_IIDOF(I), (void **)&pObj);
     659                                      COM_IIDOF(I), (void **)&pObj);
    660660#else
    661661            nsCOMPtr<nsIComponentManager> manager;
  • trunk/src/VBox/Frontends/VirtualBox/src/globals/VBoxGlobal.cpp

    r60436 r60500  
    180180////////////////////////////////////////////////////////////////////////////////
    181181
     182#ifdef VBOX_WS_WIN
     183/* Make sure that ATL is usable in this linking namespace. */
     184static ATL::CComModule _Module;
     185#endif /* VBOX_WS_WIN */
     186
    182187/* static */
    183188bool VBoxGlobal::m_sfCleanupInProgress = false;
  • trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIFrameBuffer.cpp

    r60362 r60500  
    7272/** IFramebuffer implementation used to maintain VM display video memory. */
    7373class ATL_NO_VTABLE UIFrameBufferPrivate : public QObject,
    74                                            public CComObjectRootEx<CComMultiThreadModel>,
     74                                           public ATL::CComObjectRootEx<ATL::CComMultiThreadModel>,
    7575                                           VBOX_SCRIPTABLE_IMPL(IFramebuffer)
    7676{
     
    182182        COM_INTERFACE_ENTRY(IFramebuffer)
    183183        COM_INTERFACE_ENTRY2(IDispatch,IFramebuffer)
    184         COM_INTERFACE_ENTRY_AGGREGATE(IID_IMarshal, m_pUnkMarshaler.p)
     184        COM_INTERFACE_ENTRY_AGGREGATE(IID_IMarshal, m_pUnkMarshaler.m_p)
    185185    END_COM_MAP()
    186186
     
    395395
    396396#ifdef Q_OS_WIN
    397      CComPtr <IUnknown> m_pUnkMarshaler;
     397     ComPtr<IUnknown> m_pUnkMarshaler;
    398398#endif /* Q_OS_WIN */
    399399     /** Identifier returned by AttachFramebuffer. Used in DetachFramebuffer. */
     
    521521
    522522
    523 /* COM stuff: */
    524 #ifdef VBOX_WS_WIN
    525 static CComModule _Module;
    526 #else /* !VBOX_WS_WIN */
     523#ifdef VBOX_WITH_XPCOM
    527524NS_DECL_CLASSINFO(UIFrameBufferPrivate)
    528525NS_IMPL_THREADSAFE_ISUPPORTS1_CI(UIFrameBufferPrivate, IFramebuffer)
    529 #endif /* !VBOX_WS_WIN */
     526#endif /* VBOX_WITH_XPCOM */
    530527
    531528
     
    583580
    584581#ifdef Q_OS_WIN
    585     CoCreateFreeThreadedMarshaler(this, &m_pUnkMarshaler.p);
     582    CoCreateFreeThreadedMarshaler(this, m_pUnkMarshaler.asOutParam());
    586583#endif /* Q_OS_WIN */
    587584    return S_OK;
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette