summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* evdevtouch: fix input_event time related compilePeter Seiderer2020-05-071-1/+9
| | | | | | | | | | | | | | | | | | | Fixes: evdevtouch/qevdevtouchhandler.cpp: In member function ‘void QEvdevTouchScreenData::processInputEvent(input_event*)’: evdevtouch/qevdevtouchhandler.cpp:579:29: error: ‘struct input_event’ has no member named ‘time’; did you mean ‘type’? m_timeStamp = data->time.tv_sec + data->time.tv_usec / 1000000.0; ^~~~ type evdevtouch/qevdevtouchhandler.cpp:579:49: error: ‘struct input_event’ has no member named ‘time’; did you mean ‘type’? m_timeStamp = data->time.tv_sec + data->time.tv_usec / 1000000.0; ^~~~ type Task-number: QTBUG-84012 Change-Id: Ib8d726a0baf2bdc85da9341229fffaddc0e373ee Pick-to: 5.15 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* rhi: vulkan: Fix calling finish() twice with some copy commands in-betweenLaszlo Agocs2020-05-072-22/+146
| | | | | | | | | | | The native command buffer handle was not updated, so the subsequent finish() call attempted to record an invalid VkCommandBuffer. The problem was not present with offscreen frames, only when finish() is called with a swapchain-based frame active. Task-number: QTBUG-84066 Change-Id: I9c4cb701c3dbbc28f237d6ae1cbf65aafd1fa95f Reviewed-by: Christian Strømme <christian.stromme@qt.io>
* QGraphicsAnchorLayout: port to QHVContainer [1/4]: local QHVContainerMarc Mutz2020-05-073-41/+47
| | | | | | | | | | | | | | | | | | This part of the patch changes the definitons of the member variables from 'C arrays of extent 2' to QHVContainer and fixes the code where ints were used to index into the array. To not drown in renames, keep the locally-defined enum 'Orientation', and create a local version of QHVContainer whose index operator is overloaded for both Qt::Orientation and the local 'Orientation'. Follow-up patches will remove these, then, completely. After this patch, NOrientations is no longer used, and consequently removed. Change-Id: I2a241520fce4beeb87fc0e26cd6ab18f324a956a Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
* Revert "Don't reference build directory in helper lib pri"Liang Qi2020-05-071-9/+9
| | | | | | | | | | This reverts commit c9d9ac5bb07a737c862b40302cd681f7b3b321fd. This breaks prefix build which tries to link to install folder. Task-number: QTBUG-83967 Change-Id: I084152afde91c2063154bef8ac99d7e997c9394b Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* pro2cmake: Add library mappings for the restructured ActiveQt moduleJoerg Bornemann2020-05-071-0/+3
| | | | | Change-Id: I643cb2afc0e4b74abcbd67bb9002ab334337be37 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Doc: Remove deprecated API from XML processing overviewKai Koehne2020-05-071-243/+17
| | | | | | | | Pick-to: 5.15 Fixes: QTBUG-83873 Change-Id: I7fce8de11a9fb09a158f7ad5e32c0fcc323dbdf1 Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io> Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* Enable warnings-are-errors also for snippetsKai Koehne2020-05-074-0/+6
| | | | | | Pick-to: 5.15 Change-Id: I6b3645924e4f090c7887ce0d6296a71dc8f8159d Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* Remove QScreen::orientationUpdateMaskShawn Rutledge2020-05-0713-133/+24
| | | | | | | | | | | | | | | | | | It simplifies the API and reduces surprise to have rotation working by default. On Android, the manifest specifies which orientations the application has been designed to support; on iOS, it is controlled via the UISupportedInterfaceOrientations property list key. In addition, QWindow::contentOrientation() is another way to give a hint to the window manager, or on iOS to directly control whether the window's rotation is locked or not. Task-number: QTBUG-35427 Task-number: QTBUG-38576 Task-number: QTBUG-44569 Task-number: QTBUG-51012 Task-number: QTBUG-83055 Change-Id: Ieed818497f686399db23813269af322bfdd237af Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* pro2cmake: Honor INSTALL_EXAMPLESDIR if definedChristophe Giboudeaux2020-05-071-2/+5
| | | | | | | | | | | | When building examples standalone, 'INSTALL_EXAMPLESDIR' may be undefined. The converted .pro files now check whether the variable is set to prevent installation into unexpected locations. Fixes: QTBUG-81797 Change-Id: I9f97568923c8103011a41d9af7cfe02dd1e40b56 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: Make build system of installed Qt more relocatableAlexandru Croitor2020-05-0712-106/+211
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Aka handle CMAKE_INSTALL_PREFIX in a more relocatable way. The following story inspired this change. If a user wants to build a Qt repo into a different install prefix than the usual Qt one, this will fail configuration because we look for various things like syncqt, qdoc, etc relative to CMAKE_INSTALL_PREFIX, which will now point to a different location where none of the above tools are located. The intent for such a use case is to support building Qt packages with Conan, which sets a random install prefix when configuring a repo. The idea is to derive the qt prefix dynamically from the QtBuildInternals package location. Essentially it's a reverse relative path from the QtBuildInternalsConfig.cmake file to the install prefix that was specified when initially configuring qtbase. Once the dynamic prefix is computed (so we know where the possibly relocated Qt is), we can find tools like syncqt and qdoc. This is an initial attempt to support a use case like that. More design work will probably needed in case if tools / libs need to be found in a location different than the Qt install prefix (so support for multiple install prefixes / search paths). An example of such a case would be when building qtdeclarative and qtquickcontrols2 as Conan packages in one go. Most likely the qmltyperegistrar tool will be located in the random install prefix set by Conan, so building qtquickcontrols2 might fail due to not finding the tool in the original Qt install prefix. As to the implementation details, the change does the following: - Dynamically computes and sets the QT_BUILD_INTERNALS_RELOCATABLE_INSTALL_PREFIX variable when find_package()'ing QtBuildInternals. It's an absolute path pointing to where the relocated Qt is. - When building qtbase this variable is not yet available (due to QtBuildInternalsExtra not existing), in that case we set the variable to the absolute path of CMAKE_INSTALL_PREFIX (but only for the initial qtbase configuration). - Remove QT_BUILD_INTERNALS_ORIGINAL_INSTALL_PREFIX which was used for standalone tests purposes. It's not needed now that we compute the location of the Qt prefix dynamically. - The Unixy qt-cmake and qt-cmake-private shell scripts now use a relative path to find the toolchain file we created. - The toolchain file also dynamically computes the location of the Qt packages, and adds them to CMAKE_PREFIX_PATH. - A lot of existing CMAKE_INSTALL_PREFIX uses are replaced with QT_BUILD_INTERNALS_RELOCATABLE_INSTALL_PREFIX. This includes finding tool locations, mkspecs dir, path environment setup for tools, etc. - Some places still use CMAKE_PREFIX_PATH in the following cases - When determining paths while configuring qtbase (valid cases) - When I wasn't sure what the behavior should be, so I left them as-is (an example is documentation generation, do we want to install it into the random Conan prefix, or into the main prefix? Currently it installs in the random prefix). Note that relocating a Qt installation does not work for non-prefix / non-installed builds, due to hardcoded paths to include directories and libraries in generated FooTargets.cmake files. Task-number: QTBUG-83999 Change-Id: I87d6558729db93121b1715771034b03ce3295923 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* CMake: Replace hardcoded include dirs for the global qtbase targetsAlexandru Croitor2020-05-071-8/+8
| | | | | | Change-Id: I22a120a0cb8ca690d224b1301b85e704364fbce0 Reviewed-by: Simon Hausmann <hausmann@gmail.com> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* Port qt_string_count() to QStringViewMarc Mutz2020-05-071-8/+7
| | | | | | | | | | | It was not using QStringView API, but immediately dropped to bare metal operations (reinterpret_cast, ushort), subjecting itself to ushort -> char16_t issues. The new formulation avoids low-level primitives. Change-Id: I8e75c7ea7409b133ff43bf5c829aa1f8f7503f11 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* QStyleSheetStyle: fix some premature pessimizationsMarc Mutz2020-05-071-5/+6
| | | | | | | | | - Use QStringView to substring before converting to L1 - cache result of toLatin1() Pick-to: 5.15 Change-Id: I509f551913e77075e60903ebe65b880bd3f7e973 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* QStyleSheetStyle: port a local QSet to QDuplicateTrackerMarc Mutz2020-05-071-4/+5
| | | | | | | | | Apart from a more fitting, minimal, API, QDuplicateTracker also transparently uses C++17 pmr::monotonic_buffer_resource to avoid, or at least reduce, memory allocations. Change-Id: Ice3ebf1891141d2ac1ec9dd069fb40e98d4056c6 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* QString: remove weird uses of QChar::unicode()Marc Mutz2020-05-071-2/+2
| | | | | | | | Both *rc and fillChar have type QChar. So don't use QChar::unicode() to assign them to each other, just use QChar::op=... Change-Id: I050035ca16d613f3c57eb5a582978d23c2f04f36 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* QGraphicsAnchorLayout: rename AnchorData::{orientation -> isVertical}Marc Mutz2020-05-072-11/+12
| | | | | | | | | That's basically what it is, and we don't want to extent the storage from one to two bits when porting QGraphicsAnchorLayoutPrivate::Orientation to Qt::Orientation later on. Change-Id: I965164141e8d08dbf190e2cd71d9bb7a272b1fda Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
* QLocale/Mac: make envVarLocale() thread-safeMarc Mutz2020-05-071-1/+1
| | | | | | | | | | | | | The old code used a static QByteArray, but would write to it on every invocation of the function. This makes the function non-re-entrant, even though it's callable from non-GUI-threads (via QSystemLocale::fallbackUiLocale()). Fix by using an automatic QByteArray instead. Change-Id: I93eea1dff1c72f3ea280283bb68b4ed47d2a8e1d Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Add more tests for QtConcurrent::filterReduced()Jarek Kobus2020-05-072-0/+115
| | | | | | | | | | Test the case where reduce function of the form: V function(T &result, const U &intermediate) has T and U types different. Task-number: QTBUG-83802 Change-Id: Ic89396caba16e7e47ae3ec1527e31b8620f1b08c Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io>
* Cleanup the qtconcurrentfilter testJarek Kobus2020-05-071-1402/+357
| | | | | | | | | | | | | | | | | Get rid of code repetition in concurrentfilter test. Move tests with initial value next to their original version. Join new lambda tests into a common functions testing all possible 16 combinations of functor / function / member / lambda, as they test in fact the same function. There is no need to distinguish lambda case over other cases. This helps in test readability and maintenance. Add missing tests for lambdas with a combination of initial value. Task-number: QTBUG-83802 Change-Id: I45930c1e18a9e4e561909f46a5cbbdf0ad7ba333 Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io>
* Clean up some more mixed enum/int mathGiuseppe D'Angelo2020-05-072-3/+3
| | | | | | | | | Add casts when necessary, and replace a bitwise trick with the proper function call. Pick-To: 5.15 Change-Id: I8b3109781af1e7fdc5d1c4c3fafe43394c81d71d Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Fix QRunnable::ref use in QThreadPoolAllan Sandfeld Jensen2020-05-072-26/+44
| | | | | | | | | | | | | | | | The reference counter could only ever be -1, 0 or 1, as an autoDeleted QRunnable can only be in a single thread pool. This commits keeps the reference counting for now, but asserts sanity, simplifies locking and fixes a leak. Pick-To: 5.15 Fixes: QTBUG-20251 Fixes: QTBUG-65486 Change-Id: I4de44e9a4e3710225971d1eab8f2e332513f75ad Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io>
* Handle disk full situations by skipping QFile::moveToTrash testVolker Hilsheimer2020-05-071-3/+9
| | | | | | | | | | If any of the temporary directories and files can't be created, skip the test. Otherwise, the cleanup routine would recursively delete "/". Change-Id: I51f908a468be8fd2ebd523ff7ce27a7c78d1b4e2 Fixes: QTBUG-83863 Pick-to: 5.15 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* QFile::moveToTrash: work with relative file paths on WindowsVolker Hilsheimer2020-05-072-10/+14
| | | | | | | | | | | | | | | | | | | | The system APIs expect an absolute "display name" of the file path, so make it absolute. The test was overly tolerant in accepting failure, as a QStorageInfo initialized with a file path that doesn't exist is invalid, and thus always different from the QStorageInfo of the home directory. Fix the test to compare only valid QStorageInfo objects, and postpone the check until the file we want to move has been created. [ChangeLog][QtCore][QFile] moveToTrash supports relative file paths on Windows Change-Id: I94c8cd40c60fde469e38f76a98f867f20c6a0b15 Fixes: QTBUG-84015 Pick-to: 5.15 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* CMake: Fix icons in generated RC fileJoerg Bornemann2020-05-071-1/+1
| | | | | | Change-Id: Idb11bd2058f2ec3f258845aea0d314430ff7c578 Reviewed-by: Simon Hausmann <hausmann@gmail.com> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: Do not generate RC files for STATIC and OBJECT librariesJoerg Bornemann2020-05-071-2/+2
| | | | | | | | | Those library types typically do not have Windows resources with version information. Change-Id: I1a385c2ae4e40d5c153ac6501c5ed826eaf75655 Reviewed-by: Simon Hausmann <hausmann@gmail.com> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* rhi: Correct another scissor/viewport clamping problemLaszlo Agocs2020-05-071-2/+2
| | | | | | | | | | | | | | | | | | | | | When x or y are >= the width or height of the render target, then the width or height of the scissor/viewport rect is zero, no further logic is needed. This is different from the case of x or y being negative, because then there is still a chance that there is an in-bounds area (if width or height are large enough). It is important to make this check based on the original value of x and y, not the clamped ones. Otherwise we end up with a 1 pixel wide region even when the expected result is a width or height of 0. Previously the incorrect subtraction of 1 in the final clamping of w and h masked this, but once that is fixed, the issue fixed here becomes visible in the cubemap_scissor manual test. Change-Id: I3d4b0a163a16aa1116b1e838fa95c0faf7b56a3d Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* RHI: fix off-by-one clippingEirik Aavitsland2020-05-071-2/+2
| | | | | | | | | | | In cases where qrhi_toTopLeftRenderTargetRect() would clip the width or height to the available space, it would subtract 1 from the result, leading to painting errors. Fixes: QTBUG-83928 Change-Id: I65d23151d838386b516ded0588702bc0bf4c0d93 Reviewed-by: Jonas Karlsson <jonas.karlsson@qt.io> Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Snippets: Fix dependency issuesKai Koehne2020-05-073-37/+32
| | | | | | | | | | | | | | | | The widget snippet was sometimes ignored, because the printsupport dependency was not explicit in the top-level src.pro file. This lead to a situation that, if printsupport by chance was already built, it was tested, otherwise silently ignored. This shows that having requires(qtHaveModule()) inside src/ is actually harmful, and they are therefore removed from snippets.pro. Also, the dependencies for the snippets projects are now moved to a central place so that the correctness is easier to check. Pick-to: 5.15 Change-Id: Ice051fa04848040e206c78361fbbcf680383c6b2 Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* Snippets: Fix gcc warning about unused variableKai Koehne2020-05-071-0/+1
| | | | | | Pick-to: 5.15 Change-Id: I4396556038a545beedf599be1a2c61cbde99903a Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* Fix build of the widgets doc snippetsFriedemann Kleint2020-05-071-1/+1
| | | | | | | | | | | | | Rename main() of the graphicsview.cpp snippet to ensure it is not considered a real main() function and prevent future duplicate symbols. Amends 2e1ef96cf8316c9e04303c70ce5bef1c86223ef8. Pick-to: 5.15 Task-number: QTBUG-81497 Change-Id: Ibbb29e17f263ff02d3910852b195b1513b953f75 Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* Make QVector's default ctor constexprMårten Nordheim2020-05-061-1/+1
| | | | | | | Because then other objects can be made constexpr Change-Id: I083d4e664549cf48db1c8f89a873c48b9c558b60 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* QModelIndex/QAIM: improve const correctnessGiuseppe D'Angelo2020-05-062-4/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QAIM::createIndex() takes a non-const void*. It's typically called from inside QAIM::index(), which is a const member function. If the data storage wrapped by the model is const correct, it means that we have to drop constness somewhere before calling createIndex(). To support this: change createIndex() to take a const void * instead. This is painless. Accessing the pointer is a bit more troubling, because the accessor (QModelIndex::internalPointer()) returns void *. (Effectively, now it does a const_cast...). To avoid a massive source break, I've left it alone, and instead added another function to retrieve a const void *. Read-only models can now be fully (deep) const correct. [ChangeLog][QtCore][QAbstractItemModel] The createIndex() function now takes a const void *, rather than a void *. [ChangeLog][QtCore][QModelIndex] Added the constInternalPointer() function, to retrieve the internal pointer as a pointer-to-const. Change-Id: I108912b6814fcd5fe0c5cb7db6c721ba51e83de0 Reviewed-by: Samuel Gaist <samuel.gaist@idiap.ch> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Fix build of rdrand & rdseed with ICC on LinuxThiago Macieira2020-05-061-8/+20
| | | | | | | | | qsimd.cpp(636): error: argument of type "qregisteruint={quint64={unsigned long long}} *" is incompatible with parameter of type "unsigned long *" Pick-To: 5.15 Change-Id: I99ab0f318b1c43b89888fffd160c4785c98adc4d Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Template fetching of pixels for perspective transformed bilinearAllan Sandfeld Jensen2020-05-061-121/+79
| | | | | | | | We already templated the affine fetch logic to de-doublicate code, this does the same with the perspective transform logic. Change-Id: Ief58b8cc36af8abcdd5cbd1c4ca614567c1c99b9 Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* Fix build of the widgets doc snippets after opengl splitFriedemann Kleint2020-05-061-1/+1
| | | | | | | | | | Add the Open GL modules. Amends a426326e99a76a92c8d0c870e19c67311a434483. Task-number: QTBUG-81497 Change-Id: I648c171a1a329bbc7710254b9e7498de221b318b Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* Fix build of the widgets doc snippets on WindowsFriedemann Kleint2020-05-062-2/+2
| | | | | | | | | | | | | - Fix warning about missing return from main() - Turn it into a library to prevent link errors from missing main() (used by winmain()). Amends a426326e99a76a92c8d0c870e19c67311a434483. Pick-to: 5.15 Task-number: QTBUG-81497 Change-Id: Idbcb5c26538ee474bc80387d0a1dae3af7b53744 Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* Port baselineserver from QRegExp to QRegularExpressionLars Knoll2020-05-063-4/+6
| | | | | Change-Id: I1e76345caa560c27ca75204e1b48a69ba2237ae4 Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* Remove some leftover includes of QRegExpLars Knoll2020-05-062-2/+1
| | | | | | | and include qrefularexpression.h in the pch for Qt Core. Change-Id: Ibfa84c911dfcffd3e5a5cf11e48b186cff6e7d7a Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Add a QRegularExpression::fromWildcard() convenience methodLars Knoll2020-05-0611-21/+36
| | | | | | | | | Simplify constructing QRegularExpression objects from a glob pattern. Change-Id: I06f60b1dfea3da969e2474dedd44b6ca5d456d7d Reviewed-by: Simon Hausmann <hausmann@gmail.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Remove QRegExp from the bootstrap libraryLars Knoll2020-05-066-28/+8
| | | | | | | All it's uses have been replaces with QRegularExpression. Change-Id: I5bcdfdd8a39dad6d1288f18f1b24d2eea9e028d2 Reviewed-by: Simon Hausmann <hausmann@gmail.com>
* Remove a bunch of deprecated members from src/gui/painting classesVolker Hilsheimer2020-05-068-448/+1
| | | | | | | | Also remove dead code that isn't compiled anymore in Qt 6 builds. Change-Id: I7a7ae35e61fb2ad9cc21180fb7224357ade1505f Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* QComboBox: Remove deprecated auto-completion propertiesVolker Hilsheimer2020-05-064-165/+26
| | | | | | | | | | | | The replacement is to set, and configure, a QCompleter directly via setCompleter. With the removal of the separate properties in QComboBox, the configuration of the completer is not maintained if the line edit is replaced. A QCompleter is created and set implicitly when the line edit is set, unless the line edit came with a completer. This is what the auto test verifies as well. Change-Id: I9a4c73db5e39a2558aad346c0904be6deb4f1cd2 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* CMake: Document versionless commandsKai Koehne2020-05-0611-88/+603
| | | | | | Pick-to: 5.15 Change-Id: I249c10bf3338b08477ce04f7c2d5098390a6f9a0 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* QGridLayoutEngine: remove now-unused enumMarc Mutz2020-05-061-7/+0
| | | | | | | This enum has since been replaced by Qt::Orientation by way of QHVContainer. Change-Id: I177409652c5de0c5f7b6117f94e26a05c3d609d4 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* QSettings: prepare for QChar::unicode() return type changeMarc Mutz2020-05-061-1/+1
| | | | | | | | | | | The return type will change from ushort to char16_t, and while for the vast majority of the users, this will be a non-breaking change, this code here would fail. Fix by using an auto variable, as it should have been from the onset. Change-Id: I8e3a0f3b38d83434665ee50aa8946b0edbcf133a Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QChar: fix missing warning for construction from char/ucharMarc Mutz2020-05-051-2/+2
| | | | | | | | | | | | Commit eea219732ed79fde65c1074832fb80fdf62d4c30 added the explicit keyword to the QT_ASCII_CAST_WARN constructors of QChar, essentially disabling the intended warning for the char/uchar case, because the compiler would just pick another of the QChar ctors. Fix by removing the explicit keyword again. Change-Id: I65466426cfa471d44c3537fc47620ec8f0fcffcd Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Don't move focus away from previous proxy in QWidget::setFocusProxyVolker Hilsheimer2020-05-052-14/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | This amends 23b998fa454ca021aa595f66d2e1964da4a119a4, and the commits 3e7463411e549100eee7abe2a8fae16fd965f8f6 and 947883141d9d8b3079a8a21981ad8a5ce3c4798e. This change restores the pre-5.13.1 behavior of setFocusProxy to not move focus away from a previously set focus proxy. With the previous changes, focus would move away from a proxy when a new proxy is set, if the old proxy had focus. While there are arguments in favor of this behavior, it is a change of behavior that shouldn't be introduced to 20+ years old functionality in order to fix the real bugs addressed by the initial commits. Instead, move focus only to the new proxy when the focus widget was the widget that gets a focus proxy. [ChangeLog][QtWidgets][QWidget] setFocusProxy no longer moves focus away from a previously set focus proxy, restoring pre-Qt 5.13.1 behavior. Change-Id: Icf2ad7cba5b860014aeef91cb274c442a2ab9d42 Fixes: QTBUG-83720 Pick-to: 5.15 Reviewed-by: David Faure <david.faure@kdab.com>
* uic/Python: import all the classes for QtCore and QtGuiCristian Maureira-Fredes2020-05-052-10/+4
| | | | | | | | | | | We already had this approach for QtWidgets, so to avoid adding the specific cases every time, we import all the classes from QtCore and QtGui. Change-Id: I38dd2eec3bbdfb83f156a48f35a2f4fda44528c7 Pick-to: 5.15 Fixes: PYSIDE-1287 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Emit QScreen::(availableG|g)eometryChanged() on logical DPI changeFriedemann Kleint2020-05-053-11/+25
| | | | | | | | | | | | | | | | When a change in logical DPI occurs due to the user changing the scaling factor, the screen size in device independent pixels may change due to High DPI choosing a different scale factor. Factor out the commonly used code into QScreenPrivate methods and use them from QGuiApplicationPrivate::processScreenLogicalDotsPerInchChange(). Pick-to: 5.15 Task-number: QTBUG-76902 Task-number: QTBUG-79248 Change-Id: I241a0f52d8236a65084d501fb4d8f9faeea89c0f Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* Remove use of std::not1 completelyThiago Macieira2020-05-051-11/+5
| | | | | | | | | | | libc++ that comes with XCode does not have the feature macros, resulting in warnings printed. Just invert the condition in the functor itself. lalr.cpp:316:84: warning: 'not1<Nullable>' is deprecated [-Wdeprecated-declarations] Pick-To: 5.15 Change-Id: I99ab0f318b1c43b89888fffd160bf8d79bc4b47e Reviewed-by: Marc Mutz <marc.mutz@kdab.com>