summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
...
| * | QObject: Check for declarative signals in isSignalConnectedKari Oikarinen2018-11-081-13/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Amends a952fd7d5b03ce1968ec58871fbb8b3600895900. The mentioned commit started to skip QObjectPrivate::isSignalConnected() call if the connectionLists are dirty, which lead to tst_qqmllanguage::receivers() test inside qtdeclarative breaking. Declarative signals were not checked if that function was not called. It previously also wasn't called for signals higher than 64. Fix that by checking for declarative signals after the connectionLists search is unsuccessful. Fixes: QTBUG-71550 Change-Id: Ifcb5fdd0dc9a6b14b9f448a016fd09356a55b985 Reviewed-by: Liang Qi <liang.qi@qt.io> Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
| * | xcb: fix regression with open/close hand cursorsGatis Paeglis2018-11-071-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On Linux the correspondence between cursor functions and names of cursors has never been standardized. Projects have either assembled their own cursor function-to-name lookup table or borrowed the table from other projects. The origins of our table is described in QTBUG-71423. On Ubuntu the default theme is called Adwaita. Before bd72950fbedc457fb997e99beff4767505ff5d8f, we would not find a cursor for 'openhand' and would fall-back to QXcbCursor:: createNonStandardCursor(). Which was sub-optimal, because the cursors created by the fall-back path don't look like the themed ones. But the situation was worse after bd72950fb (hence the regression) - the 'openhand' fall-back name 'fleur' is a symbolic link to 'grabbing', so we would get into a situation where Qt::OpenHandCursor displays the same as Qt::ClosedHandCursor. This patch adds a correct fall-back name for 'openhand' on Adwaita, which is 'grab'. 'grab' actually is a symbolic link to 'hand1', but 'hand1' with other theams is a pointing hand cursor, that is why we use the symbolic link's name in this case. The lookup table still appears to be incomplete when comparing e.g with KWin. Eventually we need to revise the table and put in a common place so it can be shared between X11 and Wayland, but is out-of-scope for this patch (see QTBUG-71423). Fixes: QTBUG-71296 Task-number: QTBUG-71423 Change-Id: I247ed4b346c2cd3fe1c7fd0440d3763e0033346b Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
| * | QSocks5SocketEngine: Remove too optimistic check for UDP proxy setupAlexander Akulich2018-11-071-17/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The engine used to send a UDP datagram to the local address to check the proxy setup, but the check fails in case of the proxy hosted in WAN and the local address hidden behind a NAT. In other words the check fails because a public proxy hosted somewhere in internet has no access to local addresses such as 192.168.1.2. Remove the check to fix the issue; we still have other means to detect network errors. Change-Id: Ib6df263c87ebd7d6e88a0b5e024e78a559995234 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
| * | QWidgetWindow: check if receiver is deleted after event deliveryRichard Moe Gustavsen2018-11-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a popup is active, we set the receiver of mouse events to be the active popup widget. But when we send a mouse event to the popup, the receiver might start a new QEventLoop (e.g by executing a new dialog). And in the meantime, the popup will be destroyed. This will cause a crash in the line after the event delivery (where we sat "qt_last_mouse_receiver = receiver"), since at that point, "receiver" would be a dangling pointer. This patch will use a QPointer instead of a raw pointer to store "receiver", to ensure that it's set to null for such cases. Fixes: QTBUG-71062 Change-Id: Ie017cfa97370513ecfdd62c056fcb0e6c991f9f6 Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
| * | Avoid crashing with opaque opacity effectAllan Sandfeld Jensen2018-11-071-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | Fixes the crash, but doesn't fix the underlying bug. Task-number: QTBUG-60231 Change-Id: I5db9b151089b5c0e21e21443c77c725804d3059c Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
| * | Fix QTableView/Widget on macOSTimur Pocheptsov2018-11-071-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For this we can use whatever the current NSColor.gridColor contains. While this is mostly needed by the 'Dark' appearance, it also affects the 'Light' theme, since the color QCommonStyle returns is different. Let's use whatever Apple suggests. Task-number: QTBUG-71048 Change-Id: I084414bad546755e9e67792484fe4601826ed0fa Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
| * | White-list more recent Mesa version for multi-threadingAllan Sandfeld Jensen2018-11-061-35/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The issue we had has been fixed for years, but was unfortunately in libxcb which we can't check at runtime. Instead assume very recent Mesa drivers works. Change-Id: I5fdd726b480b77edbedc0f369ae82ab4acbb77c9 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io> Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
| * | Merge "Merge remote-tracking branch 'origin/5.12.0' into 5.12" into ↵Liang Qi2018-11-0621-4196/+4470
| |\ \ | | | | | | | | | | | | refs/staging/5.12
| | * \ Merge remote-tracking branch 'origin/5.12.0' into 5.12Liang Qi2018-11-0521-4196/+4470
| | |\ \ | | | | | | | | | | | | | | | Change-Id: I12f26470e01a8582d0f02f51e20d5b742bd95d6f
| | | * \ Merge "Merge remote-tracking branch 'origin/5.11' into 5.12.0" into ↵v5.12.0-beta4Jani Heikkinen2018-11-059-23/+37
| | | |\ \ | | | | | | | | | | | | | | | | | | refs/staging/5.12.0
| | | | * | Merge remote-tracking branch 'origin/5.11' into 5.12.0Liang Qi2018-11-059-23/+37
| | | | |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/plugins/platforms/cocoa/qcocoaglcontext.mm src/plugins/platforms/xcb/qxcbscreen.h Change-Id: If9b4c67288396ff7346088ce591c7a3588b51979
| | | | | * eglfs_kms: initialize m_deviceListenerSamuli Piippo2018-10-311-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If QT_QPA_EGLFS_HIDECURSOR was enabled, m_deviceListener was never initialized, which caused segfault in the destructor. Task-number: QTBUG-71507 Change-Id: Id8b17f5312073249cd12995317213fd746753521 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
| | | | | * Don't create an offscreen surface when not on the GUI threadAndy Nichols2018-10-301-12/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When we try to gracefully destroy a QOpenGLVertexArrayObject it is not possible to create an QOffscreenSurface from a thread that is not the GUI thread. In this case we just need to bail out instead. The side effect that was seen previously was that there would be a warning and a deadlock on Windows when closing QQuickWindows that contained a QQuickPaintedItem backed by a FrameBufferObject render target (which would be using the OpenGL paint engine) when using the threaded render loop. Task-number: QTBUG-70148 Change-Id: I4a20d74d9af850bb90d243212ad9f65c3fc9e616 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
| | | | | * Fix deleting of QSharedPointer internals in case QPointer loses the raceThiago Macieira2018-10-291-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QPointer uses QWeakPointer / QSharedPointer internals in QObject and has the code to make sure two threads won't stomp on each other if both try to create a QPointer for the same QObject at the same time. The threading code was fine, but had a mistake in the clean up code for the loser thread: the QtSharedPointer::ExternalRefCountData destructor has a Q_ASSERT for the state of the reference counts. So we need to set the state correctly before calling the destructor. But we don't want to do it in case the Q_ASSERT compiled to nothing. So we use a hack that violates the Second Rule of Q_ASSERTs: don't do something with side-effects. This way, we can insert code that will only be compiled if Q_ASSERTs do something, without having to duplicate the preprocessor conditions from qglobal.h. Fixes: QTBUG-71412 Change-Id: I1bd327aeaf73421a8ec5fffd1560fdfc8b73b70c Reviewed-by: Romain Pokrzywka <romain.pokrzywka@gmail.com> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
| | | | | * xcb: Don't get initial screen rotationBłażej Szczygieł2018-10-292-8/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | "xcb_randr_get_screen_info" can be slow and in some configurations can cause short mouse cursor freezes (which will happen on Qt application startup). Initial screen rotation was used only to not handle possible redundant screen change event. Fixes: QTBUG-70760 Change-Id: I9f01325a045d2c82c4dd2fce91a18a34e54a4bcd Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
| | | | | * Fix leaking QTabletEventPrivate instanceKirill Burtsev2018-10-251-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes: QTBUG-52279 Change-Id: I4f40fc9d3ce938b4c821f10cacd21e6f652a2227 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
| | | | | * Don't block mouse events if the window is a Tooltip typeAndy Shaw2018-10-241-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If a tooltip was shown on an application modal dialog then it would end up blocking mouse events to the dialog while the tooltip was visible. Since tooltips are special in this case, they should not cause mouse events to be blocked. Fixes: QTBUG-65599 Change-Id: Ibf1729ca4942f5854e4f9687c5586382e23c1c31 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
| | | | | * [cocoa] Disable offline renderers for dual AMD FirePro GPUMichael Brüning2018-10-231-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The AMD FirePro dual gpus on the Mac Pro have a problem with offline renderers in Chromium. Therefore, Chromium and thus Qt WebEngine disable this option via the pixel format attributes. The Qt Cocoa plugin on the other hand enables it in the recent versions, causing context creation in Qt WebEngine to fail when run on a Mac Pro with dual AMD FirePro gpus due to incompatible context options. This patch uses the environment variable QT_MAC_PRO_WEBENGINE_WORKAROUND which is set by Qt WebEngine upon application startup if the application is running on a late 2013 Mac Pro. It should typically not be set from anywhere else. [ChangeLog] Offline renderers will be disabled when the application is using Qt WebEngine and running on one of the late 2013 Mac Pro models. Fixes: QTBUG-70062 Change-Id: I0b0831efb6f4073ebd37672040aaed6370853fc0 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
| | | | | * Fix stylesheet example for QLineEdit:read-only code exampleArnaud Bienner2018-10-221-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I987a4129968e9af74e21a2d855c4576a9caada73 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
| | | * | | Android: Fix build.gradleBogDan Vatra2018-11-051-1/+1
| | | |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Configuration 'compile' is obsolete and has been replaced with 'implementation' and 'api'. It will be removed at the end of 2018. For more information see: http://d.android.com/r/tools/update-dependency-configurations.html Task-number: QTBUG-71570 Change-Id: I6f498d8cb3ff01ad641aee697496e3dc56059a72 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
| | | * | Doc: Solve issue with gridlayout image fileNico Vertriest2018-11-022-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Due to name conflict with file from qtdeclarative Task-number: QTBUG-65769 Change-Id: I9ebf237701ce76b424f528feacb24e4158f06c0d Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
| | | * | Update to CLDR v34Edward Welbourne2018-11-024-4169/+4277
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This only updates data on languages already present in 5.12; once it has merged up to dev, the scripts need to be run again to pick up a few more languages and possibly add any more new languages present in v34. Change some tests to match changes in en_AU's abbreviated day and month names. [ChangeLog][ThirdParty][CLDR] Update locale data to CLDR v34. Task-number: QTBUG-71144 Change-Id: I68402b5e7e9d3dba669b8ba31b9a8abd86675c6e Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| | | * | Merge 5.12 into 5.12.0Oswald Buddenhagen2018-10-3019-88/+168
| | | |\ \ | | | | | | | | | | | | | | | | | | Change-Id: I31f8eff4fdfe56cbb7f1450be8d351991966c6d8
| | | * | | macOS: Treat explicitly set Qt::SubWindows as not needing a NSWindowTor Arne Vestbø2018-10-291-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We used to have logic that explicitly marked a QWindow as "embedded", but we now resolve this dynamically based on whether or not we have a parent window owned by Qt or not. As part of this refactoring the fix for QTBUG-63443 in ac35f9c44c got lost. We restore the behavior by treating Qt::SubWindow as a reason not to create a NSWindow for a view. This flag is set by QMenuPrivate::moveWidgetToPlatformItem already. Fixes: QTBUG-63443 Change-Id: I12bff546eefcb8f6c9ca43b1b879773d129a28f9 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
| | | * | | macOS: Add local auto-release pool during updating of window flagsTor Arne Vestbø2018-10-261-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Prevents no-longer used QNSWindows from staying around (closed and invisible, but alive), due to being auto-released when there is no pool in place (during main(), before exec). Change-Id: I4eb63c7140290ffe6bded8a76732354c846ed579 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
| | | * | | macOS: Log Qt and macOS version information at startupTor Arne Vestbø2018-10-253-0/+141
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The SDK and deployment target versions are helpful to know when diagnosing issues. Change-Id: I85026bd9c1d706a923e8953837bd59bf9ed0266f Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
| | | * | | Fix out of bounds memory access when setting motif window hint propertiesSimon Hausmann2018-10-251-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit b4bd5f9df3e69da707513ba544537c80a8564fb4 removed two members from the mwm hints structure but told xcb_change_property that the structure has still five members when it had been reduced to three. This lead to xcb_change_property accessing memory out of bounds. As identified by Gatis, the safest option to avoid the access is to add the two members again. Other window managers may be expecting their presence in the window property. Change-Id: Id4f0c9536cd317c35f2c6ebd1ac9ccc6f72de6a5 Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io> Reviewed-by: Mikhail Svetkin <mikhail.svetkin@qt.io>
| * | | | | QFbCursor: Avoid nullptr access when QT_QPA_FB_HIDECURSOR is 0Christian Ehrlicher2018-11-062-9/+18
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the environment variable QT_QPA_FB_HIDECURSOR is set to 0, the two class members mCursorImage and mDeviceListener are nullptr but this was not checked in the functions afterwards. Task-number: QTBUG-64844 Change-Id: Ic0fd6a09851777643e59bedf2c006a6bb9a36801 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* | | | | QTreeWidget: mark (is|set)Item(Selected|Hidden|Expanded) as deprecatedChristian Ehrlicher2018-11-093-60/+80
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QTreeWidget::(is|set)Item(Selected|Hidden|Expanded)() are deprecated for a long time but not marked as such. Therefore explicitly mark them as deprecated so they can get removed with Qt6. Change-Id: Ie4971350de61326811e0788df0d359ed3c442869 Reviewed-by: Konstantin Shegunov <kshegunov@gmail.com> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* | | | | Painting: Fix capping of polylines having endpoint == startpointEirik Aavitsland2018-11-094-4/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A polyline should not be closed like a polygon, even if the start and end points are identical. But when the primitive was broken down to a vector path, the stroker no longer had available the information that it should be open, and so would join the start and end points. Fixes: QTBUG-65393 Change-Id: I0a566f91cf1a2843fda662b393dbae78c3c38f06 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | | | | QHeaderView: check for changed roles in dataChanged()Christian Ehrlicher2018-11-081-1/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QHeaderView::dataChanged() did not check for the modified roles which lead to unneeded size calculations even if the size did not change. Avoid it by only looking at the relevant roles (DisplayRole, DecorationRole, SizeHintRole and FontRole). [ChangeLog][QtWidgets][QHeaderView] dataChanged now respects the given roles to avoid useless recomputations Fixes: QTBUG-71172 Change-Id: I0de53897347a72bddc425ae1fae8f2560ad0e977 Reviewed-by: David Faure <david.faure@kdab.com>
* | | | | Make QAbstractItemModel::resetInternalData virtual for Qt 6Frederik Gladhorn2018-11-081-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I9cfeb93addb717abc187a8dab8d24076f68bd61d Reviewed-by: David Faure <david.faure@kdab.com> Reviewed-by: Luca Beldi <v.ronin@yahoo.it> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | | | | QHeaderView: Fix updating hidden sections during initializeSections()Christian Ehrlicher2018-11-081-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QHeaderView::initializeSections() was calling updateHiddenSections() with wrong parameters which lead to an inconsistency in the hidden section handling. updateHiddenSections() needs the first and last index which got removed. Therefore we must pass the new section count for logicalFirst. Fixes: QTBUG-55461 Change-Id: Ica06125cf19bdd500f55fd9cd59ace1795f3703f Reviewed-by: David Faure <david.faure@kdab.com>
* | | | | ItemWidgets: add helper function to retrieve the underlying modelChristian Ehrlicher2018-11-086-67/+105
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a new function to return the underlying model to avoid code duplication and make the code more readable. Also replace some 0 with nullptr. Change-Id: I1ca33de6f26b4e36f46ce7d2eacc45d0799478a3 Reviewed-by: Konstantin Shegunov <kshegunov@gmail.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | | | | Handle fonts that have commas/quotes in the family nameAndy Shaw2018-11-0811-35/+145
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since the comma character was originally used as a separator, we need to extend QFont to have setFamilies() so that we can avoid joining the family strings together. This enables us to see the family name as a single string and for multiple family names, we have families(). Subsequently, this has added functions to QTextCharFormat to account for multiple font families too. So it is now possible to set a single one directly with setFontFamily() and multiple ones with setFontFamilies(). This also bumps up the datastream version to 19 as QFont now streams the families list as well. [ChangeLog][QtGui][QFont] Add setFamilies()/families() to aid using of font families with commas and quotes in their name. [ChangeLog][Important Behavior Changes] QDataStream version bumped up to 19 to account for changes in the serialization of QFont. Fixes: QTBUG-46322 Change-Id: Iee9f715e47544a7a705c7f36401aba216a7d42b0 Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | | | | Use regular SSE2 stores instead of non-temporal ones in qt_memfill32Thiago Macieira2018-11-081-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There's no good reason to use non-temporal stores. Images may be 100x bigger than strings, but they're not so big that the non-temporal stores make sense. Patch-By: Allan Sandfeld Jensen <allan.jensen@qt.io> Change-Id: Iba4b5c183776497d8ee1fffd156380ec9103ef1a Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | | | | Add Q_FALLTHROUGH to qdrawhelper_neon.cppAllan Sandfeld Jensen2018-11-081-14/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Edited-By: Thiago Macieira <thiago.macieira@intel.com> Change-Id: I8981c9bad1b1dce288b8265bb79e485079769342 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | | | | Remove QT_MEMCPY_USHORT macro and just use memcpyThiago Macieira2018-11-082-33/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Compilers can optimize memcpy, so don't try to be too smart. Change-Id: Iba4b5c183776497d8ee1fffd156455b50de65182 Patch-By: Allan Sandfeld Jensen <allan.jensen@qt.io> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | | | | Remove unused QT_MEMCPY_REV_UINT macroThiago Macieira2018-11-081-20/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It's not used anywhere. Patch-By: Allan Sandfeld Jensen <allan.jensen@qt.io> Change-Id: Iba4b5c183776497d8ee1fffd1564559d6502a6f5 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | | | | Remove QT_MEMFILL_xxx macrosThiago Macieira2018-11-083-9/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | They were just calling a function, may as well just call said function directly. Change-Id: I343f2beed55440a7ac0bfffd15636b183c1a420f Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | | | | Test and document QTest::toHexRepresentation()Edward Welbourne2018-11-081-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It's not actually exercised by anything in our source tree, but is potentially useful and has been part of the documented public API for some time. So mention that the caller is responsible for delete[]ing its return and add a test that exercises it. Task-number: QTPM-1385 Change-Id: Ifc5284b9eb1b678cf3c9708c681311e874838fc6 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
* | | | | Fix matching semi-transparent formatsAllan Sandfeld Jensen2018-11-071-7/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For some reason some Visuals with semi-transparency incorrectly reports a depth of 24. Change-Id: If41ba1032fbe7d248f53f735cb84e61038b3300a Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
* | | | | QDBusServiceWatcher namespace prefix supportDavid Edmundson2018-11-063-26/+94
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows a user to efficiently watch for services with a common domain prefix. This is exposed in the API via a wildcard character in the service name. For example creating a watcher on "org.mpris*" will match "org.mpris.foo" "org.mpris.bar" and "org.mpris" itself. It will not match org.mprisasdf. Internally the argument match rules have been expanded from a single QStringList to a struct containing args and arg0namespace. This was done so that we can easily use argpath in match rules in the future. Change-Id: I55882ab603cc6ba478e8c0ea9a6800f6e483a50c Reviewed-by: Kai Uwe Broulik <kde@privat.broulik.de> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: David Faure <david.faure@kdab.com>
* | | | | QByteArrayList: add indexOf(const char*) overloadDavid Faure2018-11-062-0/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This avoids memory allocation and data copying in e.g. QObject::property(). Detected by heaptrack's "Temporary allocations" counter in an application using the breeze widget style (many animations). Change-Id: Iabdb58a3e504cb121cce906ef707b0722de89df6 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | | | | [Micro]Optimize QStyleSheetStyle::subElementRectAlbert Astals Cid2018-11-061-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | No need to make a QStyleOptionButton copy, we can just use the pointer we already have Change-Id: I3ef5f59eb4fe25adf675e67ebf548f4358456379 Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* | | | | Remove unnecessary Q_STATIC_TEMPLATE_FUNCTION macroThiago Macieira2018-11-064-57/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It expands to the same thing in all three branches. Change-Id: I343f2beed55440a7ac0bfffd15636a8bfd8fd21c Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | | | | Merge "Merge remote-tracking branch 'origin/5.12' into dev" into ↵Qt Forward Merge Bot2018-11-0633-230/+165
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | refs/staging/dev
| * | | | | Merge remote-tracking branch 'origin/5.12' into devQt Forward Merge Bot2018-11-0633-230/+165
| |\| | | | | | | | | | | | | | | | | | | | | | Change-Id: Id1e4664d3c942226b76e2c3b338df3116ff89297
| | * | | | Enable swizzlingAllan Sandfeld Jensen2018-11-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This part was accidently left disabling after testing the fallback still worked. Change-Id: Ic2df939753641a9771e68bc8857c570d356cff44 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
| | * | | | Remove unused variableLars Knoll2018-11-021-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I241969d10502e944f7a73971771730d43dd2784f Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>