VirtualBox

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


Ignore:
Timestamp:
Dec 5, 2022 8:02:36 AM (2 years ago)
Author:
vboxsync
Message:

DnD/VBoxClient: Added DragAndDropService::reset() for resetting drag'n drop service-specific data.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Additions/x11/VBoxClient/draganddrop.cpp

    r97735 r97737  
    680680    int  init(void);
    681681    int  worker(bool volatile *pfShutdown);
     682    void reset(void);
    682683    void stop(void);
    683684    int  term(void);
     
    34563457}
    34573458
     3459/**
     3460 * Resets the DnD service' data.
     3461 */
     3462void DragAndDropService::reset(void)
     3463{
     3464    LogFlowFuncEnter();
     3465
     3466    if (m_pCurDnD)
     3467        m_pCurDnD->reset();
     3468
     3469    /*
     3470     * Clear the event queue.
     3471     */
     3472    int rc2 = RTCritSectEnter(&m_eventQueueCS);
     3473    if (RT_SUCCESS(rc2))
     3474    {
     3475        for (size_t i = 0; i < m_eventQueue.size(); i++)
     3476        {
     3477            switch (m_eventQueue[i].enmType)
     3478            {
     3479                case DNDEVENT::DnDEventType_HGCM:
     3480                {
     3481                    VbglR3DnDEventFree(m_eventQueue[i].hgcm);
     3482                    break;
     3483                }
     3484
     3485                default:
     3486                    break;
     3487            }
     3488
     3489        }
     3490
     3491        m_eventQueue.clear();
     3492
     3493        rc2 = RTCritSectLeave(&m_eventQueueCS);
     3494        AssertRC(rc2);
     3495    }
     3496
     3497    LogFlowFuncLeave();
     3498}
     3499
    34583500/** @copydoc VBCLSERVICE::pfnStop */
    34593501void DragAndDropService::stop(void)
     
    35213563        VBClLogVerbose(2, "HGCM thread terminated\n");
    35223564    }
     3565
     3566    reset();
    35233567
    35243568    if (m_pCurDnD)
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