VirtualBox

Changeset 36451 in vbox for trunk/src/VBox/Main


Ignore:
Timestamp:
Mar 28, 2011 7:40:52 PM (14 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
70821
Message:

introduced VirtualBoxBase::clearError to clear the previous error info if MultiResult is used

Location:
trunk/src/VBox/Main
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Main/include/VirtualBoxBase.h

    r36439 r36451  
    749749                                    bool aWarning,
    750750                                    bool aLogIt);
     751    static void clearError(void);
    751752
    752753    HRESULT setError(HRESULT aResultCode, const char *pcsz, ...);
  • trunk/src/VBox/Main/src-all/VirtualBoxBase.cpp

    r35911 r36451  
    510510}
    511511
     512/**
     513 * Clear the current error information.
     514 */
     515/*static*/
     516void VirtualBoxBase::clearError(void)
     517{
     518#if !defined(VBOX_WITH_XPCOM)
     519    ::SetErrorInfo (0, NULL);
     520#else
     521    HRESULT rc = S_OK;
     522    nsCOMPtr <nsIExceptionService> es;
     523    es = do_GetService(NS_EXCEPTIONSERVICE_CONTRACTID, &rc);
     524    if (NS_SUCCEEDED(rc))
     525    {
     526        nsCOMPtr <nsIExceptionManager> em;
     527        rc = es->GetCurrentExceptionManager (getter_AddRefs (em));
     528        if (SUCCEEDED(rc))
     529            em->SetCurrentException(NULL);
     530    }
     531#endif
     532}
     533
     534
    512535////////////////////////////////////////////////////////////////////////////////
    513536//
  • trunk/src/VBox/Main/src-server/HostImpl.cpp

    r36128 r36451  
    754754    AutoWriteLock alock(this COMMA_LOCKVAL_SRC_POS);
    755755
    756     MultiResult rc = checkUSBProxyService();
     756    HRESULT rc = checkUSBProxyService();
    757757    if (FAILED(rc)) return rc;
    758758
     
    781781    AutoMultiWriteLock2 alock(this->lockHandle(), &m->usbListsLock COMMA_LOCKVAL_SRC_POS);
    782782
    783     MultiResult rc = checkUSBProxyService();
     783    HRESULT rc = checkUSBProxyService();
    784784    if (FAILED(rc)) return rc;
    785785
     
    11961196    AutoMultiWriteLock2 alock(this->lockHandle(), &m->usbListsLock COMMA_LOCKVAL_SRC_POS);
    11971197
     1198    clearError();
    11981199    MultiResult rc = checkUSBProxyService();
    11991200    if (FAILED(rc)) return rc;
     
    12571258    AutoMultiWriteLock2 alock(this->lockHandle(), &m->usbListsLock COMMA_LOCKVAL_SRC_POS);
    12581259
     1260    clearError();
    12591261    MultiResult rc = checkUSBProxyService();
    12601262    if (FAILED(rc)) return rc;
  • trunk/src/VBox/Main/src-server/MachineImpl.cpp

    r36411 r36451  
    22032203    AutoCaller autoCaller(this);
    22042204    if (FAILED(autoCaller.rc())) return autoCaller.rc();
     2205
     2206    clearError();
    22052207    MultiResult rc(S_OK);
    22062208
     
    1092410926#ifdef VBOX_WITH_USB
    1092510927    /* if captureDeviceForVM() fails, it must have set extended error info */
     10928    clearError();
    1092610929    MultiResult rc = mParent->host()->checkUSBProxyService();
    1092710930    if (FAILED(rc)) return rc;
     
    1198111984    AssertReturn(mData->mSession.mLockedMedia.IsEmpty(), E_FAIL);
    1198211985
     11986    clearError();
    1198311987    MultiResult mrc(S_OK);
    1198411988
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