summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Use nullptr instead of 0Jesus Fernandez2018-08-181-17/+26
| | | | | Change-Id: I8d18dfbc3451fd8748127415fcb1da54b0870b9a Reviewed-by: David Faure <david.faure@kdab.com>
* Improve Q_ASSERT readabilityJesus Fernandez2018-08-171-1/+7
| | | | | | | Change-Id: I231ecafe1eb48d74f787083e86a85536a90ed69b Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* Fix -Winconsistent-missing-destructor-overrideJesus Fernandez2018-08-171-1/+1
| | | | | Change-Id: I7a33d6b0cf0bd775567235e0efc858796d8ad852 Reviewed-by: David Faure <david.faure@kdab.com>
* macOS: Teach QWheelEvent to handle a new ScrollMomentum phaseTor Arne Vestbø2018-08-174-31/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We detect if there's an upcoming momentum phase using the same trick used by e.g. Mozilla in their event handling: https://tinyurl.com/yd8lcs4l, and as recommended by an Apple engineer: https://tinyurl.com/y8yytlgv The event is not guaranteed to be in the queue, but in practice it seems to be. If this assumption fails we can add a wait timeout to the event search instead of using [NSDate distantPast] as a timeout (which only looks at queued events). When the momentum phase is detected, QWheelEvent::phase will have the new ScrollMomentum value, and the phase transitions will be ScrollBegin -> ScrollUpdate -> ScrollMomentum -> ScrollEnd. We no longer send ScrollEnd to signify that the user's fingers have been lifted off the trackpad; rather, the first event with ScrollMomentum phase means that the fingers have been lifted and macOS is now sending simulated-momentum events. This means ScrollEnd is a reliable indicator that the entire scroll gesture (both the user interaction and the momentum) has ended. If the ScrollMomentum phase is skipped, it means the user's fingers came to rest before being lifted, so there is no momentum. In that case the transitions will be ScrollBegin -> ScrollUpdate -> ScrollEnd. Task-number: QTBUG-63026 Task-number: QTBUG-65160 Change-Id: I80191a472f6fa892387004c199166a6350124274 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* QComboBox: Start blockMouseReleaseTimer after showPopup callAles Erjavec2018-08-171-2/+3
| | | | | | | | | | The layout/size hinting done in showPopup should not count towards the mouse release blocking timeout as it might take more then the double click interval itself, causing the popup to hide immediately on button release. Task-number: QTBUG-67583 Change-Id: I37ac77ac331a4f865a9242581232b85606f883c5 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* WinRT QPA: Fix mapping of static text accessibility roleAndre de la Rocha2018-08-171-1/+1
| | | | | | | | QAccessible::StaticText should be mapped to AutomationControlType_Text instead of AutomationControlType_Edit. Change-Id: If8c840f0dea553c1a750225586778a7d24cf424a Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* Add ++/--/min/max to QSpecialIntegerErik Verbruggen2018-08-172-0/+120
| | | | | | | | | | | | | Add both prefix and postfix versions of the increment/decrement operators, and a static constexpr min/max which returns the minimum/maximumm values that can be stored in the QSpecialInteger. These latter functions are useful to define constants, e.g.: typedef quint8_be IPv4_TTL; static constexpr TTL_TO_DROP = IPv4_TTL::min(); Change-Id: I825a279feb68b93572765a9fdb5aa7b06d1be35b Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Add displayName getters to QSslCertificateAllan Sandfeld Jensen2018-08-172-2/+55
| | | | | | | | | | Provides two convenient getter for a display name of the subject and issuer. This simplifies cases where you just want a simple string describing either of the two. Change-Id: Ia5d0e058f14dae067b13ac7360e7fec4edd9ec53 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* Eliminate QLocale's system_data in favor of globalLocaleDataEdward Welbourne2018-08-171-20/+15
| | | | | | | | | This is simpler than initializing a pointer to its address and accessing it via that pointer; it saves the initialization and a few checks that it's happened. Change-Id: I3d82ee1cb02981654ec769632d3a055e11737113 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Merge "Merge remote-tracking branch 'origin/5.11' into dev" into ↵Liang Qi2018-08-1741-109/+128
|\ | | | | | | refs/staging/dev
| * Merge remote-tracking branch 'origin/5.11' into devQt Forward Merge Bot2018-08-1741-109/+128
| |\ | | | | | | | | | Change-Id: I8bb8227f9da982e7d5ebe5324fc27abd9ac0d4fc
| | * Don't block on lost contextDavid Edmundson2018-08-161-4/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When glGetError returns GL_CONTEXT_LOST, on XCB + Nvidia at least, the error does not get cleared until the next successful glGetGraphicsResetStatus. We can't handle this properly until the start of the next frame where we will hopefully have a valid context, but in the meantime we should avoid locking up completely. Change-Id: Id438d44d83b926e1f3e4281ca3704231bf1a23cf Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
| | * QUrl: Make sure we do reject URLs for which IDNA nameprep failedThiago Macieira2018-08-162-7/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | qt_nameprep() already reset the string to its original length to indicate failure, but we didn't handle that in qt_ACE_do(). So make it have a return value whcih makes it easier to handle that case and do handle it. [ChangeLog][QtCore][QUrl] Fixed a bug that caused URLs whose hostnames contained unassigned or prohibited Unicode codepoints to report isValid() = true, despite clearing the hostname. Change-Id: I41e7b3bced5944239f41fffd1545b7274c4b419d Reviewed-by: David Faure <david.faure@kdab.com>
| | * MSVC: add support for 64-bit POPCNT on 32-bit machinesThiago Macieira2018-08-161-3/+6
| | | | | | | | | | | | | | | | | | | | | | | | It's just adding the count of each half. Change-Id: I9868946ceaf74002bde1fffd154b29908319007f Reviewed-by: Samuel Gaist <samuel.gaist@idiap.ch> Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
| | * doc: Add missing override and remove redundant virtual for snippetsAlexander Volkov2018-08-1637-95/+95
| | | | | | | | | | | | | | | Change-Id: I2395fd01b93c4ea364225e0cf1a5f59908b691d0 Reviewed-by: Martin Smith <martin.smith@qt.io>
* | | xcb: replace tiny helper function with an inline codeGatis Paeglis2018-08-171-8/+3
| | | | | | | | | | | | | | | | | | | | | | | | Having these 2 lines in a function does not add much value and requires scrolling that could be avoided. Change-Id: Ife814be6478521cd64b0048d1b6ee447afea55de Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | | xcb: avoid unnecessary InternAtom requestsGatis Paeglis2018-08-175-12/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QXcbConnection::internAtom() creates the atom if it does not exist. The lifetime of an atom is not tied to the interning client. Atoms remain defined until server reset (lost connection, restart). So create the atom once via QXcbConnection::initializeAllAtoms(), and later fetch the atom value from local array, instead of repeating InternAtom requests. Change-Id: I3cae21895febad6e5daf8c32e72612202baaad64 Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
* | | qdoc: Fix remaining qdoc warnings for QCborxxx classesMartin Smith2018-08-175-6/+121
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Several \fn commands are added for functions and operators that were not documented. A few qdoc warnings remain in qcborstream.cpp, but these are because an enum class was used, and qdoc doesn't yet handle those correctly all the time. Change-Id: I02a740c595e36c1b383af242c2a6419d1f37b135 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | | Add a method to clear the data to QStandardItemModelLuca Beldi2018-08-174-0/+55
|/ / | | | | | | | | | | | | | | | | | | After the behavior of setItemData has been changed following QTBUG-45114, QStandardItemModel was lacking an interface to clear all the data from a single index. Task-number: QTBUG-69616 Change-Id: Ide0b5bb6358439fc42c474df8b044fbace6def8d Reviewed-by: André Hartmann <aha_1980@gmx.de> Reviewed-by: David Faure <david.faure@kdab.com>
* | Merge QThread class definitionsMorten Johan Sørvig2018-08-173-31/+70
| | | | | | | | | | | | | | | | | | We can reuse the main QThread definition for the no-thread configuration and avoid having to keep them in sync. Add stub definitions for member functions where needed. Change-Id: I128db11684a6040d09c4a4ce114f1399cba523f8 Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
* | Modernize the "thread" featureUlf Hermann2018-08-1756-254/+169
| | | | | | | | | | | | | | | | | | | | Add it to configure.json and replace all occurrences of QT_NO_THREAD with QT_CONFIG(thread). Add conditions for other features that depend on thread support. Remove conditions where we can use the QMutex and QThreadStorage stubs. Change-Id: I284e5d794fda9a4c6f4a1ab29e55aa686272a0eb Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* | Add QThreadStorage stub implementationMorten Johan Sørvig2018-08-171-0/+75
| | | | | | | | | | | | | | | | | | | | | | | | | | Add implementation for the no-thread configuration: Assume access will only happen from one thread and use a QScopedPointer to hold the data. Unlike the real implementation this version will delete the stored data on destruction, as opposed to on QApplication destruction. Change-Id: I9d8e89e7da18f967f463e2db7b50549c962acc84 Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
* | Correctly initialize adopted threads in stub implementationMorten Johan Sørvig2018-08-171-0/+2
| | | | | | | | | | | | | | | | | | Set data->threadId, which makes the thread detection used by Qt::AutoConnection work: it will now actually select Qt::DirectConnection. Change-Id: I9369e47eb7ed3ec88dba25f2d41e92139958bcd7 Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
* | Optimize implementation of Indexes generatorMikhail Svetkin2018-08-161-7/+25
| | | | | | | | | | | | | | | | | | | | | | | | ... which is Qt's version of std::make_index_sequence / C++14. The current Indexes generator is recursing O(N) times which is reaching recursion limits level for long IndexesList. This implementation has only O(log N) recursion. Change-Id: I423ef05152d77b18f1f5a64c49b273f49aa958bb Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Merge "Merge remote-tracking branch 'origin/5.11' into dev" into ↵Liang Qi2018-08-1619-91/+328
|\ \ | | | | | | | | | refs/staging/dev
| * | Merge remote-tracking branch 'origin/5.11' into devLiang Qi2018-08-1619-91/+328
| |\| | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/global/qconfig-bootstrapped.h src/plugins/platforms/xcb/qxcbbackingstore.cpp Done-with: Gatis Paeglis <gatis.paeglis@qt.io> Change-Id: I4af138ffb2f5306373244523768209e8873b2798
| | * Normalize path segments in QHttpNetworkRequest::uriPaolo Angelelli2018-08-161-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-69659 Change-Id: I184cc460d2e3736d042893a38aa1c11b7d443f88 Reviewed-by: Jesus Fernandez <Jesus.Fernandez@qt.io> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | * Document xkbcommon versionKai Koehne2018-08-151-0/+1
| | | | | | | | | | | | | | | | | | Task-number: QTBUG-69276 Change-Id: I0023ce210205def958b9e18f3d3c3a63576fc871 Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
| | * Silence warning about comparing signed and unsignedShawn Rutledge2018-08-141-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | qxcbimage.cpp:72:26: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare] Task-number: QTBUG-69923 Change-Id: Icdb4ce8cb7ce5b48d7ee3839166eb1c7c9520c78 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | * [macOS] Fix lower bound when searching for previous transitionsErik Verbruggen2018-08-141-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | The lower bound shouldn't be the smallest (positive) value representable by a double, but the *lowest* (finite) value. Task-number: QTBUG-69862 Change-Id: Ia66610e3c0f8d9643c329714607f5af573206fd8 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
| | * VNC plugin: explicitly cast int to uint16_t before calling htonsShawn Rutledge2018-08-141-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Otherwise there is a -Werror=narrowing error on big-endian architectures (where htons does nothing). Task-number: QTBUG-68390 Change-Id: Idb204a81aaedb9f4fde1d5fae406da36c7a1953e Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> (cherry-picked from b206d1c8082a9e01ad3755d311a4cf683ec35161)
| | * Make QMessageBox window with the detailed text closableAlexander Volkov2018-08-141-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QMessageBox window ignores QCloseEvent if it was created with Ok button and the detailed text was set. But it can be closed if it contains only one button. Make it closable if there are two buttons and one of them is the "Show Details..." button. [ChangeLog][QtWidgets][QMessageBox] A message box with two buttons, one of which is the "Show Details..." button, can be closed by clicking the X button on the window's title bar. Task-number: QTBUG-69526 Change-Id: Iba09e38561eb3898dc2aecfd38d8519d512a71c1 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
| | * xcb: make sure we have a valid m_qimage in backing storeGatis Paeglis2018-08-131-50/+61
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch amends a62f1d03560937a306c7586669a46cd9575e9464. If the initial backing store resize request is called with QSize(0, 0), we end up with QXcbBackingStoreImage holding a default contructed QImage / m_qimage. This happens because of the logic in QXcbBackingStoreImage::create(), where if we detect that the requested segmentSize == 0, we do not allocate any memory, and thus don't create a valid image in m_qimage. On subsequent call to QXcbBackingStore::resize() we would only check if QXcbBackingStoreImage object has been created, but not if it is in a valid state. This obviously would cause problems. This patch re-factors the logic to handle better resize to QSize(0, 0). And make the code cleaner by: - merging ::create and ::resize as semantically it is always resize(). - dropping unnecessary argument passing. Task-number: QTBUG-69581 Change-Id: Ied337beb449dea8259fcf6b7d29f0a5bd553019d Reviewed-by: Błażej Szczygieł <spaz16@wp.pl> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
| | * Fix possible heap corruption in QXmlStreamAllan Sandfeld Jensen2018-08-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | The value of 'tos' at the check might already be on the last element, so triggering stack expansion on the second last element is too late. Change-Id: Ib3ab2662d4d27a71effe9e988b9e172923af2908 Reviewed-by: Richard J. Moore <rich@kde.org> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | * Glib dispatcher: use default priority for timersSune Vuorela2018-08-131-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For some reason, the GLib event dispatcher was lowering the priority for timers compared to other events like for example socket events. the IDLE priority is for "Do this later when you are not busy", and that is wrong for generic timer events. See also https://bugs.kde.org/show_bug.cgi?id=230184 Task-number: QTBUG-48344 Change-Id: Id337a8f0c7fad3ebd5e5fa49d7831a0001ea9010 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: David Faure <david.faure@kdab.com> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
| | * IBus: connect to ibus-daemon when it restarts in FlatpakTakao Fujiwara2018-08-102-11/+40
| | | | | | | | | | | | | | | | | | | | | | | | IBus clients cannot access the IBus socket path in Flatpak and need to watch the D-Bus disconnection. Change-Id: Ida1a5ce4fe112c1c4f8855ec886e74f2cbdcc8a0 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| | * Fix potential crash when showing line/paragraph separatorsEskil Abrahamsen Blomfeldt2018-08-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When showing line and paragraph separators at an offset from the start of the string, the end of string pointer would be incorrectly set, and we would read past the end of the string. If any part of this memory happened to match the line or paragraph separator, then we would overwrite it and have a crash. I couldn't find any reliable way to test this, since the crash depends on the contents of the memory after the string allocated by the algorithm. But with an overflow of 100 000 characters, I found that it crashed every time I ran the test. [ChangeLog][QtGui][Text] Fixed potential crash when using QTextOption::ShowLineAndParagraphSeparators. Task-number: QTBUG-69661 Change-Id: I17d1996b883560bacdc7ce114c8aeb2b0108faea Reviewed-by: JiDe Zhang <zccrs@live.com> Reviewed-by: Michal Lazo <xlazom00@gmail.com> Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
| | * macOS: Force light theme on macOS 10.14+Gabriel de Dietrich2018-08-091-0/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Until we can properly fix QPalette and QMacStyle, we should disable dark appearance in Qt applications. Disable by setting NSApp.appearance to Aqua, unless dark mode support has been requested via Info.plist or environment variable. Read the NSRequiresAquaSystemAppearance Info.plist key, don’t set NSApp.appearance if its value is false. Also check the QT_MAC_REQUIRES_AQUA_SYSTEM_APPEARANCE environment variable and apply similar logic. You then enable dark mode support by setting: QT_MAC_REQUIRES_AQUA_SYSTEM_APPEARANCE=0 which is slightly awkward, but matches Info.plist behavior. Task-number: QTBUG-68891 Change-Id: I86dc6cf3dee951d46c953396c57d2c31f2e4afcc Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
| | * Fix apkPath for gradle 4.0+BogDan Vatra2018-08-091-3/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change keeps the compatibility with old gradle. It is needed for projects that must use the old gradle version. src/tools/androiddeployqt/main.cpp was moved from qttools into qtbase in 5.11. So re-apply c03f5673 in qttools here. Task-number: QTBUG-69755 Change-Id: I2399d445f8208766e4185d717bb51f1317fdcc00 Reviewed-by: Volker Krause <volker.krause@kdab.com> (cherry picked from commit e2f41931129d77dd9e92c812d965d7252673661a) Reviewed-by: Vikas Pachdha <vikas.pachdha@qt.io> Reviewed-by: Liang Qi <liang.qi@qt.io>
| | * QSysInfo: fall back to /usr/lib/os-release if the /etc one is missingThiago Macieira2018-08-081-4/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Turns out that there are two files and while a lot of distros symlink one to the other, some distros lack the one in /etc. [ChangeLog][QtCore][QSysInfo] Fixed QSysInfo::productType() to properly detect some Linux distributions that ship with a minimal /etc. Change-Id: Ia741b559c24d46c78fb2fffd1548cab414037220 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| | * Fix qmake build with glibc 2.28Thiago Macieira2018-08-082-3/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We haven't yet run the configure checks to see if statx and renameat2 are present in glibc, so this fails when we redefine the structures and functions. linux/stat.h:56:8: error: redefinition of 'struct statx_timestamp' bits/statx.h:25:8: note: previous definition of 'struct statx_timestamp' qfilesystemengine_unix.cpp:110:12: error: 'int renameat2(int, const char*, int, const char*, unsigned int)' was declared 'extern' and later 'static' [-fpermissive] Change-Id: Ia741b559c24d46c78fb2fffd1548a792d22e3368 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
| | * IBus: Support the portal, needed for Flatpak environmentRobin Lee2018-08-085-11/+140
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Following commit 35ce6247 in IBus, IBus input plugin now connects to session bus and use IBus portal to create input context when running in Flatpak environment or IBUS_USE_PORTAL is set. [ChangeLog][plugins][ibus] Support IBus portal. Qt programs in Flatpak environment can now trigger IBus input method. Change-Id: I561f5f873d709b8abeae554d804daa058f9f6e16 Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Takao Fujiwara <takao.fujiwara1@gmail.com>
* | | Refactor wildcard support in QRegularExpressionSamuel Gaist2018-08-165-194/+126
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The API originally proposed was flawed in the sense that the setter function would use a modified version of the parameter given which would have make it a black box for the user. This patch fixes that by removing that setter and providing a static method that will return the pattern suitably modified to be used by QRegularExpression the same way the escape method does. [ChangeLog][Core][QRegularExpression] Implemented support for wildcard patterns through a static method. Change-Id: I0054bcaffd7525dac569f54fa81f73b7e4544b2e Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | | xcb: cleanup QXcbConnection::handleXcbEvent()Gatis Paeglis2018-08-168-206/+189
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - the usage of 'handled' variable was a mess. - remove "generic" from API names. The naming was probably influenced too much from underlying C API (xcb_generic_event_t): - handleGenericEvent() -> handleNativeEvent() to be consistent with QWindow::nativeEvent(). - dropped unnecessary 'long *result' from signature. It is useful only on MS Windows. - genericEventFilterType() -> nativeEventType(), it *is* an event type, not a filter type. - XCB_CLIENT_MESSAGE was not passed to QWindow::nativeEvent(), which is done via HANDLE_PLATFORM_WINDOW_EVENT. - minor: added some 'auto's where it makes sense and improved some variable names. Change-Id: Id1c9896054e2dbd9a79bacd88394149c8cf2cdea Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | | Update QLocale::Country doc for new territoriesEdward Welbourne2018-08-161-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | Neglected in 44b6757fe50b6bf581864d3da519a3ff60818fa8 Noted the need for this in a relevant script's instructions. Change-Id: If69666f1799acebd434034c80b91056cb8777488 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | | Tidy up generation of aliases in locale-related enumsEdward Welbourne2018-08-161-12/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | Replace lines of formatted output with dictionaries from which that output can be generated efficiently (in sorted order). Tidy up the python code, in the process. Change-Id: Ifb74eb69342646c5dbabc3247b3a8ddef602e934 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | | Normalise spacing in Language, Country and Script namesEdward Welbourne2018-08-161-971/+971
|/ / | | | | | | | | | | | | | | | | | | The scripts that generate the C++ enum names clean out spaces, so there's no need for enumdata.py to use the squished names; instead, include spaces where they belong and use them in the relevant names where they show up. Change-Id: I7261c87d69e654bc2e89f44d7ebbc06bfb403c58 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | xcb: Add missing X11/XCB keysyms Undo, Redo, Find, CancelMikhail Svetkin2018-08-161-0/+7
| | | | | | | | | | | | | | | | It was added 558dd7f58735716d7d1f61fb5323d807b178f0c7 It was missed after 128a6eec065dfe683e6d776183d63908ca02e8fb Change-Id: I99f5c42ea45227bef08092e22d656e2d7d3cf60f Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
* | xcb: rewrite auto-repeat key detection logicGatis Paeglis2018-08-163-92/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It's unclear what the original code was doing. It relied on 'm_release' which could never be 'false' (ref. QTBUG-69679). It was subtracting event times and comparing with arbitrary '10'. On X11 auto-repeat keys can be detected by checking time and keycode of the current release event and the next event in the queue. If an event is an auto-repeat, then next event in the queue will be a key press with matching time and keycode. Verified that auto-repeat was unreliable in Qt 4 as well. With this patch auto-repeat works as expected. Added support for Xlib's XPeekEvent in our XCB implementation QXcbConnection::checkEvent(): "The XPeekEvent() function returns the first event from the event queue, but it does not remove the event from the queue." Sneaking in one variable renaming: "string" -> "text", to match the QKeyEvent::text(). Task-number: QTBUG-57335 Task-number: QTBUG-69679 Change-Id: I0a23f138287f57eaaecf1a009bd939e7e0e23269 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | xcb: remove unused xcb_icccm.h include from qxcbclipboard.cppGatis Paeglis2018-08-161-4/+0
| | | | | | | | | | Change-Id: I7afe3bece5f143f6040cf1009d6345c1fe430367 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>