summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Add executable name to description of Qt tools (Windows)Kai Koehne2017-07-191-1/+1
| | | | | | | | | | | | | | | Change f046ed395a5d2c383 set the default values of VERSION and QMAKE_TARGET_DESCRIPTION for Qt tools to generic ones. The version and description is shown in the properties of the executable, but also used for crash reports. For the latter it wasn't clear anymore which tool actually crashed. The patch therefore adds the executable name to the generic description. Tools can still overwrite the description on their own. Task-number: QTBUG-61970 Change-Id: I8366db22f88f0d6575e7f482f030b3c4f05af6c5 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* xcb: fix freeze when (un)plugging input devicesGatis Paeglis2017-07-192-11/+18
| | | | | | | | | | | | | | | | | | | | .. in an application that has many native windows. We don't need to select XI_HierarchyChangedMask and XI_DeviceChangedMask for every window. It is enough to register one window for these events to update state of our X11 client (application). Furthermore, XIAllDevices and XIAllMasterDevices always apply, even if the device has been added after the client has selected for events. So there is no need to call XISelectEvents on XIAllDevices/XIAllMasterDevices again, if we are not updating event masks. With this patch and the test application from QTBUG-57013, removing/attaching a device takes few hundred milliseconds instead of 23-24 seconds. Task-number: QTBUG-57013 Change-Id: Ieb0b5ee25feef2922f901165825cb4a1289fc852 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Fix race condition in the processEvents testMorten Johan Sørvig2017-07-192-7/+4
| | | | | | | | | | | | | | | | | | This test verifies processEvents(WaitForMoreEvents) behavior by first processing all pending events (in a loop) and then verifying that a following processEvents call actually waits. But there is no guarantee that the OS won’t introduce more events after the first loop has completed. This does indeed seem to happen on recent versions of macOS. Change the test to not require that the processEvents call blocked and de-blacklist. Task-number: QTBUG-61131 Change-Id: Ic8fa74a6085165442791264f6f137a2fa6083138 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* QPMCache::remove(): Do not dereference erased iteratorFriedemann Kleint2017-07-191-1/+2
| | | | | | | | Fixes a crash in tst_QGL::textureCleanup() (developer build). Amends 467b15a20c3d6eb611ea5f6ccffd5fc0df81b0c4. Change-Id: I7026b3c2a27c02a80b995fde67a832dc2d19031d Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Windows QPA: Fix local position reported for enter eventsFriedemann Kleint2017-07-191-4/+5
| | | | | | | | | Use QPlatformWindow::mapFromGlobal() instead of QWindow:::mapFromGlobal() as QPA operates in device pixels. Task-number: QTBUG-62028 Change-Id: I64ec4f4c9a536e122676d738db58805b98a45c82 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* Windows Printer: Handle no default printer caseDaniel Teske2017-07-191-1/+3
| | | | | | | | | GetDefaultPrinter can return ERROR_FILE_NOT_FOUND. In that case just return a empty string. Task-number: QTBUG-53290 Change-Id: Ib0e28b3425d100bc185d1d8827dc6b7fd90cbbeb Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* qmake: Remove last remains of WinCE supportOliver Wolff2017-07-191-3/+3
| | | | | | Change-Id: Ifc2ecee8464710efd02a38b3a9794104f15a0f04 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* winrt: qmake: Fix deployment rules of created solution filesOliver Wolff2017-07-191-2/+3
| | | | | | | | If these rules are not added to the solution, Visual Studio will complain, that the project has to be deployed before it can be run. Change-Id: I6d3fbc949c85b11a92f78e13e2f6a1b92a5cfdc7 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Fix QHighDpi::fromNativeLocalExposedRegion rounding errorsTor Arne Vestbø2017-07-191-4/+4
| | | | | | | | | | | | | | | | | | | | Calling bottom/right/bottomRight on a QRect is discouraged, as it does not give the true bottom-right corner of the rectangle, instead giving a point one unit to the left and top of the true bottom right. Dividing this point by a scale factor of e.g. 2, and then using qCeil on the bottom right x and y coordinates would result in a pointRegion that was 1x1 * scaleFactor larger than it should, manifesting as rendering issues at later stages. We can get away from the whole problem by initially converting the QRect to a QRectF, and basing the pointRegion's rect on the scaled size instead of bottom-right coordinates. Change-Id: I4d4895660655cfa8749c93c7d2573ae79cd7898b Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* tst_QStyle::drawItemPixmap(): Check on the image colorFriedemann Kleint2017-07-193-8/+8
| | | | | | | | | | | | Verify that all pixels of the grabbed image are green instead of comparing an image loaded from file. The test then also passes when High DPI scaling is active in which case a twice as big pixmap with DPR=2 is obtained when grabbing the widget. Change-Id: Ie5244a39a68ea0defd2590cf30f251d660d0869b Reviewed-by: Oliver Wolff <oliver.wolff@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Windows QPA: Do not call enableNonClientDpiScaling() for embedded windowsFriedemann Kleint2017-07-193-2/+8
| | | | | | | | | Do not call if the property indicating embedded windows is set. Task-number: QTBUG-61972 Change-Id: I8f34dd8a59f1e5c9c8064646bcb15acea115cd68 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* tst_QWidget: Fix to pass with High DPI scaling enabledFriedemann Kleint2017-07-191-4/+5
| | | | | | | | | Scale coordinates in a few places, remove pixmap scaling in grabWindow() (Windows). Change-Id: Iba9e5d3ca55422a14eda09c8d04329a455d3acb3 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Windows QPA: Compare against correct geometry when checking for fullscreenFriedemann Kleint2017-07-191-1/+1
| | | | | | | | Do not scale the QPlatformScreen's geometry. Fixes tst_QWidget::showFullScreen() when run with a scale factor. Change-Id: I4a2e743303ff70b01fd3d2086281a790737d2c1d Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* QFile::rename: use the open file's ID, instead of using the file nameThiago Macieira2017-07-189-3/+66
| | | | | | | | | | | To do that, we needed to add virtual id() in QAbstractFileEngine and override it in QFSFileEngine. It might be useful to return other types of IDs for the other file engines, but this commit does not attempt that just yet. Change-Id: I1eba2b016de74620bfc8fffd14ccafe0762b3c38 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QSystemError: Make it format unknown Windows messagesThiago Macieira2017-07-181-0/+3
| | | | | | | Can happen if we're using HRESULT from weird facilities. Change-Id: I3d10feaa2e5854ff3c01b32dbd068309e5131d1b Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Convert improper uses of qt_error_string() to QSystemError::stdString()Thiago Macieira2017-07-184-15/+17
| | | | | | | | | On Windows, qt_error_string() returns the string corresponding to the Win32 API, not an errno. Replace those uses for a function that works for errno values. Change-Id: I1eba2b016de74620bfc8fffd14ccce6162bafdca Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Merge qt_error_string and QSystemErrorThiago Macieira2017-07-184-97/+42
| | | | | | | | | | | | | | | | | | | | | | This removes a lot of duplicated code that existed in both qglobal.cpp and qsystemerror.cpp, including the hack to get the correct strerror_r signature. This removes the incorrect use of EACCES, EMFILE, ENOENT, and ENOSPC from qt_error_string on Windows. qt_error_string is supposed to be used only with Win32 error codes from GetLastError(), despite there being a lot of uses in cross-platform and even Windows-specific code that pass errno constants. It may or may not work: that depends on whether the constants happen to match. ENOENT matches ERROR_FILE_NOT_FOUND and one could argue that ENOSPC matching ERROR_OUT_OF_PAPER is acceptable, but EMFILE isn't the same as ERROR_BAD_LENGTH nor is EACCES, ERROR_INVALID_DATA. Change-Id: I1eba2b016de74620bfc8fffd14cccb7f77f4b510 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Kai Koehne <kai.koehne@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QFileSystemEngine::id/Windows: Use the volume ID tooThiago Macieira2017-07-181-5/+7
| | | | | | | | | | | The MS documentation says that the high/low parts uniquely identify a file within a system, but they actually mean the filesystem. The details on how it's allocated make that clear. So we need the volume identifier. Change-Id: I658f552684924f8aa2cafffd14cfc03c5a09c0e9 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Kai Koehne <kai.koehne@qt.io> Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
* Doc: QLoggingCategory::setEnabled() should only be called in filterKai Koehne2017-07-181-6/+5
| | | | | Change-Id: Ib159c45ca259af125e48e3dfe59d64abc5f81f81 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Doc: Clarify limitations of category filterKai Koehne2017-07-181-2/+2
| | | | | | | As suggested by ogoffart. Change-Id: I15747869147819799b14dfe0670ff2225f76fc03 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* Doc: Fix snippet for QUrl::isValid() documentationKai Koehne2017-07-181-1/+1
| | | | | | | | qDebug(...) expects a const char *, not a QString. Change-Id: Ie4489c29440e328a732ed026eae3859eb8855ea5 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* QAsn1Element - fix toDateTime functionTimur Pocheptsov2017-07-182-3/+58
| | | | | | | | | | | | | ASN UTCTime uses two characters to encode a year (YY). When converting it into QDate, it's quite naive to just add 2000. According to RFC 2459, these YY represent dates in the range [1950, 2049]. This patch also introduces a helper function doing the checked conversion from a string to int (to be reused in the following-up patches). Task-number: QTBUG-61934 Change-Id: I3f6f471d24e8357b83b2f5973023b2b842751389 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* testlib: Allow tailing comments in blacklist filesTor Arne Vestbø2017-07-181-3/+7
| | | | | | | Task-number: QTBUG-61987 Change-Id: I27219a6d06d7a81514e3f7b2ad5469676f724e04 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Read more KDE configuration in the KDE platform themeAllan Sandfeld Jensen2017-07-181-9/+40
| | | | | | | | | | Adds the hints that are read and used by the plasma-integration platform theme, so naked Qt applications can integrate just as well on this front. Change-Id: I45a113e0081ea96c8cf543c22b28b69280ae7619 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: David Faure <david.faure@kdab.com>
* Revert "Windows: Fallback to d3d9 when in a VM on VMWare Workstation 12"Andy Shaw2017-07-171-12/+0
| | | | | | | | Revert SHA1 - b1708efeeb31242a4a0d932f42caf3808b00bc28 as it causes a problem with QtMultimedia. Change-Id: I0ba366fa6ddccff3715917f5f455b20c73c2e49e Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* macOS: Don't assume the proposed fullscreen size matches the screen sizeTor Arne Vestbø2017-07-171-3/+3
| | | | | | | | | Sometimes AppKit will pass in a proposed size that's smaller than the geometry of the screen. We don't know why, but shouldn't assert. Change-Id: I9970c5f587e1e0fb3f2fa932de5a32ac4e1eb76d Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Do not wait in QWindowsPipe{Reader|Writer}::stop()Joerg Bornemann2017-07-174-14/+30
| | | | | | | | | | | | | | | | | | | | | | A deadlock can occur if the user does QLocalSocket *ls = new QLocalSocket; ls->moveToThread(t); ... delete ls; Then QLocalSocket calls QWindowsPipeReader::stop() in a different thread than the I/O operation is running in. The waitForNotified(-1) call would then wait indefinitely until the I/O thread is in alertable wait state again. Especially on application shut down this might never be the case, and the application would deadlock. Solve this by detaching the Overlapped object from the QWindowsPipe{Reader|Writer} in stop() and delete it in the callback. Task-number: QTBUG-61643 Change-Id: Ie262d75c5fd92ac7cf7dfcdbf1519050be9fd3c4 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* Allow fusion style to follow platform theme on button iconsAllan Sandfeld Jensen2017-07-171-1/+0
| | | | | | | | | | | | Do not try to set the default value of dialog buttons in fusion, but let the common style handle it that asks the platform theme. This adds icons to dialog buttons on platforms that usually has that (such as KDE). Change-Id: I29cfa49cfd993224220bc992c523f5b2df20870d Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: David Faure <david.faure@kdab.com>
* Doc: Update docs for QMAKE_MACOSX_DEPLOYMENT_TARGET in qmake ManualLeena Miettinen2017-07-171-6/+5
| | | | | | | | The old docs contained obsolete information. Also, the new docs match the new docs for the other Apple OS deployment targets. Change-Id: Id773fa2086f291d8a2552fe1b339ec1e13c19d74 Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* Doc: Add Apple OS deployment targets to the qmake ManualLeena Miettinen2017-07-171-1/+25
| | | | | | | | | | | The following variables were not documented: - QMAKE_IOS_DEPLOYMENT_TARGET - QMAKE_TVOS_DEPLOYMENT_TARGET - QMAKE_WATCHOS_DEPLOYMENT_TARGET Change-Id: I5cfb6c0024d92e943aed882fd01bc2a4f2c7c042 Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* Fix warning messages in QWindowsPipeReader/WriterJoerg Bornemann2017-07-172-2/+2
| | | | | | | | | We forgot to update the warnings when removing qt_cancelIo. Also, use %p instead of %x, because HANDLE is void*. This amends commit fade2958. Change-Id: Ia11d7d094aa6beb939e0be4bbe4ab3654eaa1c02 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* Update OS version constants in qsystemdetection.hJake Petroules2017-07-161-0/+18
| | | | | | Change-Id: I8c8fa8861280948bf8488c4465a359858bb625e0 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QDialogButtonBox: Don't overwrite shortcut with standardButtonShortcutKai Uwe Broulik2017-07-151-1/+3
| | | | | | | | | | | | | de63bbd2f806b0219a60775017899cedb121581f introduced a new QPlatformTheme::standardButtonShortcut which would then unconditionally overwrite the QPushButton shortcut, even when empty, breaking activating mnemonics potentially included in the button's text. Task-number: QTBUG-61197 Change-Id: I2a5a460a820a5ab4054eb44f349066aaeca1436f Reviewed-by: Marco Martin <notmart@gmail.com> Reviewed-by: Alexander Volkov <a.volkov@rusbitech.ru> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Convert features.treeview to QT_[REQUIRE_]CONFIGStephan Binner2017-07-1516-37/+47
| | | | | Change-Id: I4a036a0410615ac563b17f7715c47acccb8abfca Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* Fix CONFIG+=silent for MSVC non-inference rulesJoerg Bornemann2017-07-141-2/+7
| | | | | | | | | | | | | | | silent.prf modifies the compiler commands by prefixing them with a silencing echo command. For MSVC, the used $< syntax is only valid in inference rules. However, the PCH rule is not an inference rule and breaks when silent.prf is used. Remove the echo command for MSVC. The compiler already outputs the currently compiled file. There's no need to do it twice. Task-number: QTBUG-61688 Change-Id: I7e2c1211e471c9c149c16cac8e87406e88ee2d97 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* Add missing #include for -no-widgetsStephan Binner2017-07-141-0/+1
| | | | | | Task-number: QTBUG-61780 Change-Id: I62fccc6474965278cb1b258b512fda3b60f995f3 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* Examples: Remove remains of winceFriedemann Kleint2017-07-1413-65/+16
| | | | | | | | | | | Task-number: QTBUG-52590 Task-number: QTBUG-60628 Task-number: QTBUG-60633 Task-number: QTBUG-60635 Task-number: QTBUG-60641 Task-number: QTBUG-60659 Change-Id: I9ffc3e25893d2281b19cc12b70e1a92fb2a8b708 Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* Bump copyright year of qdbuscpp2xml and qdbusxml2cpp to 2017Alex Blasche2017-07-142-2/+2
| | | | | Change-Id: I7be6f45d359db813b15a3754b3ed203cb829a3d0 Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* Fix empty "Command line was" string in generated source filesAlex Blasche2017-07-141-0/+5
| | | | | | | Task-number: QTBUG-61370 Change-Id: If829a889acfe092adad4ac443d71e63b67ba7f55 Reviewed-by: Kai Koehne <kai.koehne@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Add missing constexpr specifier to two iteratorsMårten Nordheim2017-07-142-6/+6
| | | | | | | | | | | The classes themselves and their equality operators are used in constexpr functions/ctors (in QKeyValueIterator) so Visual Studio 2017 expects them to be marked constexpr as well. Currently this causes a compilation error when instantiating a QKeyValueIterator using either of these iterators. Change-Id: I2e3eeaf3b3f11f381a63875e6575dfd82fe56fcb Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Doc: Improve documentation about append, prependKai Koehne2017-07-131-12/+12
| | | | | | | | | The references to the this pointer look somewhat alien in the documentation, because it isn't part of the signature. Rather make the relationship explicit. Change-Id: I6de516e165ea6e9c4ee2898836e9490fbaf4545c Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QLineEdit: Fix length calculation for input mask "\\\\"Daniel Teske2017-07-132-4/+21
| | | | | | | | | | | Consider the raw string \\\\. The previous algorithm would consider the last 3 \ to be escaped because the previous character is a \ and thus calculating a maxLength of 3. But this should be treated as two escaped \ with a maxLength of 2. Change-Id: I6c4b8d090a2e1c6e85195d5920ce8b80aea1bc2d Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* Fix documentation of QEvent::LanguageChange propagationSimon Hausmann2017-07-131-2/+2
| | | | | | | | | | | | The documentation claims that QGuiApplication forwards the top-level windows. However this appears to be a search & replace mistake from the QApplication <> QGuiApplication separation times. Only QApplication forwards the event to top-level widgets and changeEvent() is a virtual method of QWidget. Nothing is implemented for plain QGuiApplication and QWindow. Change-Id: I71b05ecebc90f7c28e150590764438ebaa90e88f Reviewed-by: Michael Brasser <michael.brasser@live.com>
* macOS: Fix unused variable in window:willUseFullScreenContentSize:Tor Arne Vestbø2017-07-121-0/+1
| | | | | | Change-Id: I419f884f4145dbe2b60751bf6cde3968cf34fe4a Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* QMacStyle: Remove unused variable warningGabriel de Dietrich2017-07-121-1/+1
| | | | | Change-Id: Id6116ad110ac39898e9c44ae41c6d7eec96f58d7 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Handle conversion and comparison between qvarianthash and qvariantmapAllan Sandfeld Jensen2017-07-112-0/+20
| | | | | | | | | QVariant claims to be able to QVariantHash and QVariantMap, but the actual conversion implementation is missing. Task-number: QTBUG-61471 Change-Id: I0cba74642aa77dc423effed289bc7619922a89eb Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Doc: fix paintEvent() function casingMitch Curtis2017-07-111-1/+1
| | | | | Change-Id: I66ef1c25259499147100413753fdc80b01dc49f6 Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
* Fix buffer overflow in text blendingAllan Sandfeld Jensen2017-07-111-4/+4
| | | | | | | | | Clip buffers being converted to those being worked on so we don't write outside the lines. Task-number: QTBUG-61863 Change-Id: Icc7c6c0946fa522b5afeca0663fc2b45151b1897 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Windows QPA: Fix build with draganddrop disabledFriedemann Kleint2017-07-111-1/+3
| | | | | | Task-number: QTBUG-61885 Change-Id: Ibb4a7ac43785dcdb46afcd5c2081e43df7d9e9a5 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* iaccessible2.pri: Fix architecture detectionFriedemann Kleint2017-07-111-5/+1
| | | | | | | | Use QT_ARCH instead of legacy QMAKE_TARGET.arch, which is not defined for MinGW. Change-Id: I5a1298321f696cf1bc30613283174ecfa0139600 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>