VirtualBox

Ignore:
Timestamp:
Oct 22, 2019 8:04:12 AM (5 years ago)
Author:
vboxsync
Message:

Shared Clipboard/Transfers: Don't count directory entries as entries to process by IDataObject, as directories are not separately being processed by IStreamImpl.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/GuestHost/SharedClipboard/ClipboardDataObjectImpl-win.cpp

    r81269 r81438  
    278278                            if (RTFS_IS_DIRECTORY(pFsObjInfo->Attr.fMode))
    279279                            {
    280                                 FSOBJENTRY objEntry = { strPath.c_str(), *pFsObjInfo };
    281 
    282                                 m_lstEntries.push_back(objEntry); /** @todo Can this throw? */
     280                                /* Note: Directories are *not* required to be part of m_lstEntries, as we only
     281                                 *       count files to transfer there. */
    283282
    284283                                rc = readDir(pTransfer, strPath.c_str());
     
    360359                if (RTFS_IS_DIRECTORY(pFsObjInfo->Attr.fMode))
    361360                {
    362                     FSOBJENTRY objEntry = { pRootEntry->pszName, *pFsObjInfo };
    363 
    364                     pThis->m_lstEntries.push_back(objEntry); /** @todo Can this throw? */
     361                    /* Note: Directories are *not* required to be part of m_lstEntries, as we only
     362                     *       count files to transfer there. */
    365363
    366364                    rc = pThis->readDir(pTransfer, pRootEntry->pszName);
     
    871869            m_enmStatus = Completed;
    872870        }
    873         else
    874             AssertFailed();
    875871    }
    876872    else
    877873        m_enmStatus = Error;
    878874
    879     if (m_EventTransferComplete != NIL_RTSEMEVENT)
    880     {
    881         int rc2 = RTSemEventSignal(m_EventTransferComplete);
    882         AssertRC(rc2);
     875    if (m_enmStatus != Initialized)
     876    {
     877        if (m_EventTransferComplete != NIL_RTSEMEVENT)
     878        {
     879            int rc2 = RTSemEventSignal(m_EventTransferComplete);
     880            AssertRC(rc2);
     881        }
    883882    }
    884883
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