summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* doc: minor cleanup in QPlatformWindow::setGeometry()Gatis Paeglis2017-07-251-2/+3
| | | | | | | | | | This patch amends a4c8129. This is more consistent with other parts in QPlatformWindow docs. Change-Id: I26d7a91849f3fde3ab2a0f3c81e00a5f9c830707 Reviewed-by: Jesus Fernandez <Jesus.Fernandez@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Fix tst_QAbstractItemView::task200665_itemEnteredTor Arne Vestbø2017-07-251-2/+2
| | | | | | | | Moving the cursor is not synchronous. Change-Id: I6b820af026585e1fcfef845cc712fa8f6812e941 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Enable IAccessible2 for MinGWFriedemann Kleint2017-07-258-38/+49
| | | | | | | | | | | MinGW 5.3 is able to compile the IAccessible2 classes. All that is needed is some way to provide the missing IIDs, which is done via specialization of a function template (similar to the MinGW's __uuidof operator). [ChangeLog][Windows][Accessibility] MinGW builds now support IAccessible2. Change-Id: I218a4b89c81b54aa96f7c743544388631ca9a53e Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
* Improve symmetry of variant json conversionsAllan Sandfeld Jensen2017-07-252-23/+152
| | | | | | | | Make QVariant::toJsonValue do conversions as well as QJsonValue::fromVariant. Change-Id: I175d43677061470691e2e0104a800be355fbbd3d Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Fix some qdoc warnings for 5.10Friedemann Kleint2017-07-255-10/+10
| | | | | | | | | | | | | | | | src/corelib/io/qfiledevice.cpp:741: warning: Can't link to 'setFileName()' src/corelib/io/qfiledevice.cpp:772: warning: Can't link to 'setFileName()' src/corelib/io/qfiledevice.cpp:790: warning: No such parameter 'time' in QFileDevice::setFileTime() src/corelib/io/qfiledevice.cpp:790: warning: Undocumented parameter 'fileTime' in QFileDevice::setFileTime() src/corelib/io/qfileinfo.cpp:1344: warning: Can't link to 'FileTime' src/corelib/kernel/qcoreapplication.cpp:2007: warning: Can't link to 'isTranslatorInstalled()' src/gui/opengl/qopenglextrafunctions.h:468: warning: No documentation for 'QOpenGLExtraFunctions::glBlendBarrier(void )' src/gui/opengl/qopenglextrafunctions.h:494: warning: No documentation for 'QOpenGLExtraFunctions::glGetGraphicsResetStatus(void )' src/gui/opengl/qopenglextrafunctions.h:475: warning: No documentation for 'QOpenGLExtraFunctions::glPopDebugGroup(void )' src/sql/models/qsqlquerymodel.cpp:217: warning: Unknown command '\override' Change-Id: Ide0ce911f6faf964fda8f32fac433da7d2cb11de Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QFileSystemEngine: Remove the remainder of Windows XP functionsThiago Macieira2017-07-256-58/+27
| | | | | | | | | The attempt at loading these functions at runtime with WinRT always failed, so stop trying. Change-Id: I658f552684924f8aa2cafffd14cfc5179ac08498 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QFileSystemEngine: remove dynamic finding of Windows XP functionsThiago Macieira2017-07-252-84/+54
| | | | | | | | | (one of them is even from Windows 2000) We just need to link to userenv.dll now. WinRT is not affected. Change-Id: I658f552684924f8aa2cafffd14cfc4b785a1d55c Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* macOS: Blacklist flakey test tst_QMenu::tearOff()Tor Arne Vestbø2017-07-241-0/+2
| | | | | | Change-Id: Id220f10f4ff756230155c7c8f37713d53ed3ca0c Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* macOS: Blacklist tst_QMenu::pushButtonPopulateOnAboutToShowTor Arne Vestbø2017-07-241-0/+2
| | | | | | | | | It's flakey/failing on macOS, the menu is opened but opened above the button, so the intersection test fails. Change-Id: I6b13a1b0df2b07fa36bbb73071cdeb55547ac93a Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Fix warning about self assignFrank Meerkoetter2017-07-231-3/+2
| | | | | | | | | | ...tst_qlineedit.cpp:1938:9: warning: explicitly assigning value of variable of type 'Qt::Key' to itself -Wself-assign] key = key; ~~~ ^ ~~~ Change-Id: I18a46f61e13f6e2c74edce869a1c36a7f3a0fb70 Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* xcb: use default member initialization in structGatis Paeglis2017-07-222-4/+1
| | | | | | | | | | ... for better localization. This is not possible in C, but in C++ a struct has the same features as a class. Thus, use default member initialization feature (available since C++11). Change-Id: I91522c3a4fe4270c37bb6e85fddeb5970a847352 Reviewed-by: Alexander Volkov <a.volkov@rusbitech.ru> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* macOS: Blacklist tst_QComboBox::task_QTBUG_56693_itemFontFromModelTor Arne Vestbø2017-07-221-0/+4
| | | | | | | | | | | Counting draw calls in the style is not a reliable way to count italic items in the combobox. Task-number: QTBUG-62080 Change-Id: I6cb6d54535f073f66cfcf61bb19eb645284c835d Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Fix tst_QListWidget::QTBUG50891_ensureSelectionModelSignalConnectionsAreSetTor Arne Vestbø2017-07-211-2/+1
| | | | | | | | | | Don't assume signals will not be emitted during show. The test should focus on testing that changing the model results in change signals. What happens before that is not under test, and not stable. Change-Id: I71e62abc15fc81c069d7685e4342e795449c3632 Reviewed-by: Jake Petroules <jake.petroules@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Deprecate and remove the unused bearer support in QNetworkProxyThiago Macieira2017-07-214-161/+32
| | | | | | | | | | | | | | | | This hasn't done anything since at least Qt 5.0. It's possible it was only used in Symbian, which we removed before the 5.0 release. This only served to make the tst_QNetworkProxyFactory test slow. [ChangeLog][QtNetwork][QNetworkProxy] The functions related to QNetworkConfiguration are deprecated. They've performed no action since Qt 5.0, so code using them can safely stop doing so. Change-Id: I84e45059a888497fb55ffffd14d31b7c2978a04e Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Jesus Fernandez <Jesus.Fernandez@qt.io> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* macOS: Blacklist tst_QMenu::layoutDirectionTor Arne Vestbø2017-07-211-0/+3
| | | | | | | | | | | | It's failing when enabling synchronous expose events, but likely due to making assumptions about expose behavior. Will be looked at in more detail once the expose event patch is in, so we can move forward. Task-number: QTBUG-62092 Change-Id: Ie76b5f11ccf841981a42d2eda19fbcda8b43c36c Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Move toString calls after their definitionTimo Aarnipuro2017-07-212-12/+18
| | | | | | | | | | | Move two functions that are using toString(const QString &str) from qtestcase.h to qtest.h. This fixes compilation on INTEGRITY platform. Task-number: QTBUG-61702 Change-Id: I5a433126741c7a52621616c5b98203e7d642b330 Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io> Reviewed-by: Samuel Gaist <samuel.gaist@edeltech.ch> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Add a safety check to prevent apps from running on unsupported OSesJake Petroules2017-07-213-0/+35
| | | | | | | | | | | | Although Qt declares its minimum supported OS version to the compiler and linker, the OS ignores this information when loading shared libraries, so instead of failing with a useful error message, the program will simply crash at runtime. This attempts to bring that failure as early in the lifecycle as possible, and provide a better error message as well. Change-Id: Ic58b44f8895eac718c94e62cad6e2506dbea8a7e Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QLineEdit: Add selectionEnd() and selectionLength()Daniel Teske2017-07-203-0/+42
| | | | | | | | | | Getting the end position of the selection was not possible. [ChangeLog][QtWidgets][QLineEdit] Added selectionEnd(), selectionLength(), complementing selectionStart(). Change-Id: Iaecc624063d7c043f9502351f07eb76f869e86f1 Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* Merge "Merge remote-tracking branch 'origin/5.9' into dev" into refs/staging/devSimon Hausmann2017-07-2067-296/+418
|\
| * Merge remote-tracking branch 'origin/5.9' into devSimon Hausmann2017-07-1967-296/+418
| |\ | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/io/qwindowspipewriter.cpp src/widgets/styles/qcommonstyle.cpp Change-Id: I0d33efdc4dc256e234abc490a18ccda72cd1d9e6
| | * 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>
* | | Add "<APPDIR>/data/<APPNAME>" to the non Generic paths on WindowsHannah von Reth2017-07-202-4/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <APPDIR> was initially thought to be app-specific but is in fact more used as a kind of vendor prefix, where one vendor (e.g. KDE) can install many applications into the same APPDIR. [ChangeLog][QtCore][QStandardPaths] On Windows, QStandardPaths now also looks into "<APPDIR>/data/<APPNAME>" for non-generic paths. Change-Id: I426d97d61cc229bad0f5a2a4eb061e349de6681e Reviewed-by: David Faure <david.faure@kdab.com>
* | | key-value iterator: Remove constexpr from equality operatorsFriedemann Kleint2017-07-201-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes the build with MSVC2017. Amends ae292be8690109940fdd9862321b2389a0957404. Task-number: QTBUG-62052 Change-Id: Ibb55e4e93815da8077961e68525e3cb8dc6807b0 Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* | | Fix QMacTimeZonePrivate::previousTransition() for early after epochEdward Welbourne2017-07-201-18/+70
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The native APIs don't support previous transition, only next after a stipulated date. The prior code started its search at the epoch; if used for a time before the first transition after the epoch, this found no transitions so returned invalid data, when the last transition before the epoch would have been suitable. It also wound through all transitions since the epoch, on its way to the selected time, which was potentially laborious. Instead, start a year before the stipulated time; this should get a transition if the zone uses DST. If it doesn't, start with the first known transition and binary-chop our way to one within a year of the last before the stipulated time; then wind forward one transition at a time, as before. The chopping is actually faster than binary: each time we find a transition after the interval mid-point but early enough, we move the early end of our interval to the transition, which is later than the old interval's middle. Using halving, starting with a vast interval, should thus only incur modest cost, while ensuring we give up early when no transition data is available at all or the zone's first transition ever was after the stipulated time. Change-Id: I96c14540fc2600837e6a22e480fb8dc36cb37220 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>