VirtualBox

Ignore:
Timestamp:
Apr 17, 2019 2:59:59 PM (6 years ago)
Author:
vboxsync
Message:

Shared Clipboard/HostServices: Use pWinCtx, shorter.

File:
1 edited

Legend:

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

    r78164 r78168  
    174174    LRESULT rc = 0;
    175175
    176     PVBOXCLIPBOARDCONTEXT pCtx = &g_ctx;
     176    const PVBOXCLIPBOARDCONTEXT pCtx    = &g_ctx;
     177    const PVBOXCLIPBOARDWINCTX  pWinCtx = &pCtx->Win;
    177178
    178179    switch (msg)
     
    194195            Log(("WM_CHANGECBCHAIN\n"));
    195196
    196             if (VBoxClipboardWinIsNewAPI(&pCtx->Win.newAPI))
     197            if (VBoxClipboardWinIsNewAPI(&pWinCtx->newAPI))
    197198            {
    198199                rc = DefWindowProc(hwnd, msg, wParam, lParam);
     
    203204            HWND hwndNext    = (HWND)lParam;
    204205
    205             if (hwndRemoved == pCtx->Win.hWndNextInChain)
     206            if (hwndRemoved == pWinCtx->hWndNextInChain)
    206207            {
    207208                /* The window that was next to our in the chain is being removed.
    208209                 * Relink to the new next window.
    209210                 */
    210                 pCtx->Win.hWndNextInChain = hwndNext;
     211                pWinCtx->hWndNextInChain = hwndNext;
    211212            }
    212213            else
    213214            {
    214                 if (pCtx->Win.hWndNextInChain)
     215                if (pWinCtx->hWndNextInChain)
    215216                {
    216217                    /* Pass the message further. */
    217218                    DWORD_PTR dwResult;
    218                     rc = SendMessageTimeout(pCtx->Win.hWndNextInChain, WM_CHANGECBCHAIN, wParam, lParam, 0,
     219                    rc = SendMessageTimeout(pWinCtx->hWndNextInChain, WM_CHANGECBCHAIN, wParam, lParam, 0,
    219220                                            VBOX_CLIPBOARD_CBCHAIN_TIMEOUT_MS,
    220221                                            &dwResult);
     
    236237            }
    237238
    238             if (pCtx->Win.hWndNextInChain)
    239             {
    240                 Log(("WM_DRAWCLIPBOARD next %p\n", pCtx->Win.hWndNextInChain));
     239            if (pWinCtx->hWndNextInChain)
     240            {
     241                Log(("WM_DRAWCLIPBOARD next %p\n", pWinCtx->hWndNextInChain));
    241242                /* Pass the message to next windows in the clipboard chain. */
    242243                DWORD_PTR dwResult;
    243                 rc = SendMessageTimeout(pCtx->Win.hWndNextInChain, msg, wParam, lParam, 0, VBOX_CLIPBOARD_CBCHAIN_TIMEOUT_MS,
     244                rc = SendMessageTimeout(pWinCtx->hWndNextInChain, msg, wParam, lParam, 0, VBOX_CLIPBOARD_CBCHAIN_TIMEOUT_MS,
    244245                                        &dwResult);
    245246                if (!rc)
     
    250251        case WM_TIMER:
    251252        {
    252             if (VBoxClipboardWinIsNewAPI(&pCtx->Win.newAPI))
     253            if (VBoxClipboardWinIsNewAPI(&pWinCtx->newAPI))
    253254                break;
    254255
     
    257258            /* Re-register ourselves in the clipboard chain if our last ping
    258259             * timed out or there seems to be no valid chain. */
    259             if (!hViewer || pCtx->Win.oldAPI.fCBChainPingInProcess)
     260            if (!hViewer || pWinCtx->oldAPI.fCBChainPingInProcess)
    260261            {
    261262                VBoxClipboardWinRemoveFromCBChain(&pCtx->Win);
     
    265266            /* Start a new ping by passing a dummy WM_CHANGECBCHAIN to be
    266267             * processed by ourselves to the chain. */
    267             pCtx->Win.oldAPI.fCBChainPingInProcess = TRUE;
     268            pWinCtx->oldAPI.fCBChainPingInProcess = TRUE;
    268269
    269270            hViewer = GetClipboardViewer();
    270271            if (hViewer)
    271272                SendMessageCallback(hViewer, WM_CHANGECBCHAIN,
    272                                     (WPARAM)pCtx->Win.hWndNextInChain, (LPARAM)pCtx->Win.hWndNextInChain,
    273                                     VBoxClipboardWinChainPingProc, (ULONG_PTR)pCtx);
     273                                    (WPARAM)pWinCtx->hWndNextInChain, (LPARAM)pWinCtx->hWndNextInChain,
     274                                    VBoxClipboardWinChainPingProc, (ULONG_PTR)pWinCtx);
    274275        } break;
    275276
     
    454455            /* MS recommends to remove from Clipboard chain in this callback. */
    455456            VBoxClipboardWinRemoveFromCBChain(&pCtx->Win);
    456             if (pCtx->Win.oldAPI.timerRefresh)
    457             {
    458                 Assert(pCtx->Win.hWnd);
    459                 KillTimer(pCtx->Win.hWnd, 0);
     457            if (pWinCtx->oldAPI.timerRefresh)
     458            {
     459                Assert(pWinCtx->hWnd);
     460                KillTimer(pWinCtx->hWnd, 0);
    460461            }
    461462            PostQuitMessage(0);
     
    481482    LogFlow(("VBoxClipboardThread\n"));
    482483
    483     const PVBOXCLIPBOARDCONTEXT pCtx = &g_ctx;
     484    const PVBOXCLIPBOARDCONTEXT pCtx    = &g_ctx;
     485    const PVBOXCLIPBOARDWINCTX  pWinCtx = &pCtx->Win;
    484486
    485487    HINSTANCE hInstance = (HINSTANCE)GetModuleHandle(NULL);
     
    505507    {
    506508        /* Create the window. */
    507         pCtx->Win.hWnd = CreateWindowEx (WS_EX_TOOLWINDOW | WS_EX_TRANSPARENT | WS_EX_TOPMOST,
    508                                          s_szClipWndClassName, s_szClipWndClassName,
    509                                          WS_POPUPWINDOW,
    510                                          -200, -200, 100, 100, NULL, NULL, hInstance, NULL);
    511         if (pCtx->Win.hWnd == NULL)
     509        pWinCtx->hWnd = CreateWindowEx (WS_EX_TOOLWINDOW | WS_EX_TRANSPARENT | WS_EX_TOPMOST,
     510                                        s_szClipWndClassName, s_szClipWndClassName,
     511                                        WS_POPUPWINDOW,
     512                                        -200, -200, 100, 100, NULL, NULL, hInstance, NULL);
     513        if (pWinCtx->hWnd == NULL)
    512514        {
    513515            Log(("Failed to create window\n"));
     
    516518        else
    517519        {
    518             SetWindowPos(pCtx->Win.hWnd, HWND_TOPMOST, -200, -200, 0, 0,
     520            SetWindowPos(pWinCtx->hWnd, HWND_TOPMOST, -200, -200, 0, 0,
    519521                         SWP_NOACTIVATE | SWP_HIDEWINDOW | SWP_NOCOPYBITS | SWP_NOREDRAW | SWP_NOSIZE);
    520522
    521523            VBoxClipboardWinAddToCBChain(&pCtx->Win);
    522             if (!VBoxClipboardWinIsNewAPI(&pCtx->Win.newAPI))
    523                 pCtx->Win.oldAPI.timerRefresh = SetTimer(pCtx->Win.hWnd, 0, 10 * 1000, NULL);
     524            if (!VBoxClipboardWinIsNewAPI(&pWinCtx->newAPI))
     525                pWinCtx->oldAPI.timerRefresh = SetTimer(pWinCtx->hWnd, 0, 10 * 1000, NULL);
    524526
    525527            MSG msg;
     
    540542    }
    541543
    542     pCtx->Win.hWnd = NULL;
     544    pWinCtx->hWnd = NULL;
    543545
    544546    if (atomWindowClass != 0)
     
    652654void vboxClipboardFormatAnnounce (VBOXCLIPBOARDCLIENTDATA *pClient, uint32_t u32Formats)
    653655{
     656    AssertPtrReturnVoid(pClient);
     657    AssertPtrReturnVoid(pClient->pCtx);
     658
    654659    /*
    655660     * The guest announces formats. Forward to the window thread.
     
    690695int vboxClipboardReadData (VBOXCLIPBOARDCLIENTDATA *pClient, uint32_t u32Format, void *pv, uint32_t cb, uint32_t *pcbActual)
    691696{
     697    AssertPtrReturn(pClient,       VERR_INVALID_POINTER);
     698    AssertPtrReturn(pClient->pCtx, VERR_INVALID_POINTER);
     699
    692700    LogFlow(("vboxClipboardReadData: u32Format = %02X\n", u32Format));
    693701
    694702    HANDLE hClip = NULL;
     703
     704    const PVBOXCLIPBOARDWINCTX pWinCtx = &pClient->pCtx->Win;
    695705
    696706    /*
    697707     * The guest wants to read data in the given format.
    698708     */
    699     int rc = VBoxClipboardWinOpen(pClient->pCtx->Win.hWnd);
     709    int rc = VBoxClipboardWinOpen(pWinCtx->hWnd);
    700710    if (RT_SUCCESS(rc))
    701711    {
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