VirtualBox

Changeset 94013 in vbox for trunk/src/VBox/Frontends


Ignore:
Timestamp:
Mar 1, 2022 9:04:44 AM (3 years ago)
Author:
vboxsync
Message:

FE/Qt: qt6: QX11Info is gone, kind of replaced by QNativeInterface::QX11Application (6.2+). Added X11GetDisplay, X11GetConnection and X11GetAppRootWindow to the NativeWindowSubsystem namespace to keep the differences in one place. bugref:9898

Location:
trunk/src/VBox/Frontends/VirtualBox/src
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Frontends/VirtualBox/src/globals/UIDesktopWidgetWatchdog.cpp

    r93115 r94013  
    1919#include <QApplication>
    2020#include <QDesktopWidget>
     21#include <QWidget>
    2122#include <QScreen>
    2223#ifdef VBOX_WS_WIN
     
    2526#ifdef VBOX_WS_X11
    2627# include <QTimer>
    27 # include <QX11Info>
    2828#endif
    2929
     
    738738                         | XCB_CONFIG_WINDOW_WIDTH | XCB_CONFIG_WINDOW_HEIGHT;
    739739        uint32_t values[] = { (uint32_t)(x * dDPR), (uint32_t)(y * dDPR), (uint32_t)(w * dDPR), (uint32_t)(h * dDPR) };
    740         xcb_configure_window(QX11Info::connection(), (xcb_window_t)pWidget->winId(),
     740        xcb_configure_window(NativeWindowSubsystem::X11GetConnection(), (xcb_window_t)pWidget->winId(),
    741741                             fMask, values);
    742742        xcb_size_hints_t hints;
     
    764764            hints.flags |=   64 /* XCB_ICCCM_SIZE_HINT_P_MIN_SIZE */
    765765                           | 256 /* XCB_ICCCM_SIZE_HINT_BASE_SIZE */;
    766         xcb_change_property(QX11Info::connection(), XCB_PROP_MODE_REPLACE,
     766        xcb_change_property(NativeWindowSubsystem::X11GetConnection(), XCB_PROP_MODE_REPLACE,
    767767                            (xcb_window_t)pWidget->winId(), XCB_ATOM_WM_NORMAL_HINTS,
    768768                            XCB_ATOM_WM_SIZE_HINTS, 32, sizeof(hints) >> 2, &hints);
    769         xcb_flush(QX11Info::connection());
     769        xcb_flush(NativeWindowSubsystem::X11GetConnection());
    770770    }
    771771    else
  • trunk/src/VBox/Frontends/VirtualBox/src/platform/x11/VBoxUtils-x11.cpp

    r93917 r94013  
    2323#include <QtXml/QDomDocument>
    2424#include <QtXml/QDomElement>
    25 #include <QX11Info>
    2625#include <QWidget>
     26#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
     27# include <QGuiApplication>
     28#else
     29# include <QX11Info>
     30#endif
    2731
    2832/* GUI includes: */
     
    5155    /* For each screen it manage, compositing manager MUST acquire ownership
    5256     * of a selection named _NET_WM_CM_Sn, where n is the screen number. */
    53     Display *pDisplay = QX11Info::display();
     57    Display *pDisplay = NativeWindowSubsystem::X11GetDisplay();
    5458    Atom atom_property_name = XInternAtom(pDisplay, "_NET_WM_CM_S0", True);
    5559    return XGetSelectionOwner(pDisplay, atom_property_name);
     
    5963{
    6064    /* Ask if root-window supports check for WM name: */
    61     Display *pDisplay = QX11Info::display();
     65    Display *pDisplay = NativeWindowSubsystem::X11GetDisplay();
    6266    Atom atom_property_name;
    6367    Atom atom_returned_type;
     
    6872    X11WMType wmType = X11WMType_Unknown;
    6973    atom_property_name = XInternAtom(pDisplay, "_NET_SUPPORTING_WM_CHECK", True);
    70     if (XGetWindowProperty(pDisplay, QX11Info::appRootWindow(), atom_property_name,
     74    if (XGetWindowProperty(pDisplay, NativeWindowSubsystem::X11GetAppRootWindow(), atom_property_name,
    7175                           0, 512, False, XA_WINDOW, &atom_returned_type,
    7276                           &iReturnedFormat, &ulReturnedItemCount, &ulDummy, &pcData) == Success)
     
    8690                                   &iReturnedFormat, &ulReturnedItemCount, &ulDummy, &pcData) == Success)
    8791            {
     92                /** @todo r=bird: 6 QString conversions cannot be very efficient. */
    8893                if (QString((const char*)pcData).contains("Compiz", Qt::CaseInsensitive))
    8994                    wmType = X11WMType_Compiz;
     
    119124{
    120125    /* Init screen-save availability: */
    121     Display *pDisplay = QX11Info::display();
     126    Display *pDisplay = NativeWindowSubsystem::X11GetDisplay();
    122127    int dummy;
    123128    gX11ScreenSaverDpmsAvailable = DPMSQueryExtension(pDisplay, &dummy, &dummy);
     
    135140     * save and restore the state prior and after each of these function calls. */
    136141
    137     Display *pDisplay = QX11Info::display();
     142    Display *pDisplay = NativeWindowSubsystem::X11GetDisplay();
    138143    int dummy;
    139144    CARD16 dummy2;
     
    146151{
    147152    /* Restore screen-saver settings: */
    148     Display *pDisplay = QX11Info::display();
     153    Display *pDisplay = NativeWindowSubsystem::X11GetDisplay();
    149154    int iTimeout, iInterval, iPreferBlank, iAllowExp;
    150155    XGetScreenSaver(pDisplay, &iTimeout, &iInterval, &iPreferBlank, &iAllowExp);
     
    159164{
    160165    /* Check extension: */
    161     Display *pDisplay = QX11Info::display();
     166    Display *pDisplay = NativeWindowSubsystem::X11GetDisplay();
    162167    int major_opcode;
    163168    int first_event;
     
    394399{
    395400    bool fResult = true;
    396     Display *pDisplay = QX11Info::display();
     401    Display *pDisplay = NativeWindowSubsystem::X11GetDisplay();
    397402
    398403    if (fSwitchDesktop)
     
    442447
    443448    /* Using a global to get at the display does not feel right, but that is how it is done elsewhere in the code. */
    444     Display *pDisplay = QX11Info::display();
     449    Display *pDisplay = NativeWindowSubsystem::X11GetDisplay();
    445450    Atom atomSupported            = XInternAtom(pDisplay, "_NET_SUPPORTED",
    446451                                                True /* only_if_exists */);
     
    494499bool NativeWindowSubsystem::X11SetFullScreenMonitor(QWidget *pWidget, ulong uScreenId)
    495500{
    496     return XXSendClientMessage(QX11Info::display(),
     501    return XXSendClientMessage(NativeWindowSubsystem::X11GetDisplay(),
    497502                               pWidget->window()->winId(),
    498503                               "_NET_WM_FULLSCREEN_MONITORS",
     
    504509{
    505510    /* Get display: */
    506     Display *pDisplay = QX11Info::display();
     511    Display *pDisplay = NativeWindowSubsystem::X11GetDisplay();
    507512
    508513    /* Prepare atoms: */
     
    548553{
    549554    /* Get display: */
    550     Display *pDisplay = QX11Info::display();
     555    Display *pDisplay = NativeWindowSubsystem::X11GetDisplay();
    551556
    552557    /* Prepare atoms: */
     
    560565{
    561566    /* Get display: */
    562     Display *pDisplay = QX11Info::display();
     567    Display *pDisplay = NativeWindowSubsystem::X11GetDisplay();
    563568
    564569    /* Prepare atoms: */
     
    582587{
    583588    /* Get display: */
    584     Display *pDisplay = QX11Info::display();
     589    Display *pDisplay = NativeWindowSubsystem::X11GetDisplay();
    585590
    586591    /* Prepare atoms: */
     
    603608{
    604609    /* Get display: */
    605     Display *pDisplay = QX11Info::display();
     610    Display *pDisplay = NativeWindowSubsystem::X11GetDisplay();
    606611
    607612    /* Prepare atoms: */
     
    642647    windowClass.res_class = classByteArray.data();
    643648    /* Set WM_CLASS of the window to passed name and class strings: */
    644     XSetClassHint(QX11Info::display(), pWidget->window()->winId(), &windowClass);
     649    XSetClassHint(NativeWindowSubsystem::X11GetDisplay(), pWidget->window()->winId(), &windowClass);
    645650}
    646651
    647652void NativeWindowSubsystem::X11SetXwaylandMayGrabKeyboardFlag(QWidget *pWidget)
    648653{
    649     XXSendClientMessage(QX11Info::display(), pWidget->window()->winId(),
     654    XXSendClientMessage(NativeWindowSubsystem::X11GetDisplay(), pWidget->window()->winId(),
    650655                        "_XWAYLAND_MAY_GRAB_KEYBOARD", 1);
    651656}
     657
     658Display *NativeWindowSubsystem::X11GetDisplay(void)
     659{
     660#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
     661    Display *pDisplay = nullptr;
     662    if (qApp)
     663    {
     664        QNativeInterface::QX11Application *pX11App = qApp->nativeInterface<QNativeInterface::QX11Application>();
     665        if (pX11App)
     666            pDisplay = pX11App->display();
     667    }
     668#else
     669    Display *pDisplay = QX11Info::display();
     670#endif
     671    Assert(pDisplay);
     672    return pDisplay;
     673}
     674
     675xcb_connection_t *NativeWindowSubsystem::X11GetConnection(void)
     676{
     677#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
     678    if (qApp)
     679    {
     680        QNativeInterface::QX11Application *pX11App = qApp->nativeInterface<QNativeInterface::QX11Application>();
     681        if (pX11App)
     682            return pX11App->connection();
     683    }
     684    return NULL;
     685#else
     686    return QX11Info::connection();
     687#endif
     688}
     689
     690uint32_t NativeWindowSubsystem::X11GetAppRootWindow(void)
     691{
     692#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
     693    Window idWindow = 0;
     694    Display *pDisplay = NativeWindowSubsystem::X11GetDisplay();
     695    if (pDisplay)
     696        idWindow = DefaultRootWindow(pDisplay); /** @todo qt6: ?? */
     697    return idWindow;
     698#else
     699    return QX11Info::appRootWindow();
     700#endif
     701}
     702
  • trunk/src/VBox/Frontends/VirtualBox/src/platform/x11/VBoxUtils-x11.h

    r93890 r94013  
    7676} xcb_size_hints_t;
    7777
     78/* X11 structs to avoid dragging in unnecessary X headers: */
     79struct xcb_connection_t;
     80struct _XDisplay;
     81
    7882/* Namespace for native window sub-system functions: */
    7983namespace NativeWindowSubsystem
     
    124128      *      focus away from the VM. */
    125129    SHARED_LIBRARY_STUFF void X11SetXwaylandMayGrabKeyboardFlag(QWidget *pWidget);
     130
     131    /** X11: Get the X11 display pointer. */
     132    SHARED_LIBRARY_STUFF struct _XDisplay *X11GetDisplay(void);
     133
     134    /** X11: Get the X11 connection.   */
     135    SHARED_LIBRARY_STUFF struct xcb_connection_t *X11GetConnection(void);
     136
     137    /** X11: Get the X11 root (desktop) window. */
     138    SHARED_LIBRARY_STUFF uint32_t X11GetAppRootWindow(void);
    126139}
    127140
  • trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIFrameBuffer.cpp

    r93990 r94013  
    3636# include "UIMachineWindow.h"
    3737#endif /* VBOX_WITH_MASKED_SEAMLESS */
     38#ifdef VBOX_WS_X11
     39# include "VBoxUtils-x11.h"
     40#endif
    3841
    3942/* COM includes: */
     
    5558#ifdef VBOX_WS_X11
    5659/* X11 includes: */
    57 # include <QX11Info>
    5860# include <X11/Xlib.h>
    5961# undef Bool // Qt5 vs Xlib gift..
     
    11211123#ifdef VBOX_WS_X11
    11221124    /* Sync Qt and X11 Server (see xTracker #7547). */
    1123     XSync(QX11Info::display(), false);
     1125    XSync(NativeWindowSubsystem::X11GetDisplay(), false);
    11241126#endif
    11251127
     
    11761178#ifdef VBOX_WS_X11
    11771179    /* Sync Qt and X11 Server (see xTracker #7547). */
    1178     XSync(QX11Info::display(), false);
     1180    XSync(NativeWindowSubsystem::X11GetDisplay(), false);
    11791181#endif
    11801182
  • trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIKeyboardHandler.cpp

    r93115 r94013  
    3434#include <QKeyEvent>
    3535#include <QTimer>
    36 #ifdef VBOX_WS_X11
    37 # include <QX11Info>
    38 #endif
    3936
    4037/* GUI includes: */
     
    6461#ifdef VBOX_WS_X11
    6562# include "XKeyboard.h"
     63# include "VBoxUtils-x11.h"
    6664#endif
    6765
     
    275273         * version check some time in the future.  If we do, remove the comment above
    276274         * about the focus notification dance, as it will no longer be relevant. */
    277         xcb_get_input_focus_cookie_t xcbFocusCookie = xcb_get_input_focus(QX11Info::connection());
    278         xcb_get_input_focus_reply_t *pFocusReply = xcb_get_input_focus_reply(QX11Info::connection(), xcbFocusCookie, 0);
     275        xcb_get_input_focus_cookie_t xcbFocusCookie = xcb_get_input_focus(NativeWindowSubsystem::X11GetConnection());
     276        xcb_get_input_focus_reply_t *pFocusReply = xcb_get_input_focus_reply(NativeWindowSubsystem::X11GetConnection(),
     277                                                                             xcbFocusCookie, 0);
    279278        xcb_window_t xcbFocusWindow = pFocusReply->focus;
    280279        free(pFocusReply);
     
    287286        /* If any previous grab is still in process, release it. */
    288287        if (m_hButtonGrabWindow != 0)
    289             xcb_ungrab_button_checked(QX11Info::connection(), XCB_BUTTON_INDEX_ANY,
     288            xcb_ungrab_button_checked(NativeWindowSubsystem::X11GetConnection(), XCB_BUTTON_INDEX_ANY,
    290289                                      m_hButtonGrabWindow, XCB_MOD_MASK_ANY);
    291         m_hButtonGrabWindow = QX11Info::appRootWindow();
    292         xcb_grab_button_checked(QX11Info::connection(), 0, m_hButtonGrabWindow,
     290        m_hButtonGrabWindow = NativeWindowSubsystem::X11GetAppRootWindow();
     291        xcb_grab_button_checked(NativeWindowSubsystem::X11GetConnection(), 0, m_hButtonGrabWindow,
    293292                                XCB_EVENT_MASK_BUTTON_PRESS, XCB_GRAB_MODE_SYNC, XCB_GRAB_MODE_ASYNC,
    294293                                XCB_NONE, XCB_NONE, XCB_BUTTON_INDEX_ANY, XCB_MOD_MASK_ANY);
    295294        /* And grab the keyboard, using XCB directly, as Qt does not report failure. */
    296         xcb_grab_keyboard_cookie_t xcbGrabCookie = xcb_grab_keyboard(QX11Info::connection(), false, m_views[m_iKeyboardCaptureViewIndex]->winId(),
     295        xcb_grab_keyboard_cookie_t xcbGrabCookie = xcb_grab_keyboard(NativeWindowSubsystem::X11GetConnection(), false,
     296                                                                     m_views[m_iKeyboardCaptureViewIndex]->winId(),
    297297                                                                     XCB_TIME_CURRENT_TIME, XCB_GRAB_MODE_ASYNC, XCB_GRAB_MODE_ASYNC);
    298         xcb_grab_keyboard_reply_t *pGrabReply = xcb_grab_keyboard_reply(QX11Info::connection(), xcbGrabCookie, NULL);
     298        xcb_grab_keyboard_reply_t *pGrabReply = xcb_grab_keyboard_reply(NativeWindowSubsystem::X11GetConnection(),
     299                                                                        xcbGrabCookie, NULL);
    299300        if (pGrabReply == NULL || pGrabReply->status != XCB_GRAB_STATUS_SUCCESS)
    300301        {
    301302            /* Release the mouse button grab.
    302303             * We do not check for failure as we do not currently implement a back-up plan. */
    303             xcb_ungrab_button_checked(QX11Info::connection(), XCB_BUTTON_INDEX_ANY,
     304            xcb_ungrab_button_checked(NativeWindowSubsystem::X11GetConnection(), XCB_BUTTON_INDEX_ANY,
    304305                                      m_hButtonGrabWindow, XCB_MOD_MASK_ANY);
    305306            m_hButtonGrabWindow = 0;
     
    370371
    371372        /* Ungrab using XCB: */
    372         xcb_ungrab_keyboard(QX11Info::connection(), XCB_TIME_CURRENT_TIME);
     373        xcb_ungrab_keyboard(NativeWindowSubsystem::X11GetConnection(), XCB_TIME_CURRENT_TIME);
    373374        /* Release the mouse button grab.
    374375         * We do not check for failure as we do not currently implement a back-up plan. */
    375         xcb_ungrab_button_checked(QX11Info::connection(), XCB_BUTTON_INDEX_ANY,
     376        xcb_ungrab_button_checked(NativeWindowSubsystem::X11GetConnection(), XCB_BUTTON_INDEX_ANY,
    376377                                  m_hButtonGrabWindow, XCB_MOD_MASK_ANY);
    377378        m_hButtonGrabWindow = 0;
     
    823824
    824825            /* Translate the keycode to a PC scan code: */
    825             unsigned uScan = handleXKeyEvent(QX11Info::display(), pKeyEvent->detail);
     826            unsigned uScan = handleXKeyEvent(NativeWindowSubsystem::X11GetDisplay(), pKeyEvent->detail);
    826827
    827828            /* Scan codes 0x00 (no valid translation) and 0x80 (extended flag) are ignored: */
     
    856857
    857858            /* Translate the keycode to a keysym: */
    858             KeySym ks = ::wrapXkbKeycodeToKeysym(QX11Info::display(), pKeyEvent->detail, 0, 0);
     859            KeySym ks = ::wrapXkbKeycodeToKeysym(NativeWindowSubsystem::X11GetDisplay(), pKeyEvent->detail, 0, 0);
    859860
    860861            /* Update special flags: */
     
    10201021#ifdef VBOX_WS_X11
    10211022    /* Initialize the X keyboard subsystem: */
    1022     initMappedX11Keyboard(QX11Info::display(), gEDataManager->remappedScanCodes());
     1023    initMappedX11Keyboard(NativeWindowSubsystem::X11GetDisplay(), gEDataManager->remappedScanCodes());
    10231024    /* Fix for http://www.virtualbox.org/ticket/1296:
    10241025     * when X11 sends events for repeated keys, it always inserts an XKeyRelease
    10251026     * before the XKeyPress. */
    10261027    /* Disable key release events during key auto-repeat: */
    1027     XkbSetDetectableAutoRepeat(QX11Info::display(), True, NULL);
     1028    XkbSetDetectableAutoRepeat(NativeWindowSubsystem::X11GetDisplay(), True, NULL);
    10281029#endif /* VBOX_WS_X11 */
    10291030
     
    17741775
    17751776    Q_UNUSED(pHotKey);
    1776     Display *pDisplay = QX11Info::display();
     1777    Display *pDisplay = NativeWindowSubsystem::X11GetDisplay();
    17771778    KeyCode keyCode = XKeysymToKeycode(pDisplay, iHotKey);
    17781779    for (int i = 0; i < 4 && !fWasProcessed; ++i) /* Up to four groups. */
     
    18521853    unsigned uMask;
    18531854    unsigned uKeyMaskNum = 0, uKeyMaskCaps = 0;
     1855    Display * const pDisplay = NativeWindowSubsystem::X11GetDisplay();
    18541856
    18551857    uKeyMaskCaps          = LockMask;
    1856     XModifierKeymap* map  = XGetModifierMapping(QX11Info::display());
    1857     KeyCode keyCodeNum    = XKeysymToKeycode(QX11Info::display(), XK_Num_Lock);
     1858    XModifierKeymap* map  = XGetModifierMapping(pDisplay);
     1859    KeyCode keyCodeNum    = XKeysymToKeycode(pDisplay, XK_Num_Lock);
    18581860
    18591861    for (int i = 0; i < 8; ++ i)
    18601862        if (keyCodeNum != NoSymbol && map->modifiermap[map->max_keypermod * i] == keyCodeNum)
    18611863            uKeyMaskNum = 1 << i;
    1862     XQueryPointer(QX11Info::display(), DefaultRootWindow(QX11Info::display()), &wDummy1, &wDummy2,
     1864    XQueryPointer(pDisplay, DefaultRootWindow(pDisplay), &wDummy1, &wDummy2,
    18631865                  &iDummy3, &iDummy4, &iDummy5, &iDummy6, &uMask);
    18641866    XFreeModifiermap(map);
  • trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIMachineLogic.cpp

    r93997 r94013  
    2828# include <QMenuBar>
    2929#endif /* VBOX_WS_MAC */
    30 #ifdef VBOX_WS_X11
    31 # include <QX11Info>
    32 #endif /* VBOX_WS_X11 */
    3330
    3431/* GUI includes: */
     
    7269# include "UINetworkRequestManager.h"
    7370#endif
     71#ifdef VBOX_WS_X11
     72# include "VBoxUtils-x11.h"
     73#endif
    7474
    7575/* COM includes: */
     
    565565            /* The keyboard handler may wish to do some release logging on startup.
    566566             * Tell it that the logger is now active. */
    567             doXKeyboardLogging(QX11Info::display());
     567            doXKeyboardLogging(NativeWindowSubsystem::X11GetDisplay());
    568568            break;
    569569        }
  • trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIMouseHandler.cpp

    r94008 r94013  
    2020#include <QTimer>
    2121#include <QTouchEvent>
    22 #ifdef VBOX_WS_X11
    23 # include <QX11Info>
    24 #endif
    2522
    2623/* GUI includes: */
     
    4441# include "VBoxUtils-win.h"
    4542#endif
     43#ifdef VBOX_WS_X11
     44# include "VBoxUtils-x11.h"
     45#endif
    4646
    4747/* COM includes: */
     
    5151/* Other VBox includes: */
    5252#include <iprt/time.h>
    53 
    54 /* External includes: */
    55 #ifdef VBOX_WS_X11
    56 #include "VBoxUtils-x11.h"
    57 #endif
    5853
    5954
     
    341336                machineLogic()->keyboardHandler()->captureKeyboard(uScreenId);
    342337                /* Re-send the event so that the window which it was meant for gets it: */
    343                 xcb_allow_events_checked(QX11Info::connection(), XCB_ALLOW_REPLAY_POINTER, pButtonEvent->time);
     338                xcb_allow_events_checked(NativeWindowSubsystem::X11GetConnection(), XCB_ALLOW_REPLAY_POINTER, pButtonEvent->time);
    344339                /* Do not let Qt see the event: */
    345340                return true;
  • trunk/src/VBox/Frontends/VirtualBox/src/runtime/UISession.cpp

    r93901 r94013  
    2727# include <iprt/win/windows.h> /* Workaround for compile errors if included directly by QtWin. */
    2828# include <QtWin>
    29 #endif
    30 #ifdef VBOX_WS_X11
    31 # include <QX11Info>
    3229#endif
    3330
  • trunk/src/VBox/Frontends/VirtualBox/src/settings/editors/UIHostComboEditor.cpp

    r93990 r94013  
    2323#include <QStylePainter>
    2424#include <QTimer>
    25 #ifdef VBOX_WS_X11
    26 # include <QX11Info>
    27 #endif
    2825#if defined(VBOX_WS_MAC) || defined(VBOX_WS_WIN)
    2926# include <QAbstractNativeEventFilter>
     
    4441#elif defined(VBOX_WS_X11)
    4542# include "XKeyboard.h"
     43# include "VBoxUtils-x11.h"
    4644#endif
    4745
     
    561559#elif defined(VBOX_WS_X11)
    562560    /* Initialize the X keyboard subsystem: */
    563     initMappedX11Keyboard(QX11Info::display(), gEDataManager->remappedScanCodes());
     561    initMappedX11Keyboard(NativeWindowSubsystem::X11GetDisplay(), gEDataManager->remappedScanCodes());
    564562#endif /* VBOX_WS_X11 */
    565563}
     
    748746            xcb_key_press_event_t *pKeyEvent = static_cast<xcb_key_press_event_t*>(pMessage);
    749747            RT_GCC_NO_WARN_DEPRECATED_BEGIN
    750             const KeySym ks = ::XKeycodeToKeysym(QX11Info::display(), pKeyEvent->detail, 0);
     748            const KeySym ks = ::XKeycodeToKeysym(NativeWindowSubsystem::X11GetDisplay(), pKeyEvent->detail, 0);
    751749            RT_GCC_NO_WARN_DEPRECATED_END
    752750            const int iKeySym = static_cast<int>(ks);
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