summaryrefslogtreecommitdiffstats
path: root/src/gui
Commit message (Collapse)AuthorAgeFilesLines
* Ensure styles always get to polish the application paletteTor Arne Vestbø2020-07-211-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Before 0a93db4d82c051164923a10e4382b12de9049b45 we would polish the application palette even when it was the default palette, as we always recreated the system palette each time a style was set. After the change we skipped polishing the palette unless it was set by the user, under the assumption that the style would set its own default palette if it wanted to override the system palette. This turned out to break the style's ability to slightly tweak the palette via polish (versus the more full on standardPalette approach). We now polish both the default palette and user palettes, and we do so as part of the normal palette update logic. This ensures that the style also gets a chance to polish the palette when the platform theme changes. The polish will not have an effect on the resolve mask of the palette, as the polish is conceptually the same as a base palette, and should not affect e.g. Qt::AA_SetPalette. Fixes: QTBUG-85469 Fixes: QTBUG-85188 Pick-to: 5.15 Change-Id: I869e9c442b177de4f1dc49eb75220709306f4d12 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Fix SSE4 instruction leak in GCC10 debug buildsAllan Sandfeld Jensen2020-07-211-2/+2
| | | | | | | | toArgb32 was leaking an SSE4 instruction when not inlined. Pick-to: 5.15 Change-Id: I5df87bc7343f4ec40881a0aedd6f066323143817 Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* Fix some qdoc warningsFriedemann Kleint2020-07-211-1/+1
| | | | | | | | | | | | | | | | | | src/corelib/text/qstringconverter.h:160:54: error: no matching constructor for initialization of 'QStringConverterBase::State' src/corelib/text/qstringconverter.h:72:19: note: candidate constructor not viable: no known conversion from 'QFlags<QStringConverter::Flag>' to 'QFlags<QStringConverterBase::Flag>' for 1st argument src/corelib/text/qstringconverter.h:75:9: note: candidate constructor not viable: no known conversion from 'QStringConverter::Flags' (aka 'QFlags<QStringConverter::Flag>') to 'QStringConverterBase::State' for 1st argument src/corelib/text/qstringconverter.h:108:24: note: candidate constructor not viable: no known conversion from 'QStringConverter::Flags' (aka 'QFlags<QStringConverter::Flag>') to 'const QStringConverterBase::State' for 1st argument src/corelib/text/qstringconverter.h:159:32: warning: constexpr constructor that does not initialize all members is a C++20 extension [-Wc++20-extensions] src/corelib/text/qstringconverter.h:187:11: note: member not initialized by constructor src/corelib/kernel/qproperty.h:403:14: error: deduction guide must be declared in the same scope as template 'QProperty' src/corelib/kernel/qproperty.h:202:7: note: template is declared here src/corelib/kernel/qproperty.h:403:14: error: deduction guide declaration without trailing return type src/gui/painting/qregion.h:139:5: error: unknown type name 'HRGN' src/gui/painting/qregion.h:140:29: error: unknown type name 'HRGN' Change-Id: I3c195a60ceeb51664368a4aeef90c70c31954fc3 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* Add fixme note to QWindowPrivate::setVisible about visibility during createTor Arne Vestbø2020-07-201-1/+7
| | | | | Change-Id: I71cb5b560538887f85d92178ff17eaaecaf06904 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Add QEvdevKeyMapper platform interfaceTor Arne Vestbø2020-07-202-0/+31
| | | | | | Task-number: QTBUG-84220 Change-Id: I4f3a54415c5509b4bde486b54c56b0e05976bac6 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Add QXcbWindow platform interfaceTor Arne Vestbø2020-07-202-0/+34
| | | | | | Task-number: QTBUG-84220 Change-Id: I8bb4288f1ac06d77fb4f43ae091fa1712f694eeb Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Move private platform interfaces to private QPA headersTor Arne Vestbø2020-07-208-44/+105
| | | | | | | | | They should not clutter the "public" QPA headers that clients use to implement new platforms, and having them in the private headers allows us to check for private configure features. Change-Id: Ib4b4db96c086d81bb5810392c7c8922fc5b4950d Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Add QXcbScreen platform interfaceTor Arne Vestbø2020-07-202-0/+21
| | | | | | Task-number: QTBUG-84220 Change-Id: I6c166409fbaf50627dea65a6256764e08ab36a59 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* cmake: Slience bening warnings in 3rdparty codeTor Arne Vestbø2020-07-201-2/+3
| | | | | Change-Id: I1a47695abd6d6ea1527e2803dde0ed29aca014cc Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Fix some MSVC int conversion warningsFriedemann Kleint2020-07-172-9/+9
| | | | | | | | | | | | | | | | | | | | | | | kernel\qmetaobjectbuilder.cpp(1279): warning C4267: 'initializing': conversion from 'size_t' to 'int', possible loss of data kernel\qmetaobjectbuilder.cpp(1432): warning C4267: '+=': conversion from 'size_t' to 'int', possible loss of data sax\qxml.cpp(1275): warning C4267: 'argument': conversion from 'size_t' to 'int', possible loss of data text\qfontsubset.cpp(920): warning C4267: 'initializing': conversion from 'size_t' to 'int', possible loss of data text\qfontsubset.cpp(920): warning C4267: 'initializing': conversion from 'size_t' to 'const int', possible loss of data text\qtextengine.cpp(2664): warning C4267: 'initializing': conversion from 'size_t' to 'int', possible loss of data text\qtextengine.cpp(2665): warning C4267: 'initializing': conversion from 'size_t' to 'int', possible loss of data text\qtextengine.cpp(2706): warning C4267: 'initializing': conversion from 'size_t' to 'int', possible loss of data text\qtextengine.cpp(2707): warning C4267: 'initializing': conversion from 'size_t' to 'int', possible loss of data itemviews\qbsptree.cpp(60): warning C4334: '<<': result of 32-bit shift implicitly converted to 64 bits (was 64-bit shift intended?) kernel\qprintengine_win.cpp(1558): warning C4267: 'initializing': conversion from 'size_t' to 'int', possible loss of data qsql_odbc.cpp(804): warning C4267: 'argument': conversion from 'size_t' to 'SQLINTEGER', possible loss of data qsql_odbc.cpp(822): warning C4267: 'argument': conversion from 'size_t' to 'SQLINTEGER', possible loss of data qsql_odbc.cpp(1585): warning C4267: 'initializing': conversion from 'size_t' to 'int', possible loss of data qsql_odbc.cpp(1602): warning C4267: 'argument': conversion from 'size_t' to 'int', possible loss of data qwindowsmime.cpp(770): warning C4267: '+=': conversion from 'size_t' to 'int', possible loss of data windows\qwindowsmime.cpp(770): warning C4267: '+=': conversion from 'size_t' to 'int', possible loss of data Change-Id: I04fbe17b9782f4c2704933fc005449b1e992475e Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QtGui: Rename all QEvent members according to the m_ conventionFriedemann Kleint2020-07-162-162/+163
| | | | | | | | | | | As they are protected, they need to be excluded from the Python bindings, which is best done by a pattern. Task-number: PYSIDE-1339 Task-number: PYSIDE-904 Change-Id: I667aa3b8e229e11b3b46635adfddbd62ce4747c1 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* QtGui/Windows: Move the QRegion conversion functions into QtGuiFriedemann Kleint2020-07-162-0/+71
| | | | | | Task-number: QTBUG-81876 Change-Id: I2297291a4157e7015f499b0a6127301d9cb58526 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Avoid warnings regarding bit-field signednessDimitrios Apostolou2020-07-163-4/+4
| | | | | | | | | | | Up to (including) C++11, integral bitfields of unspecified signedness have implementation dependent signedness. Detected by LGTM.com static analyzer. Pick-to: 5.15 Change-Id: Ibaa0fdc6e443495a3cd40330c4573c9cc6ccdf5b Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Un-deprecate QMouseEvent::flags() and QGraphicsSceneMouseEvent::flags()Shawn Rutledge2020-07-152-2/+0
| | | | | | | | | | | | | | | | On one hand it looks like API clutter: a whole Qt namespace enum just to track whether an individual mouse click is about to geenerate a MouseButtonDblClick event. On the other hand, we should not remove it without replacing it somehow, so that users don't lose the workaround for QTBUG-25831 that it provides. That would be an invasive change because this flags property exists in QMouseEvent, QGraphicsSceneMouseEvent and in MouseArea { onClicked: doSomethingWith(mouse.flags) } Reverts a small part of 4e400369c08db251cd489fec1229398c224d02b4 Task-number: QTBUG-25831 Change-Id: I9a3b4f6cc6b858012186f10ed57689f8c0f5fd79 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Set QEventPoint::state properly in QSinglePointEventShawn Rutledge2020-07-151-0/+6
| | | | | | | | | | | | | | | | | | State was Unknown by default, and that is OK in widgets so far, because widgets pay attention to the event type, not QEventPoint::state(). But Qt Quick cares about that, because QEventPoint turns into QQuickEventPoint, in which state() has long been important, due to the semi-unified handling of mouse and touch events. If it was not a button that caused the event, state is Updated (the mouse is hovering or dragging, or it's an enter event, wheel event etc.) If more buttons are now held than before, state is Pressed. If fewer buttons are now held than before, state is Released. Amends 4e400369c08db251cd489fec1229398c224d02b4 Change-Id: I926d268982449e46e7ca713c4a6ee2014c28c645 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* QMouseEvent: Set QEventPoint globalPressPosition and globalLastPositionShawn Rutledge2020-07-151-1/+5
| | | | | | | | | | | | | | | | | Qt Quick's MultiPointTouchArea compares the delta since press against the drag threshold to determine whether a gesture has started, for example. Since it can be configured to handle both mouse and touch, this needs to be done for mouse events in a similar way as it's done in QGuiApplicationPrivate::processTouchEvent(). Storing one global cursor position is not OK for multi-mouse support, but that's a problem for another time; so we keep using QGuiApplicationPrivate::lastCursorPosition for now. Amends 4e400369c08db251cd489fec1229398c224d02b4 Change-Id: I242565c4548878878a67074877468e5fde84a490 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Replace emit with Q_EMIT in headerFabian Kosmale2020-07-141-1/+1
| | | | | | | This fixes tst_nokeywords.cpp in declarative Change-Id: Ia94c6c73a830a2eaac9288d9f73d43e63d7a5c17 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* CMake: Fix call to qvkgen for cross-builds with toolsJoerg Bornemann2020-07-141-1/+10
| | | | | | | | We must not call the qvkgen tool that was built for the target but the one that's located in QT_HOST_PATH. Change-Id: I6d23a8e3abd84d449517630f3b9f0d50e333c327 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* QtGui: Clean up event headers, #3Friedemann Kleint2020-07-141-5/+0
| | | | | | | | - Remove unimplemented CT of QTabletEvent Task-number: QTBUG-72173 Change-Id: I22f88bc2962f2cf92cf33c9cba7081c0436affe6 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Change QWindow/QWidget::map(To/From)(Global/Parent) to operate in floatFriedemann Kleint2020-07-148-34/+61
| | | | | | | | | | | | | | | Change the functions to operate in float and add the QPoint versions as overload calling them. This is more in-line with the event accessors using float and allows for removing some workarounds using a delta when converting touch points. Leave QPlatformWindow::map(To/From)Global() as is for now and add helpers for float. Change-Id: I2d46b8dbda8adff26539e358074b55073dc80b6f Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Don't flatten link color in QTextHtmlParser::declarationsForNodeTor Arne Vestbø2020-07-141-2/+2
| | | | | | | | | | | It's still flattened in the next step, when the parser calls QTextHtmlParserNode::applyCssDeclarations, but this at least makes it clear where the problem is. Task-number: QTBUG-85567 Change-Id: I1ecc7d808c58297f40f6cf8de86dfa7035e167c9 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* Linux: fix crash in AtSpi adaptor when handling window activationLu YaNing2020-07-141-1/+3
| | | | | | | | | fix The window has been quickly activated or disabled will cause a crash . Fixes: QTBUG-84643 Pick-to: 5.15 Change-Id: I0fd0918a3fc1898ddffd97009a4e92702ecd9ed4 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* QtGui: Clean up event headers, #2Friedemann Kleint2020-07-131-6/+0
| | | | | | | | | | - Remove unimplemented functions of QEventPoint - Remove forward declaration of devices Task-number: QTBUG-72173 Change-Id: I40e0451a6380ea7fbe58c49fe8fab1b432558c52 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Move eglconvenience to QtGuiFriedemann Kleint2020-07-1315-6/+2743
| | | | | | | Task-number: QTBUG-83255 Change-Id: I8a008d8906308dd73a0793db5b88d3a1b6fdaf5c Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* rhi: Allow null resources in srbLaszlo Agocs2020-07-133-64/+135
| | | | | | | | | | In this case the srb represents the layout only, and can still be used to create a pipeline. For setShaderResources() one will then need to use another, layout compatible, srb that references valid resources. Change-Id: I3ea5b63df3be8847540ca4c0c40fbd29dbed8fb7 Reviewed-by: Paul Lemire <paul.lemire@kdab.com> Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* Check returns of hex2int in get_hex_rgbRobert Loehning2020-07-131-0/+2
| | | | | | | | | | Avoids undefined behavior when trying to shift negative values. Fixes: oss-fuzz-21860 Fixes: oss-fuzz-23968 Pick-to: 5.15 5.12 Change-Id: I879c97624e3f8ba9cf01e0a3a682379cd8c4a199 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* QtGui: Clean up event headersFriedemann Kleint2020-07-132-3/+12
| | | | | | | | | | - Remove unimplemented QSinglePointEvent() - Remove forward declaration of QTouchEventTouchPointPrivate - Update copyright and add comment to qevent_ph.h Task-number: QTBUG-72173 Change-Id: Ie64b6071f2611001dcd8e3deec2f5ed382bb2312 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* QVariant::setValue(): enable move semanticsGiuseppe D'Angelo2020-07-131-1/+1
| | | | | | | | | | | | Given we optimize for the case where the new value is of the same type of the one already stored in the variant, enable move assignment for that case. As a drive-by, avoid a path to detach() for data() if we know we're detached. Change-Id: I9abbdc10637ce77ebb747b49d83e1ef914d997bb Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Fix buffer overflowRobert Loehning2020-07-101-1/+1
| | | | | | | Fixes: oss-fuzz-23988 Pick-to: 5.15 5.12 Change-Id: I4efdbfc3c0a96917c0c8224642896088ade99f35 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Refactor pointer event hierarchyShawn Rutledge2020-07-1011-1128/+777
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some goals that have hopefully been achieved are: - make QPointerEvent and QEventPoint resemble their Qt Quick counterparts to such an extent that we can remove those wrappers and go back to delivering the original events in Qt Quick - make QEventPoint much smaller than QTouchEvent::TouchPoint, with no pimpl - remove most public setters - reduce the usage of complex constructors that take many arguments - don't repeat ourselves: move accessors and storage upwards rather than having redundant ones in subclasses - standardize the set of accessors in QPointerEvent - maintain source compatibility as much as possible: do not require modifying event-handling code in any QWidget subclass To avoid public setters we now introduce a few QMutable* subclasses. This is a bit like the Builder pattern except that it doesn't involve constructing a separate disposable object: the main event type can be cast to the mutable type at any time to enable modifications, iff the code is linked with gui-private. Therefore event classes can have less-"complete" constructors, because internal Qt code can use setters the same way it could use the ones in QTouchEvent before; and the event classes don't need many friends. Even some read-accessors can be kept private unless we are sure we want to expose them. Task-number: QTBUG-46266 Fixes: QTBUG-72173 Change-Id: I740e4e40165b7bc41223d38b200bbc2b403e07b6 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Remove unused method QKeyMapper::clearMappings()Tor Arne Vestbø2020-07-102-8/+0
| | | | | | | | | | | The plumbing from QKeyMapper to the platform specific key mappers via QPA was never done, so this method is unused. The code path in QKeyMapper that would trigger it would be changeKeyboard(), but that's already handled in QCocoaKeyMapper, and wouldn't be initiated from the cross platform code in any case. Change-Id: Ibc0c419627fc0430d028945038c1f2fbafe42d4b Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* macOS: Add QCocoaKeyMapper::toCocoaModifiersTor Arne Vestbø2020-07-101-1/+1
| | | | | Change-Id: I489c64733275260bb041f8df5cc5ff4a571d4e9c Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* Fix one check for AVX2Allan Sandfeld Jensen2020-07-101-1/+1
| | | | | | | | | | | | We should check for the haswell set of features here as well, as we do in the main switch. Not that there are supposed to be any processors with AVX2 without the full set though. Pick-to: 5.15 Change-Id: Ifa648d605a50748cff21ae0a0c75ae47f620d9c0 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Move glxconvenience into QtGuiFriedemann Kleint2020-07-107-5/+588
| | | | | | | | | OpenGL is not quite as dead as initially assumed. Task-number: QTBUG-83255 Change-Id: I953040149812a5258caad5fe6bac0835e1982dd0 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* CMake: Fix incorrect SIMD arch_haswell and avx profile conditionsAllan Sandfeld Jensen2020-07-091-9/+0
| | | | | | | | | | | | | | | | | | | | Fix the conditions in qt_add_simd_part for arch_haswell and the avx512 profiles to mimic what simd.prf does. Add missing SIMD flags in QtCompilerOptimization for arch_haswell. Compute the compile flags for the avx512 profiles from the profile dependencies. Remove the special case in Gui that hardcoded the compilation of qdrawhelper_avx2.cpp to be conditional on avx2 being enabled instead of arch_haswell. The Gui project already has another qt_add_simd_part that is enabled if arch_haswell is enabled, which will now work correctly due to the fixes in qt_add_simd_part. Change-Id: I7a61a03b5565d4fa438f22b329e0d9dd7acd9273 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* macOS: Move AA_MacDontSwapCtrlAndMeta logic out of QPlatformThemeTor Arne Vestbø2020-07-081-21/+2
| | | | | Change-Id: Ia36f60587d98902406de7de8acdc3c4521cfd05a Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Replace use of deprecated Q_OS_MACX in favor of Q_OS_MACOSTor Arne Vestbø2020-07-082-9/+9
| | | | | Change-Id: I1059d56f67be28a4cc1a66b744e81df6d0b5d00d Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Make QGuiApp::platform(Function|NativeInterface) internalTor Arne Vestbø2020-07-071-0/+2
| | | | | | | Task-number: QTBUG-83252 Change-Id: I3d53114f6cf43aa482d0c30938dabc86bb05ea67 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Use QList instead of QVector in gui implementationJarek Kobus2020-07-0789-640/+634
| | | | | | | Task-number: QTBUG-84469 Change-Id: I366e845249203d80d640355a7780ac2f91a762f1 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Separate QPD::tabletDevice into priv tabletDevice and queryTabletDeviceShawn Rutledge2020-07-078-55/+93
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There doesn't seem to be any reason users will need to query tablet devices by their IDs, because every event comes with a complete instance already, and we have QInputDevice::devices() to list them all. QPointingDevicePrivate::tabletDevice() can create a new instance if a matching one is not found (and complains about that); it's intended for use in QtGui, as a way to find the device if it was not part of the QWSI event. Now it sets the parent of those auto-created instances to QCoreApplication to avoid a memory leak. On the other hand, queryTabletDevice() is intended for use in platform plugins that need to check whether an instance exists; but they will take care of creating new instances themselves, and thus have more control over the parent and the details being stored. Now that the systemId can also be given, the search is more likely to have a unique result, on window systems that provide device IDs. Rename id() to systemId() to clarify that it's a system-specific unique device ID of some sort, not the same as the uniqueId that a stylus has. However it seems that in practice, this will often be 0; so clarify that if it's not unique, QInputDevicePrivate::fromId() and queryTabletDevice() may not always find the right instance. Clarify the function usage via comments. Change-Id: I82bb8d1c26eeaf06f07c290828aa17ec4a31646b Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Fix rendering error in some glyphsPengfei Zhang2020-07-071-1/+1
| | | | | | | | | | | Caused by a spelling mistake in the calculation. Pick-to: 5.15 Pick-to: 5.12 Change-Id: I69445fcd8a45b60c34d51aa09d778d4fee447065 Reviewed-by: Liang Qi <liang.qi@qt.io> Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Add ; to Q_UNUSEDLars Schmertmann2020-07-0732-95/+95
| | | | | | | | This is required to remove the ; from the macro with Qt 6. Task-number: QTBUG-82978 Change-Id: I3f0b6717956ca8fa486bed9817b89dfa19f5e0e1 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Fix floating point clip rectangle rounding in raster and opengl paint engineJani Hautakangas2020-07-071-1/+1
| | | | | | | Fixes: QTBUG-83229 Pick-to: 5.15 Change-Id: If94028f27c9085e391acb9c423cde1b7c12bca36 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* macOS: Get rid of QCocoaWindowFunctionsTor Arne Vestbø2020-07-071-0/+1
| | | | | | | | | | | The functionality is now directly available in the QCocoaWindow platform interface, instead of going through the indirection of the platform headers and native interface. Task-number: QTBUG-84220 Change-Id: Ifc48263c83806705b44364f7727d317847737ab4 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* macOS: Remove QMenu indirection via QPlatformNativeInterfaceTor Arne Vestbø2020-07-072-0/+28
| | | | | | Task-number: QTBUG-83252 Change-Id: I0c750d2b1912ced343d96ea0ca081c3319be2889 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Remove unused virtual method QWindowPrivate::allowClickThroughVolker Hilsheimer2020-07-071-3/+0
| | | | | | | Always returned true, also in the QWidgetWindowPrivate override. Change-Id: I01d11ae6f85882b52ce397125f994eea663ffcb5 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* SPI Accessibility: Remove global variableFriedemann Kleint2020-07-065-9/+33
| | | | | | | | Change it into a member variable of QSpiAccessibleBridge. Task-number: QTBUG-83255 Change-Id: Ia781a7c86723e343680bf804be6393640f83a516 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Use qsizetype in QListLars Knoll2020-07-066-9/+10
| | | | | | | | | | | | | | | | | | | | The change creates a slight source incompatibility. The main things to take care of are * code using printf statements on list.size(). Using qsizetype in printf statements will always require a cast to work on both 32 and 64 bit. * A few places where overloads now get ambiguous. One example is QRandomGenerator::bounded() that has overloads for int, uint and double, but not int64. * Streaming list.size() to a QDataStream will change the format depending on the architecture. [ChangeLog][QtCore][QList] QList now uses qsizetype to index into elements. Change-Id: Iaff562a4d072b97f458417b670f95971bd47cbc6 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Simplify Q_ARRAY_LITERALLars Knoll2020-07-061-1/+1
| | | | | | | And clean up some unused pieces of code. Change-Id: I285b6862dc67b7130af66d3e08f652b1a56b990e Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Simplify QMainWindow::setUnifiedTitleAndToolBarOnMacTor Arne Vestbø2020-07-062-0/+16
| | | | | | Task-number: QTBUG-83252 Change-Id: Ib6f7dcfe21407603d4cfd5d33f6615d8623db940 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>