VirtualBox

Changeset 80623 in vbox for trunk/src/VBox/Additions


Ignore:
Timestamp:
Sep 6, 2019 10:05:11 AM (6 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
133152
Message:

Shared Clipboard: Removed old protocol handling cruft on the host side and added message translation support for serving older Guest Additions. Updated docs / protocol changelog.

Location:
trunk/src/VBox/Additions
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Additions/WINNT/VBoxTray/VBoxClipboard.cpp

    r80444 r80623  
    702702           HANDLE hClip = NULL;
    703703
    704            LogFlowFunc(("VBOX_WM_SHCLPB_READ_DATA: uFormat=0x%x\n", uFormat));
     704           LogFlowFunc(("VBOX_CLIPBOARD_WM_READ_DATA: uFormat=0x%x\n", uFormat));
    705705
    706706           int rc = VBoxClipboardWinOpen(hwnd);
     
    844844
    845845                   if (RT_FAILURE(rc))
    846                        LogFunc(("Failed with rc=%Rrc\n", rc));
     846                       LogFunc(("VBOX_CLIPBOARD_WM_READ_DATA: Failed with rc=%Rrc\n", rc));
    847847               }
    848848#endif
     
    850850               if (hClip == NULL)
    851851               {
    852                    LogFunc(("VBOX_WM_SHCLPB_READ_DATA: hClip=NULL, lastError=%ld\n", GetLastError()));
     852                   LogFunc(("VBOX_CLIPBOARD_WM_READ_DATA: hClip=NULL, lastError=%ld\n", GetLastError()));
    853853
    854854                   /* Requested clipboard format is not available, send empty data. */
     
    12221222                switch (uMsg)
    12231223                {
    1224                     case VBOX_SHARED_CLIPBOARD_HOST_MSG_FORMATS_WRITE:
     1224                    case VBOX_SHARED_CLIPBOARD_HOST_MSG_FORMATS_REPORT:
    12251225                    {
    12261226                        pEvent->enmType = VBGLR3CLIPBOARDEVENTTYPE_REPORT_FORMATS;
  • trunk/src/VBox/Additions/common/VBoxGuest/lib/VBoxGuestR3LibClipboard.cpp

    r80450 r80623  
    168168                           VBOX_SHARED_CLIPBOARD_GUEST_FN_MSG_GET, 3);
    169169
    170         Msg.uContext.SetUInt32(VBOX_SHARED_CLIPBOARD_HOST_MSG_FORMATS_WRITE);
     170        Msg.uContext.SetUInt32(VBOX_SHARED_CLIPBOARD_HOST_MSG_FORMATS_REPORT);
    171171        Msg.uFormats.SetUInt32(0);
    172172        Msg.fFlags.SetUInt32(0);
     
    14771477        switch (uMsg)
    14781478        {
    1479             case VBOX_SHARED_CLIPBOARD_HOST_MSG_FORMATS_WRITE:
     1479            case VBOX_SHARED_CLIPBOARD_HOST_MSG_FORMATS_REPORT:
    14801480            {
    14811481                rc = VbglR3ClipboardFormatsWriteRecv(&pEvent->cmdCtx, &pEvent->u.ReportFormats);
     
    16491649    if (pCtx->uProtocolVer == 0)
    16501650    {
    1651         VBGL_HGCM_HDR_INIT(&Msg.hdr, pCtx->uClientID, VBOX_SHARED_CLIPBOARD_GUEST_FN_FORMATS_WRITE, 1);
     1651        VBGL_HGCM_HDR_INIT(&Msg.hdr, pCtx->uClientID, VBOX_SHARED_CLIPBOARD_GUEST_FN_FORMATS_REPORT, 1);
    16521652        VbglHGCMParmUInt32Set(&Msg.uFormats, pFormats->uFormats);
    16531653    }
    16541654    else
    16551655    {
    1656         VBGL_HGCM_HDR_INIT(&Msg.hdr, pCtx->uClientID, VBOX_SHARED_CLIPBOARD_GUEST_FN_FORMATS_WRITE, 3);
     1656        VBGL_HGCM_HDR_INIT(&Msg.hdr, pCtx->uClientID, VBOX_SHARED_CLIPBOARD_GUEST_FN_FORMATS_REPORT, 3);
    16571657
    16581658        Msg.uContext.SetUInt32(pCtx->uContextID);
     
    16801680    VBoxClipboardFormatsMsg Msg;
    16811681
    1682     VBGL_HGCM_HDR_INIT(&Msg.hdr, idClient, VBOX_SHARED_CLIPBOARD_GUEST_FN_FORMATS_WRITE, 1);
     1682    VBGL_HGCM_HDR_INIT(&Msg.hdr, idClient, VBOX_SHARED_CLIPBOARD_GUEST_FN_FORMATS_REPORT, 1);
    16831683    VbglHGCMParmUInt32Set(&Msg.uFormats, fFormats);
    16841684
  • trunk/src/VBox/Additions/common/VBoxService/VBoxServiceClipboard-os2.cpp

    r80444 r80623  
    775775         * Listener message - the host has new formats to offer.
    776776         */
    777         case WM_USER + VBOX_SHARED_CLIPBOARD_HOST_MSG_FORMATS_WRITE:
     777        case WM_USER + VBOX_SHARED_CLIPBOARD_HOST_MSG_FORMATS_REPORT:
    778778            vgsvcClipboardOs2AdvertiseHostFormats(LONGFROMMP(mp1));
    779779            break;
     
    895895                         * respond do WM_RENDERFORMAT message.
    896896                         */
    897                         case VBOX_SHARED_CLIPBOARD_HOST_MSG_FORMATS_WRITE:
    898                             if (!WinPostMsg(g_hwndWorker, WM_USER + VBOX_SHARED_CLIPBOARD_HOST_MSG_FORMATS_WRITE,
     897                        case VBOX_SHARED_CLIPBOARD_HOST_MSG_FORMATS_REPORT:
     898                            if (!WinPostMsg(g_hwndWorker, WM_USER + VBOX_SHARED_CLIPBOARD_HOST_MSG_FORMATS_REPORT,
    899899                                            MPFROMLONG(fFormats), 0))
    900900                                VGSvcError("WinPostMsg(%lx, FORMATS,,) failed, lasterr=%#lx\n",
  • trunk/src/VBox/Additions/haiku/VBoxTray/VBoxClipboard.cpp

    r80444 r80623  
    380380            switch (u32Msg)
    381381            {
    382                 case VBOX_SHARED_CLIPBOARD_HOST_MSG_FORMATS_WRITE:
     382                case VBOX_SHARED_CLIPBOARD_HOST_MSG_FORMATS_REPORT:
    383383                {
    384384                    /*
  • trunk/src/VBox/Additions/x11/VBoxClient/clipboard.cpp

    r80444 r80623  
    166166 * @param  cb        the size of the data in @a pv
    167167 */
    168 void ClipCompleteDataRequestFromX11(VBOXCLIPBOARDCONTEXT *pCtx, int rc, CLIPREADCBREQ *pReq, void *pv, uint32_t cb)
     168void ClipRequestFromX11CompleteCallback(VBOXCLIPBOARDCONTEXT *pCtx, int rc, CLIPREADCBREQ *pReq, void *pv, uint32_t cb)
    169169{
    170170    RT_NOREF1(pCtx);
     
    192192        rc = VERR_NO_MEMORY;
    193193    if (RT_SUCCESS(rc))
    194         rc = ClipStartX11(g_ctx.pBackend);
     194        rc = ClipStartX11(g_ctx.pBackend, false /* grab */);
    195195    if (RT_SUCCESS(rc))
    196196    {
     
    229229            switch (Msg)
    230230            {
    231                 case VBOX_SHARED_CLIPBOARD_HOST_MSG_FORMATS_WRITE:
     231                case VBOX_SHARED_CLIPBOARD_HOST_MSG_FORMATS_REPORT:
    232232                {
    233233                    /* The host has announced available clipboard formats.
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