VirtualBox

Ignore:
Timestamp:
Jun 4, 2014 12:11:43 PM (11 years ago)
Author:
vboxsync
Message:

DnD: Removed obsolete COMPOUND_TEXT; spaces.

File:
1 edited

Legend:

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

    r51451 r51529  
    7676 * the data in the specified mime-type. This data is send back to the host.
    7777 * After that we send a XdndLeave event to the source window.
    78  * 
     78 *
    7979 * To-do:
    8080 * - Cancelling (e.g. with ESC key) doesn't work.
     
    365365
    366366    /* X11 message processing. */
    367     int onX11ClientMessage(const XEvent &e);   
     367    int onX11ClientMessage(const XEvent &e);
    368368    int onX11SelectionNotify(const XEvent &e);
    369369    int onX11SelectionRequest(const XEvent &e);
     
    578578    << "UTF8_STRING"
    579579    << "text/plain"
    580     << "COMPOUND_TEXT"
    581580    << "TEXT"
    582581    << "STRING"
     
    636635        XSetWindowAttributes attr;
    637636        RT_ZERO(attr);
    638         attr.event_mask            =   EnterWindowMask  | LeaveWindowMask 
     637        attr.event_mask            =   EnterWindowMask  | LeaveWindowMask
    639638                                     | ButtonMotionMask | ButtonPressMask | ButtonReleaseMask;
    640639        attr.do_not_propagate_mask = NoEventMask;
     
    643642        attr.background_pixel      = WhitePixel(m_pDisplay, m_screenId);
    644643#endif
    645         m_wndProxy = XCreateWindow(m_pDisplay, m_wndRoot                 /* Parent */, 
     644        m_wndProxy = XCreateWindow(m_pDisplay, m_wndRoot                 /* Parent */,
    646645                                   0, 0,                                 /* Position */
    647646                                   1, 1,                                 /* Width + height */
     
    658657        }
    659658
    660         LogFlowThisFunc(("Created proxy window 0x%x at m_wndRoot=0x%x ...\n", 
     659        LogFlowThisFunc(("Created proxy window 0x%x at m_wndRoot=0x%x ...\n",
    661660                         m_wndProxy, m_wndRoot));
    662661
     
    675674    }
    676675    else
    677         LogRel(("DnD: Initializing drag instance for screen %RU32 failed with rc=%Rrc\n", 
     676        LogRel(("DnD: Initializing drag instance for screen %RU32 failed with rc=%Rrc\n",
    678677                u32ScreenId, rc));
    679678
     
    882881                    Assert(strFormat.isNotEmpty());
    883882                    rc = VbglR3DnDHGRequestData(m_uClientID, strFormat.c_str());
    884                     LogFlowThisFunc(("Requesting data from host as \"%s\", rc=%Rrc\n", 
     883                    LogFlowThisFunc(("Requesting data from host as \"%s\", rc=%Rrc\n",
    885884                                     strFormat.c_str(), rc));
    886885                }
     
    931930    {
    932931        case ButtonPress:
    933             LogFlowThisFunc(("ButtonPress\n")); 
     932            LogFlowThisFunc(("ButtonPress\n"));
    934933            rc = VINF_SUCCESS;
    935934            break;
    936935
    937936        case ButtonRelease:
    938             LogFlowThisFunc(("ButtonRelease\n")); 
     937            LogFlowThisFunc(("ButtonRelease\n"));
    939938            rc = VINF_SUCCESS;
    940939            break;
    941940
    942         case ClientMessage:   
    943             rc = onX11ClientMessage(e); 
     941        case ClientMessage:
     942            rc = onX11ClientMessage(e);
    944943            break;
    945944
     
    951950
    952951        case SelectionNotify:
    953             rc = onX11SelectionNotify(e); 
    954             break;
    955 
    956         case SelectionRequest: 
    957             rc = onX11SelectionRequest(e); 
    958             break;
    959 
    960         /*case MotionNotify: 
     952            rc = onX11SelectionNotify(e);
     953            break;
     954
     955        case SelectionRequest:
     956            rc = onX11SelectionRequest(e);
     957            break;
     958
     959        /*case MotionNotify:
    961960          hide();
    962961          break;*/
     
    972971
    973972#ifdef VBOX_WITH_DRAG_AND_DROP_GH
    974 bool DragInstance::waitForX11Msg(XEvent &evX, int iType, 
     973bool DragInstance::waitForX11Msg(XEvent &evX, int iType,
    975974                                 RTMSINTERVAL uTimeoutMS /* = 100 */)
    976975{
    977     LogFlowThisFunc(("iType=%d, uTimeoutMS=%RU32, cEventQueue=%zu\n", 
     976    LogFlowThisFunc(("iType=%d, uTimeoutMS=%RU32, cEventQueue=%zu\n",
    978977                     iType, uTimeoutMS, m_eventQueue.size()));
    979978
     
    10181017    while (RTTimeMilliTS() - uiStart < uTimeoutMS);
    10191018
    1020     LogFlowThisFunc(("Returning fFound=%RTbool, msRuntime=%RU64\n", 
     1019    LogFlowThisFunc(("Returning fFound=%RTbool, msRuntime=%RU64\n",
    10211020                     fFound, RTTimeMilliTS() - uiStart));
    10221021    return fFound;
    10231022}
    10241023
    1025 bool DragInstance::waitForX11ClientMsg(XClientMessageEvent &evMsg, Atom aType, 
     1024bool DragInstance::waitForX11ClientMsg(XClientMessageEvent &evMsg, Atom aType,
    10261025                                       RTMSINTERVAL uTimeoutMS /*= 100 */)
    10271026{
    1028     LogFlowThisFunc(("aType=%s, uTimeoutMS=%RU32, cEventQueue=%zu\n", 
     1027    LogFlowThisFunc(("aType=%s, uTimeoutMS=%RU32, cEventQueue=%zu\n",
    10291028                     xAtomToString(aType).c_str(), uTimeoutMS, m_eventQueue.size()));
    10301029
     
    10391038            if (RT_SUCCESS(rc2))
    10401039            {
    1041                 XEvent e = m_eventQueue.at(i);               
    1042                 if (e.type == ClientMessage)                   
     1040                XEvent e = m_eventQueue.at(i);
     1041                if (e.type == ClientMessage)
    10431042                {
    10441043                    m_eventQueue.removeAt(i);
     
    10691068    while (RTTimeMilliTS() - uiStart < uTimeoutMS);
    10701069
    1071     LogFlowThisFunc(("Returning fFound=%RTbool, msRuntime=%RU64\n", 
     1070    LogFlowThisFunc(("Returning fFound=%RTbool, msRuntime=%RU64\n",
    10721071                     fFound, RTTimeMilliTS() - uiStart));
    10731072    return fFound;
     
    11601159     * Is the window under the cursor another one than our current one?
    11611160     */
    1162     if (   wndCursor != m_wndCur 
     1161    if (   wndCursor != m_wndCur
    11631162        && m_curVer != -1)
    11641163    {
     
    12391238    }
    12401239
    1241     if (   wndCursor == None 
     1240    if (   wndCursor == None
    12421241        && newVer    == -1)
    12431242    {
     
    13651364            AssertPtr(pEventClient);
    13661365
    1367             LogFlowThisFunc(("Received event=%s\n", 
     1366            LogFlowThisFunc(("Received event=%s\n",
    13681367                             gX11->xAtomToString(pEventClient->message_type).c_str()));
    13691368
     
    13851384                XWindowAttributes xwa;
    13861385                XGetWindowAttributes(m_pDisplay, m_wndCur, &xwa);
    1387                 LogFlowThisFunc(("m_wndCur=%#x, x=%d, y=%d, width=%d, height=%d\n", 
     1386                LogFlowThisFunc(("m_wndCur=%#x, x=%d, y=%d, width=%d, height=%d\n",
    13881387                                 m_wndCur, xwa.x, xwa.y, xwa.width, xwa.height));
    13891388#endif
     
    13941393                    for (int i = 2; i < 5; ++i)
    13951394                    {
    1396                         LogFlowThisFunc(("Received format via message: %s\n", 
     1395                        LogFlowThisFunc(("Received format via message: %s\n",
    13971396                                         gX11->xAtomToString(pEventClient->data.l[i]).c_str()));
    13981397
     
    14021401                else
    14031402                {
    1404                     xRc = XGetWindowProperty(m_pDisplay, wndSelection, 
    1405                                              xAtom(XA_XdndTypeList), 
    1406                                              0, VBOX_MAX_XPROPERTIES, 
     1403                    xRc = XGetWindowProperty(m_pDisplay, wndSelection,
     1404                                             xAtom(XA_XdndTypeList),
     1405                                             0, VBOX_MAX_XPROPERTIES,
    14071406                                             False, XA_ATOM, &type, &f, &n, &a, &ret);
    14081407                    if (   xRc == Success
     
    14131412                        for (unsigned i = 0; i < RT_MIN(VBOX_MAX_XPROPERTIES, n); ++i)
    14141413                        {
    1415                             LogFlowThisFunc(("Received format via XdndTypeList: %s\n", 
     1414                            LogFlowThisFunc(("Received format via XdndTypeList: %s\n",
    14161415                                             gX11->xAtomToString(data[i]).c_str()));
    14171416
     
    14241423
    14251424                /* Fetch the possible list of actions, if this property is set. */
    1426                 xRc = XGetWindowProperty(m_pDisplay, wndSelection, 
    1427                                          xAtom(XA_XdndActionList), 
    1428                                          0, VBOX_MAX_XPROPERTIES, 
     1425                xRc = XGetWindowProperty(m_pDisplay, wndSelection,
     1426                                         xAtom(XA_XdndActionList),
     1427                                         0, VBOX_MAX_XPROPERTIES,
    14291428                                         False, XA_ATOM, &type, &f, &n, &a, &ret);
    14301429                if (   xRc == Success
     
    14351434                    for (unsigned i = 0; i < RT_MIN(VBOX_MAX_XPROPERTIES, n); ++i)
    14361435                    {
    1437                         LogFlowThisFunc(("Received action: %s\n", 
     1436                        LogFlowThisFunc(("Received action: %s\n",
    14381437                                         gX11->xAtomToString(data[i]).c_str()));
    14391438
     
    14571456                m.data.l[4]    = xAtom(XA_XdndActionCopy); /** @todo Make the accepted action configurable. */
    14581457
    1459                 xRc = XSendEvent(m_pDisplay, m_wndCur, 
     1458                xRc = XSendEvent(m_pDisplay, m_wndCur,
    14601459                                 False, 0, reinterpret_cast<XEvent*>(&m));
    14611460                if (RT_UNLIKELY(xRc == 0))
     
    14801479                m.data.l[4]    = xAtom(XA_XdndActionCopy); /** @todo Make the accepted action configurable. */
    14811480
    1482                 xRc = XSendEvent(m_pDisplay, m_wndCur, 
     1481                xRc = XSendEvent(m_pDisplay, m_wndCur,
    14831482                                 False, 0, reinterpret_cast<XEvent*>(&m));
    14841483                if (RT_UNLIKELY(xRc == 0))
     
    14991498
    15001499            rc = VbglR3DnDGHAcknowledgePending(m_uClientID, uDefAction, uAllActions, strFormats.c_str());
    1501             LogFlowThisFunc(("Acknowledging m_uClientID=%RU32, allActions=0x%x, strFormats=%s, rc=%Rrc\n", 
     1500            LogFlowThisFunc(("Acknowledging m_uClientID=%RU32, allActions=0x%x, strFormats=%s, rc=%Rrc\n",
    15021501                             m_uClientID, uAllActions, strFormats.c_str(), rc));
    15031502        }
     
    15101509int DragInstance::ghDropped(const RTCString &strFormat, uint32_t uAction)
    15111510{
    1512     LogFlowThisFunc(("strFormat=%s, uAction=%RU32\n", 
     1511    LogFlowThisFunc(("strFormat=%s, uAction=%RU32\n",
    15131512                     strFormat.c_str(), uAction));
    15141513
     
    15251524    XWindowAttributes xwa;
    15261525    XGetWindowAttributes(m_pDisplay, m_wndCur, &xwa);
    1527     LogFlowThisFunc(("m_wndCur=%#x, x=%d, y=%d, width=%d, height=%d\n", 
     1526    LogFlowThisFunc(("m_wndCur=%#x, x=%d, y=%d, width=%d, height=%d\n",
    15281527                     m_wndCur, xwa.x, xwa.y, xwa.width, xwa.height));
    15291528
     
    15341533    /* We send a fake release event to the current window, cause
    15351534     * this should have the grab. */
    1536     mouseButtonSet(m_wndCur /* Source window */, iRootX, iRootY, 
     1535    mouseButtonSet(m_wndCur /* Source window */, iRootX, iRootY,
    15371536                   1 /* Button */, false /* Release button */);
    15381537
    15391538    /* The fake button release event should lead to a XdndDrop event from the
    1540      * source. Because of showing our proxy window, other Xdnd events can 
     1539     * source. Because of showing our proxy window, other Xdnd events can
    15411540     * occur before, e.g. a XdndPosition event. We are not interested
    15421541     * in those, so just try to get the right one. */
    15431542
    15441543    XClientMessageEvent evDnDDrop;
    1545     bool fDrop = waitForX11ClientMsg(evDnDDrop, xAtom(XA_XdndDrop), 
     1544    bool fDrop = waitForX11ClientMsg(evDnDDrop, xAtom(XA_XdndDrop),
    15461545                                     5 * 1000 /* Timeout in ms */);
    15471546    if (fDrop)
     
    15531552        Atom aFormat  = gX11->stringToxAtom(strFormat.c_str());
    15541553
    1555         XConvertSelection(m_pDisplay, xAtom(XA_XdndSelection), 
    1556                           aFormat, xAtom(XA_XdndSelection), 
     1554        XConvertSelection(m_pDisplay, xAtom(XA_XdndSelection),
     1555                          aFormat, xAtom(XA_XdndSelection),
    15571556                          m_wndProxy, evDnDDrop.data.l[2]);
    15581557
     
    15771576                unsigned long cItems, cbRemaining;
    15781577                unsigned char *pcData = NULL;
    1579                 XGetWindowProperty(m_pDisplay, m_wndProxy, 
     1578                XGetWindowProperty(m_pDisplay, m_wndProxy,
    15801579                                   xAtom(XA_XdndSelection) /* Property */,
    15811580                                   0 /* Offset */,
    15821581                                   VBOX_MAX_XPROPERTIES /* Length of 32-bit multiples */,
    1583                                    True /* Delete property? */, 
     1582                                   True /* Delete property? */,
    15841583                                   AnyPropertyType, /* Property type */
    15851584                                   &aPropType, &iPropFormat, &cItems, &cbRemaining, &pcData);
    15861585
    1587                 LogFlowThisFunc(("strType=%s, iPropFormat=%d, cItems=%RU32, cbRemaining=%RU32\n", 
     1586                LogFlowThisFunc(("strType=%s, iPropFormat=%d, cItems=%RU32, cbRemaining=%RU32\n",
    15881587                                 gX11->xAtomToString(aPropType).c_str(), iPropFormat, cItems, cbRemaining));
    15891588
     
    16081607                            memcpy(pvDataTmp, pcData, cbData);
    16091608                            pvDataTmp[cbData++] = '\0';
    1610                            
    1611                             rc = VbglR3DnDGHSendData(m_uClientID, strFormat.c_str(), 
     1609
     1610                            rc = VbglR3DnDGHSendData(m_uClientID, strFormat.c_str(),
    16121611                                                     pvDataTmp, cbData);
    16131612                            RTMemFree(pvDataTmp);
     
    16231622                    }
    16241623
    1625                     LogFlowThisFunc(("Sent strFormat=%s with rc=%Rrc\n", 
     1624                    LogFlowThisFunc(("Sent strFormat=%s with rc=%Rrc\n",
    16261625                                     strFormat.c_str(), rc));
    16271626
     
    16571656                    else
    16581657                    {
    1659                         AssertMsgFailed(("Not supported data type (%s)\n", 
     1658                        AssertMsgFailed(("Not supported data type (%s)\n",
    16601659                                         gX11->xAtomToString(aPropType).c_str()));
    16611660                        rc = VERR_INVALID_PARAMETER;
     
    16651664                }
    16661665
    1667                 if (fCancel) 
     1666                if (fCancel)
    16681667                {
    16691668                    LogFlowFunc(("Cancelling drop ...\n"));
     
    17541753        LogFlowThisFunc(("Error sending XTestFakeButtonEvent event\n"));
    17551754    XFlush (m_pDisplay);
    1756    
     1755
    17571756    // Release
    17581757    event.type = ButtonRelease;
     
    17601759        LogFlowThisFunc(("Error sending XTestFakeButtonEvent event\n"));
    17611760    XFlush (m_pDisplay);
    1762    
     1761
    17631762#else
    17641763#ifdef VBOX_DND_WITH_XTEST
     
    18011800        //XTranslateCoordinates(m_pDisplay, eBtn.root, eBtn.window, eBtn.x_root, eBtn.y_root, &eBtn.x, &eBtn.y, &eBtn.subwindow);
    18021801#if 0
    1803         int xrc = XSendEvent(m_pDisplay, eBtn.window, True /* fPropagate */, 
    1804                                fPress 
    1805                              ? ButtonPressMask : ButtonReleaseMask, 
     1802        int xrc = XSendEvent(m_pDisplay, eBtn.window, True /* fPropagate */,
     1803                               fPress
     1804                             ? ButtonPressMask : ButtonReleaseMask,
    18061805                             reinterpret_cast<XEvent*>(&eBtn));
    18071806#else
    1808         int xrc = XSendEvent(m_pDisplay, eBtn.window, False /* fPropagate */, 
     1807        int xrc = XSendEvent(m_pDisplay, eBtn.window, False /* fPropagate */,
    18091808                             0 /* Mask */,
    18101809                             reinterpret_cast<XEvent*>(&eBtn));
     
    18261825}
    18271826
    1828 int DragInstance::proxyWinShow(int *piRootX /*= NULL*/, 
     1827int DragInstance::proxyWinShow(int *piRootX /*= NULL*/,
    18291828                               int *piRootY /*= NULL*/,
    18301829                               bool fMouseMove /*= false */) const
     
    18411840
    18421841//    XTestGrabControl(m_pDisplay, False);
    1843     Bool fInRootWnd = XQueryPointer(m_pDisplay, m_wndRoot, &wndRoot, &wndChild, 
    1844                                     &iRootX, &iRootY, 
     1842    Bool fInRootWnd = XQueryPointer(m_pDisplay, m_wndRoot, &wndRoot, &wndChild,
     1843                                    &iRootX, &iRootY,
    18451844                                    &iChildX, &iChildY, &iMask);
    18461845#ifdef DEBUG_andy
    1847     LogFlowThisFunc(("fInRootWnd=%RTbool, wndRoot=0x%x, wndChild=0x%x, iRootX=%d, iRootY=%d\n", 
     1846    LogFlowThisFunc(("fInRootWnd=%RTbool, wndRoot=0x%x, wndChild=0x%x, iRootX=%d, iRootY=%d\n",
    18481847                     RT_BOOL(fInRootWnd), wndRoot, wndChild, iRootX, iRootY));
    18491848#endif
     
    19011900}
    19021901
    1903 void DragInstance::setActionsWindowProperty(Window wndThis, 
     1902void DragInstance::setActionsWindowProperty(Window wndThis,
    19041903                                            const RTCList<Atom> &lstActions) const
    19051904{
     
    19071906        return;
    19081907
    1909     XChangeProperty(m_pDisplay, wndThis, 
    1910                     xAtom(XA_XdndActionList), 
     1908    XChangeProperty(m_pDisplay, wndThis,
     1909                    xAtom(XA_XdndActionList),
    19111910                    XA_ATOM, 32, PropModeReplace,
    1912                     reinterpret_cast<const unsigned char*>(lstActions.raw()), 
     1911                    reinterpret_cast<const unsigned char*>(lstActions.raw()),
    19131912                    lstActions.size());
    19141913}
     
    19191918}
    19201919
    1921 void DragInstance::setFormatsWindowProperty(Window wndThis, 
     1920void DragInstance::setFormatsWindowProperty(Window wndThis,
    19221921                                            Atom property) const
    19231922{
     
    19311930
    19321931    /* Add the property with the property data to the window. */
    1933     XChangeProperty(m_pDisplay, wndThis, property, 
     1932    XChangeProperty(m_pDisplay, wndThis, property,
    19341933                    XA_ATOM, 32, PropModeReplace,
    1935                     reinterpret_cast<const unsigned char*>(targets.raw()), 
     1934                    reinterpret_cast<const unsigned char*>(targets.raw()),
    19361935                    targets.size());
    19371936}
     
    19391938void DragInstance::clearFormatsWindowProperty(Window wndThis) const
    19401939{
    1941     XDeleteProperty(m_pDisplay, wndThis, 
     1940    XDeleteProperty(m_pDisplay, wndThis,
    19421941                    xAtom(XA_XdndTypeList));
    19431942}
     
    21032102            LogFlowFunc(("Waiting for new event ...\n"));
    21042103            rc = RTSemEventWait(m_hEventSem, RT_INDEFINITE_WAIT);
    2105             if (RT_FAILURE(rc)) 
     2104            if (RT_FAILURE(rc))
    21062105                break;
    21072106
     
    21192118                    case DragAndDropSvc::HOST_DND_HG_EVT_ENTER:
    21202119                    {
    2121                         if (e.hgcm.cbFormats) 
     2120                        if (e.hgcm.cbFormats)
    21222121                        {
    2123                             RTCList<RTCString> lstFormats 
     2122                            RTCList<RTCString> lstFormats
    21242123                                = RTCString(e.hgcm.pszFormats, e.hgcm.cbFormats - 1).split("\r\n");
    21252124                            m_pCurDnD->hgEnter(lstFormats, e.hgcm.u.a.uAllActions);
     
    21332132                    case DragAndDropSvc::HOST_DND_HG_EVT_MOVE:
    21342133                    {
    2135                         m_pCurDnD->hgMove(e.hgcm.u.a.uXpos, e.hgcm.u.a.uYpos, 
     2134                        m_pCurDnD->hgMove(e.hgcm.u.a.uXpos, e.hgcm.u.a.uYpos,
    21362135                                          e.hgcm.u.a.uDefAction);
    21372136                        break;
     
    21622161                    {
    21632162#ifdef VBOX_WITH_DRAG_AND_DROP_GH
    2164                         m_pCurDnD->ghDropped(e.hgcm.pszFormats, 
     2163                        m_pCurDnD->ghDropped(e.hgcm.pszFormats,
    21652164                                             e.hgcm.u.a.uDefAction);
    21662165#endif
     
    22032202            else if (e.type == DnDEvent::X11_Type)
    22042203            {
    2205                 m_pCurDnD->onX11Event(e.x11); 
     2204                m_pCurDnD->onX11Event(e.x11);
    22062205            }
    22072206            else
     
    22592258    /* No clean-up code for now, as we have no good way of testing it and things
    22602259     * should get cleaned up when the user process/X11 client exits. */
    2261     if (RT_FAILURE(rc)) 
     2260    if (RT_FAILURE(rc))
    22622261        LogRel(("DnD: Failed to start, rc=%Rrc\n", rc));
    22632262
     
    22742273    uint32_t uClientID;
    22752274    int rc = VbglR3DnDConnect(&uClientID);
    2276     if (RT_FAILURE(rc)) 
     2275    if (RT_FAILURE(rc))
    22772276    {
    22782277        LogRel(("DnD: Unable to connect to drag'n drop service, rc=%Rrc\n", rc));
     
    23362335    do
    23372336    {
    2338         /* 
     2337        /*
    23392338         * Wait for new events. We can't use XIfEvent here, cause this locks
    23402339         * the window connection with a mutex and if no X11 events occurs this
    23412340         * blocks any other calls we made to X11. So instead check for new
    23422341         * events and if there are not any new one, sleep for a certain amount
    2343          * of time. 
    2344          */ 
     2342         * of time.
     2343         */
    23452344        if (XEventsQueued(pThis->m_pDisplay, QueuedAfterFlush) > 0)
    23462345        {
     
    23502349            /* XNextEvent will block until a new X event becomes available. */
    23512350            XNextEvent(pThis->m_pDisplay, &e.x11);
    2352             {           
     2351            {
    23532352#ifdef DEBUG
    23542353                switch (e.x11.type)
     
    23682367                            int32_t dwAction = pEvent->data.l[4];
    23692368
    2370                             LogFlowFunc(("XA_XdndPosition x=%RI32, y=%RI32, dwAction=%RI32\n", 
     2369                            LogFlowFunc(("XA_XdndPosition x=%RI32, y=%RI32, dwAction=%RI32\n",
    23712370                                         RT_HIWORD(dwPos), RT_LOWORD(dwPos), dwAction));
    23722371                        }
     
    23822381                        LogFlowFunc(("Received X event type=%d\n", e.x11.type));
    23832382                        break;
    2384                 }               
     2383                }
    23852384#endif
    23862385                LogFlowFunc(("Adding new X11 event ...\n"));
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