VirtualBox

Changeset 86948 in vbox for trunk/src/VBox/Additions/common


Ignore:
Timestamp:
Nov 20, 2020 6:35:24 PM (4 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
141467
Message:

Shared Clipboard/Transfers: Resurrected Windows code. bugref:9437

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Additions/common/VBoxGuest/lib/VBoxGuestR3LibClipboard.cpp

    r86911 r86948  
    113113    pCtx->fGuestFeatures       |= VBOX_SHCL_GF_0_TRANSFERS_FRONTEND;
    114114# endif
    115     pCtx->cbChunkSize           = VBOX_SHCL_DEFAULT_CHUNK_SIZE; /** @todo Make this configurable. */
    116     pCtx->cbMaxChunkSize        = VBOX_SHCL_MAX_CHUNK_SIZE;     /** @todo Ditto. */
     115    pCtx->Transfers.cbChunkSize    = VBOX_SHCL_DEFAULT_CHUNK_SIZE; /** @todo Make this configurable. */
     116    pCtx->Transfers.cbMaxChunkSize = VBOX_SHCL_MAX_CHUNK_SIZE;     /** @todo Ditto. */
    117117#endif /* VBOX_WITH_SHARED_CLIPBOARD_TRANSFERS */
    118118
     
    148148                        VBGL_HGCM_HDR_INIT(&MsgChunkSize.hdr, pCtx->idClient, VBOX_SHCL_GUEST_FN_NEGOTIATE_CHUNK_SIZE,
    149149                                           VBOX_SHCL_CPARMS_NEGOTIATE_CHUNK_SIZE);
    150                         MsgChunkSize.cb32MaxChunkSize.SetUInt32(pCtx->cbMaxChunkSize);
     150                        MsgChunkSize.cb32MaxChunkSize.SetUInt32(pCtx->Transfers.cbMaxChunkSize);
    151151                        MsgChunkSize.cb32ChunkSize.SetUInt32(0); /* If set to 0, let the host choose. */
    152152                        rc = VbglR3HGCMCall(&MsgChunkSize.hdr, sizeof(MsgChunkSize));
     
    155155                    {
    156156                        Assert(MsgChunkSize.cb32ChunkSize.type == VMMDevHGCMParmType_32bit);
    157                         pCtx->cbChunkSize    = RT_MIN(MsgChunkSize.cb32ChunkSize.u.value32,    pCtx->cbChunkSize);
     157                        pCtx->Transfers.cbChunkSize    = RT_MIN(MsgChunkSize.cb32ChunkSize.u.value32,    pCtx->Transfers.cbChunkSize);
    158158                        Assert(MsgChunkSize.cb32MaxChunkSize.type == VMMDevHGCMParmType_32bit);
    159                         pCtx->cbMaxChunkSize = RT_MIN(MsgChunkSize.cb32MaxChunkSize.u.value32, pCtx->cbMaxChunkSize);
     159                        pCtx->Transfers.cbMaxChunkSize = RT_MIN(MsgChunkSize.cb32MaxChunkSize.u.value32, pCtx->Transfers.cbMaxChunkSize);
    160160
    161161                        LogRel2(("Shared Clipboard: Using chunk size %RU32 (maximum is %RU32)\n",
    162                                  pCtx->cbChunkSize, pCtx->cbMaxChunkSize));
     162                                 pCtx->Transfers.cbChunkSize, pCtx->Transfers.cbMaxChunkSize));
    163163                    }
    164164                }
     
    18031803    if (RT_SUCCESS(rc))
    18041804    {
    1805         ShClTransferSetCallbacks(pTransfer, &pCmdCtx->Callbacks);
     1805        ShClTransferSetCallbacks(pTransfer, &pCmdCtx->Transfers.Callbacks);
    18061806
    18071807        rc = ShClTransferCtxTransferRegisterByIndex(pTransferCtx, pTransfer, uTransferID);
     
    22182218                    AssertPtrBreakStmt(pTransfer, rc = VERR_NOT_FOUND);
    22192219
    2220                     AssertBreakStmt(pCmdCtx->cbChunkSize, rc = VERR_INVALID_PARAMETER);
    2221 
    2222                     const uint32_t cbToRead = RT_MIN(cbBuf, pCmdCtx->cbChunkSize);
     2220                    AssertBreakStmt(pCmdCtx->Transfers.cbChunkSize, rc = VERR_INVALID_PARAMETER);
     2221
     2222                    const uint32_t cbToRead = RT_MIN(cbBuf, pCmdCtx->Transfers.cbChunkSize);
    22232223
    22242224                    LogFlowFunc(("hObj=%RU64, cbBuf=%RU32, fFlags=0x%x -> cbChunkSize=%RU32, cbToRead=%RU32\n",
    2225                                  hObj, cbBuf, fFlags, pCmdCtx->cbChunkSize, cbToRead));
     2225                                 hObj, cbBuf, fFlags, pCmdCtx->Transfers.cbChunkSize, cbToRead));
    22262226
    22272227                    void *pvBuf = RTMemAlloc(cbToRead);
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