VirtualBox

Ignore:
Timestamp:
Aug 27, 2019 6:30:26 PM (6 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
132939
Message:

Shared Clipboard/URI: Build fix for X11 testcase.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/HostServices/SharedClipboard/VBoxSharedClipboardSvc-x11.cpp

    r80444 r80448  
    548548        && !pBackend->writeData.timeout)
    549549    {
    550         rc = VBoxClipboardSvcImplWriteData(pClient, pBackend->writeData.pv, pBackend->writeData.cb, pBackend->writeData.format);
     550        SHAREDCLIPBOARDDATABLOCK dataBlock;
     551        RT_ZERO(dataBlock);
     552
     553        dataBlock.pvData  = pBackend->writeData.pv;
     554        dataBlock.cbData  = pBackend->writeData.cb;
     555        dataBlock.uFormat = pBackend->writeData.format;
     556
     557        rc = VBoxClipboardSvcImplWriteData(pClient, NULL /* pCmdCtx */, &dataBlock);
    551558    }
    552559    else
     
    604611int main()
    605612{
    606     VBOXCLIPBOARDCLIENTDATA client;
     613    VBOXCLIPBOARDCLIENT client;
    607614    unsigned cErrors = 0;
    608615    int rc = RTR3InitExeNoArguments(0);
     
    612619    CLIPBACKEND *pBackend = client.State.pCtx->pBackend;
    613620    AssertRCReturn(rc, 1);
    614     VBoxClipboardSvcImplFormatAnnounce(&client,
    615                                 VBOX_SHARED_CLIPBOARD_FMT_UNICODETEXT);
     621
     622    SHAREDCLIPBOARDFORMATDATA formatData;
     623    RT_ZERO(formatData);
     624    formatData.uFormats = VBOX_SHARED_CLIPBOARD_FMT_UNICODETEXT;
     625
     626    VBoxClipboardSvcImplFormatAnnounce(&client, NULL /* pCmdCtx */, &formatData);
     627
    616628    if (pBackend->formats != VBOX_SHARED_CLIPBOARD_FMT_UNICODETEXT)
    617629    {
     
    620632    }
    621633    pBackend->readData.rc = VINF_SUCCESS;
    622     client.State.asyncRead.callHandle = (VBOXHGCMCALLHANDLE)pBackend;
    623     client.State.asyncRead.paParms = (VBOXHGCMSVCPARM *)&client;
     634
     635    client.State.Old.asyncRead.callHandle = (VBOXHGCMCALLHANDLE)pBackend;
     636    client.State.Old.asyncRead.paParms = (VBOXHGCMSVCPARM *)&client;
     637
    624638    uint32_t u32Dummy;
    625     rc = VBoxClipboardSvcImplReadData(&client, VBOX_SHARED_CLIPBOARD_FMT_UNICODETEXT,
    626                                &u32Dummy, 42, &u32Dummy);
     639
     640    SHAREDCLIPBOARDDATABLOCK dataBlock;
     641    RT_ZERO(dataBlock);
     642    dataBlock.pvData  = &u32Dummy;
     643    dataBlock.cbData  = 42;
     644    dataBlock.uFormat = VBOX_SHARED_CLIPBOARD_FMT_UNICODETEXT;
     645
     646    rc = VBoxClipboardSvcImplReadData(&client, &dataBlock, &u32Dummy);
    627647    if (rc != VINF_HGCM_ASYNC_EXECUTE)
    628648    {
     
    691711    /* Data arriving after a timeout should *not* cause any segfaults or
    692712     * memory leaks.  Check with Valgrind! */
    693     VBoxClipboardSvcImplWriteData(&client, (void *)"tested", sizeof("tested"), 999);
     713    RT_ZERO(dataBlock);
     714
     715    const char *pszString = "tested";
     716
     717    dataBlock.pvData  = (void *)pszString;
     718    dataBlock.cbData  = (uint32_t)(strlen(pszString) + 1);
     719    dataBlock.uFormat = 999;
     720
     721    VBoxClipboardSvcImplWriteData(&client, NULL /* pCmdCtx */, &dataBlock);
     722
    694723    VBoxClipboardSvcImplDisconnect(&client);
    695     if (cErrors > 0)
    696         RTPrintf(TEST_NAME ": errors: %u\n", cErrors);
     724
     725    RTPrintf(TEST_NAME ": errors: %u\n", cErrors);
     726
    697727    return cErrors > 0 ? 1 : 0;
    698728}
Note: See TracChangeset for help on using the changeset viewer.

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