summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix crash when running tst_qlbuffers under AngleSimon Hausmann2017-06-281-1/+1
| | | | | | | | Angle does not support glGetBufferSubData. Task-number: QTQAINFRA-1199 Change-Id: I17f99027cc374131965d6589d2babacb75f9174a Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* xcb: Use QT_CONFIG macro to check for xcb-xlibAlexander Volkov2017-06-2815-42/+32
| | | | | | | | | | | | | | | | | | | | | | | | ... and remove the XCB_USE_XLIB define. This patch also removes the unnecessary checks for xcb-xlib in: - qxcbglxintegration.cpp as this files is build _only_ when xcb-xlib is present. From gl_integrations.pro: qtConfig(xcb-xlib):qtConfig(opengl):!qtConfig(opengles2) { SUBDIRS += xcb_glx } This also would have been the right place where to define XCB_USE_XLIB, instead of unconditional line in xcb_glx.pro: DEFINES += XCB_USE_GLX XCB_USE_XLIB - qxcbnativeinterface.cpp as this cpp file does not use any Xlib APIs directly, there is no need to include Xlib.h. Change-Id: I531b5f1e79606fcfd1c63810cf51b7d5e9dc58a7 Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
* xcb: rename arg in QXcbBackingStore ctorGatis Paeglis2017-06-281-1/+1
| | | | | | | | ... as it is a window, not widget. This matches the name from cpp file: QXcbBackingStore::QXcbBackingStore(QWindow *window). Change-Id: Ib9f69cbe80ea645bbce0e4f5ef24a8df8808b823 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* QGbkCodec: Initialize buf arraysFriedemann Kleint2017-06-281-2/+2
| | | | | | | | | | | Fix developer build with GCC 7, which complains: codecs\qgb18030codec.cpp:387:37: error: 'buf[1]' may be used uninitialized in this function [-Werror=maybe-uninitialized] codecs\qgb18030codec.cpp:8908:17: error: 'buf[0]' may be used uninitialized in this function [-Werror=maybe-uninitialized] codecs\qgb18030codec.cpp:536:37: error: 'buf[1]' may be used uninitialized in this function [-Werror=maybe-uninitialized] codecs\qgb18030codec.cpp:535:37: error: 'buf[0]' may be used uninitialized in this function [-Werror=maybe-uninitialized] Change-Id: I7e98355c625276c74792707f22d4318c0cc9be6a Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* Fix current tab text color on Mac when a proxy style is installedGabriel de Dietrich2017-06-282-4/+6
| | | | | | | | | | | | | We move the code forcing white text on the current tab to QMacStyle. This removes the small encapsulation violation even though we need to check for the tab text color in the style and modify the palette. Amends 2fbc1432025dd478cf9e940e3c2a1952b218c6dc. Change-Id: If31dc11ae389ee5315e84ab03cf1c08540d81640 Reviewed-by: Błażej Szczygieł <spaz16@wp.pl> Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* xcb: Increment iterator inside bgr888 region loopBłażej Szczygieł2017-06-281-1/+1
| | | | | | | Amends 9c1d3bc253abd4418f3050d19ec5f05bef3ada97. Change-Id: I912096794d274617e5b290dfb42685088cd49b23 Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* macOS: Send text input and key events to focus object of window, not appTor Arne Vestbø2017-06-261-11/+8
| | | | | | | | | | | | | | | | The key events and input method callbacks coming from Cocoa are targeted at our specific NSView, so we should deliver them to the focus object of the corresponding QWindow, not the global application focus object. This means that we'll deliver key events to windows also when they are not key (active), but this is intentional, as we would otherwise fail to deliver input method events coming from e.g. the emoji/symbol picker, which steals the key window when active. Task-number: QTBUG-61359 Change-Id: I61326c08ad8bbd0c535b3cc8a67d0ceeec7ee910 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io> Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* macOS: Work around buildup of NSDisplayCycle objects during rapid paintingTor Arne Vestbø2017-06-261-0/+8
| | | | | | | Task-number: QTBUG-60012 Change-Id: Id5291f768a4b9d8d9c77804cb697e0c9fb151012 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* ATSPI: correct configure warning message when ATSPI is missingThiago Macieira2017-06-251-1/+1
| | | | | | | | | | | | | This threw me for a loop: Qt D-Bus ............................... yes Qt D-Bus directly linked to libdbus .... yes [...] Note: Disabling Linux Accessibility Bridge: D-Bus is missing. Also, this is not the Linux bridge, since I was running on FreeBSD. Change-Id: I1d5a585d4af842f9a66ffffd14c99ab2a8d648de Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
* Merge remote-tracking branch 'origin/5.9.1' into 5.9Tor Arne Vestbø2017-06-251-1/+1
|\ | | | | | | Change-Id: Ie585425d2d8d05c6ead283b70b88b00e1e3dc1fe
| * Merge 5.9 into 5.9.1Oswald Buddenhagen2017-06-1951-526/+385
| |\ | | | | | | | | | Change-Id: I229386dc3e0283dc7e5ad1c580ffcb335c67601c
| * | Revert "QWidgetEffectSourcePrivate::draw(): Call render() when no shared ↵Friedemann Kleint2017-06-141-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | painter exists" The change causes drawing artifacts in Qt Creator. This reverts commit 8b1377fde16a2049a1c27f6d005bff84a8f85f28. Task-number: QTCREATORBUG-18322 Task-number: QTBUG-60231 Change-Id: Ic05507b0c23ea612fa5a9b92163380059b6e710d Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* | | Moc: Don't error out when parsing namespace __identifier(...)Olivier Goffart2017-06-191-0/+3
| |/ |/| | | | | | | | | | | | | | | Present for example in the Windows's Atlbase.h header. We should not abort the compilation, just ignore that construct Task-number: QTBUG-56634 Change-Id: Id6e4c9f03cb1cef46e330f4fbcae80ce4f3730c6 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Android: fix missing wheel eventsJ-P Nurmi2017-06-183-0/+40
| | | | | | | | | | | | Change-Id: I65b4f6a8fcbdad537a984064e332a4a1f34a265a Task-number: QTBUG-43669 Reviewed-by: BogDan Vatra <bogdan@kdab.com>
* | Fix reading qle_signedbitfield as intAllan Sandfeld Jensen2017-06-181-1/+1
| | | | | | | | | | | | | | | | | | The type-cast to int for qle_signedbitfield was wrong for all cases where width + pos != 32. The class is currently only used two places though, both where that happen to apply. Change-Id: I108c565b75c9f29dd49b5e2e39f84910d17ead85 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | rename qglobalstatic.cpp -> qglobalstatic.qdocOswald Buddenhagen2017-06-172-3/+0
| | | | | | | | | | | | | | | | it contains no code. Change-Id: Ie8a43abb2db3d040f7046206adf2bf555960dd9c Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | rework detection and use of clock_gettime()/librtOswald Buddenhagen2017-06-172-8/+12
| | | | | | | | | | | | | | | | recent versions of glibc include clock_gettime() inside libc itself. Task-number: QTBUG-41009 Change-Id: I7401773be99682a356bf06a69571d11c4b15978b Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | make sql drivers independently configurableOswald Buddenhagen2017-06-176-16/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | our binary packages come without many sql drivers, because they have proprietary dependencies we cannot ship. not every user wants to build all of qt from scratch, so it makes sense to make it possible to "enrich" the existing installation by compiling just the drivers. to enable this, the drivers' configuration must be independent. but note that it's still not possible to configure a single driver - the entire sqldrivers directory is configured at once. a side effect of this is that the availability of the sql plugins cannot be made known with publicFeatures any more, because there is no associated module pri file to put that information into. that should be made inconsequential by making qtHaveModule() work for plugins. Task-number: QTBUG-58372 Change-Id: Ibdebe3199688a57f93cea82dc15623081d1280f5 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | xcb: Remove XIproto.h include from qxcbxsettings.cppAlexander Volkov2017-06-161-12/+3
| | | | | | | | | | | | | | | | | | | | | | It indirectly includes X.h with LSBFirst and MSBFirst macros. Use XCB_IMAGE_ORDER_LSB_FIRST and XCB_IMAGE_ORDER_MSB_FIRST macros instead and remove unneeded XCB_USE_XLIB guards. Change-Id: Ic24c9605d0a627253f2793f9feab6c6e19dcda08 Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io> (cherry picked from commit 538b9f504c0de11c473a40aed66df9900ac1c6c4) Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* | Direct2D: Fix build with MinGW 7.1Friedemann Kleint2017-06-141-1/+2
| | | | | | | | | | | | | | | | | | | | | | qwindowsdirect2ddevicecontext.cpp:92:105: error: format '%x' expects argument of type 'unsigned int', but argument 4 has type 'HRESULT {aka long int}' [-Werror=format=] qWarning("%s: EndDraw failed: %#x, tag1: %lld, tag2: %lld", __FUNCTION__, hr, tag1, tag2); Change format to long and cast argument to long for extra safety (should some obscure MinGW header define another type). Change-Id: I7e6cb8ea1e5c27ef104b162ced9a696ab252fd8d Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | winrt: doc: Update platform limitations for UWPMaurice Kalinowski2017-06-141-0/+11
| | | | | | | | | | | | | | | | | | UWP only allows clipboard access when the app is active and has focus. Task-number: QTBUG-60900 Change-Id: Ia69642740d894106875cef77adf48e934bae9c87 Reviewed-by: Martin Smith <martin.smith@qt.io> Reviewed-by: Nico Vertriest <nico.vertriest@qt.io>
* | Add warning about missing but required CPU featuresThiago Macieira2017-06-131-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Useful to debug why you're getting SIGILL, like running under Valgrind: Processor features: sse3[required] sse2[required] ssse3[required] fma cmpxchg16b sse4.1[required] sse4.2[required] movbe popcnt[required] aes[required] avx[required] f16c[required] bmi[required] avx2[required] bmi2[required] !!!!!!!!!!!!!!!!!!!! !!! Missing required features: rdrand rdseed !!! Applications will likely crash with "Invalid Instruction" !!!!!!!!!!!!!!!!!!!! Change-Id: Ia3e896da908f42939148fffd14c556557419b091 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Follow KDE settings for menu and toolbar fontsAllan Sandfeld Jensen2017-06-131-0/+8
| | | | | | | | | | | | | | | | Makes pure Qt applications integrate better when those fonts don't match the general fonts. Change-Id: Ic06e8595efc44f0c6649cf364e751c4c714cda93 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* | Remove message of integrityfb from config summaryKimmo Ollila2017-06-131-1/+0
| | | | | | | | | | | | | | | | | | This cleans the config summary output Change-Id: I4e78f00c722e646a730906d462f7632d6012a6d8 Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Tero Alamaki <tero.alamaki@qt.io>
* | uic: Fix possible crash when reading the size hint propertyJarek Kobus2017-06-131-3/+4
| | | | | | | | | | | | | | | | It may crash on (probably a bit broken) qtbase/src/printsupport/dialogs/qpagesetupwidget.ui Change-Id: Ibca95a3d8aa4899adbc952aee7b46621ac888c6a Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* | ANGLE: Fix crash with ltcg on Visual Studio 2015 Update 3Oliver Wolff2017-06-134-11/+121
| | | | | | | | | | | | | | | | | | | | | | | | | | Release builds of applications that used Qt configured with "link time code generation" crashed (memory access violation), when calling GetInternalFormatInfo in Context::initCaps. It looks like this is a compiler problem that can be avoided by not using a reference for the return value. Task-number: QTBUG-55718 Change-Id: Ic1fb95d7b518a49859f41c819e860864387a8d3c Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | QLogging: Fix unused static function warningOrgad Shaneh2017-06-131-1/+1
| | | | | | | | | | | | | | Detected by clang Change-Id: Ia7d1bf085d838d19319ee1060dcb3c0086a510e4 Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* | Use QMap in QProcessEnvironment so variables are sortedThomas Sondergaard2017-06-133-23/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The motivation for this change is to make it simple to pass a correctly sorted environment block to Win32 CreateProcess(). It is also nice in other contexts that the environment variables are sorted. The change is made for all platforms. This keeps it simple and the only ill effect is slightly slower lookups. Concerning the environment block passed to Win32 CreateProcess: The environment block that is passed to CreateProcess() must be sorted case-insensitively and without regard to locale. See https://msdn.microsoft.com/en-us/library/windows/desktop/ms682009(v=vs.85).aspx The need for sorting the environment block is also mentioned in the CreateProcess() documentation, but with less details: https://msdn.microsoft.com/en-us/library/windows/desktop/ms682425(v=vs.85).aspx Task-number: QTBUG-61315 Change-Id: Ie1edd443301de79cf5f699d45beab01b7c0f9de3 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Rename QProcessEnvironmentPrivate::hash to varsThomas Sondergaard2017-06-135-30/+30
| | | | | | | | | | | | | | | | | | Also use auto for iterators to vars. This is a small refactoring in preparation for changing type of vars to QMap. Task-number: QTBUG-61315 Change-Id: I5731d7916b6f54a0da5be2da378c09a7688bd870 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | qsslsocket_mac - check that SecCertificateRef is not nullTimur Pocheptsov2017-06-131-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | That's the only place there we can potentially pass a null pointer to CFArrayAppendValue (all other calls are conditionally-protected). This results in (surprise! ... ?) Objective-C exception (while we call something that is a pure-C API). So far we cannot reproduce this crash and can only speculate: probably this happens with invalid (can be either really invalid or the result of our generic QSslCertificate's failure to read/ parse)) custom CA certificates appended to a QSslConfiguration object by applications using QSslSocket/QNAM. The fix will probably make a handshake to fail, but this seems to be better than a crash anyway. Task-number: QTBUG-58213 Change-Id: Ie4f9ab2138bc383adc9f9ed55ed61be2d3cf7020 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* | macOS/iOS: Correctly ignore punctuation in QCollatorAndy Shaw2017-06-132-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | When punctuation is ignored then the kUCCollatePunctionSignificantMask should not be set. This was originally thought to not be working due to a bug on the Apple platforms, but this is not the case. [ChangeLog][Platform Specific Changes][macOS][iOS] QCollator now respects the ignorePunctuation property on Apple based platforms correctly. Task-number: QTBUG-41978 Change-Id: I62044076387d6e4479f4aaef3c2f48f49dbd160e Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | Android: Fix RTL selection handles directionsBogDan Vatra2017-06-136-17/+29
| | | | | | | | | | | | | | | | Invert the selection handles icons when the selected text is rtl. Task-number: QTBUG-61073 Change-Id: I8339a14d1e4d9e79d218516daf3ac783911f6026 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* | QNSView: Remove tracking area on deallocationGabriel de Dietrich2017-06-131-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Ultimately, the tracking areas seem to be managed by the NSWindow (or at least somewhere else than the NSView itself). So, it can happen that we involuntarily leave dangling pointers in the system after the QNSView is released. This has shown to crash applications creating and deleting many native views on a single QNSWindow, e.g. calling winId() on a complex and dynamic QWidget hierarchy. The crash would happen when the QNSWindow receives a native enter event, which results on Cocoa trying to invoke the owner of a previously deallocated NSTrackingArea. Change-Id: I3ca7a39ee5f1ec51c2215639f61ba907de3d8659 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* | qsimd_p.h: Don't set the __xxx__ variables with Clang and GCCThiago Macieira2017-06-121-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit 418184c2a0ad97cce12717a43f84fa6f12ece189 set some extra defines that Clang and GCC do set so that MSVC and ICC builds would properly get the features detected. But that meant we set them with Clang and GCC (technically, set them again, but to the same value so no warning was printed). Don't do that. This commit allows me to use "-march=native -mno-rdrnd" to disable the unconditional use of RDRAND instruction. That's required to valgrind any applications, as the current version (3.12) does not have support for that instruction. vex amd64->IR: unhandled instruction bytes: 0x48 0xF 0xC7 0xF0 0x48 0x8B 0x55 0xE8 0x48 0x89 vex amd64->IR: REX=1 REX.W=1 REX.R=0 REX.X=0 REX.B=0 vex amd64->IR: VEX=0 VEX.L=0 VEX.nVVVV=0x0 ESC=0F vex amd64->IR: PFX.66=0 PFX.F2=0 PFX.F3=0 ==78321== valgrind: Unrecognised instruction at address 0x4ef159c. ==78321== at 0x4EF159C: _rdrand64_step (immintrin.h:208) ==78321== by 0x4EF159C: qt_random_cpu(void*, long long) (qrandom.cpp:95) Change-Id: Ia3e896da908f42939148fffd14c6884501de4fa4 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | JSON doc: update the RFC we link toThiago Macieira2017-06-121-1/+1
| | | | | | | | | | | | | | RFC 4627 is obsoleted by RFC 7159. Change-Id: Ia53158e207a94bf49489fffd14c6ab1ae0a19a72 Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* | Convert features.columnview to QT_[REQUIRE_]CONFIGStephan Binner2017-06-126-24/+19
| | | | | | | | | | | | | | Side effect: fix of QT_NO_COLUMNVIEW <-> QT_NO_QCOLUMNVIEW inconsistency. Change-Id: I42702ea7b362a4b6fb5dad78ee105e6cbbf8bcf6 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* | Drop dead qfiledialog_embedded.uiStephan Binner2017-06-122-355/+1
| | | | | | | | | | Change-Id: Ia20fe65d08a8a477dc1c56ad5dcd3db5144c25a1 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | Doc: Tweak documentation about a default QHostAddressKai Koehne2017-06-121-6/+10
| | | | | | | | | | Change-Id: I78deb7156900a3a0e79890062a40752b5d2561c3 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Document QHostAddress::swapKai Koehne2017-06-121-0/+8
| | | | | | | | | | | | Change-Id: I0f47ffeb1a7dbda7dadbd78b2ea04167c42a503d Reviewed-by: Jesus Fernandez <Jesus.Fernandez@qt.io> Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* | QDialog: Fix typo in documentationhjk2017-06-121-1/+1
| | | | | | | | | | Change-Id: I0cbcd007976a974d7491595b59cc463f6443d4b0 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* | prune obsolete use_libmysqlclient_r featureOswald Buddenhagen2017-06-121-5/+0
|/ | | | | | | it's not used since d5dc46d31. Change-Id: I853aec26acddea52da419bd1b517c2fbe31203ed Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Doc: Update widget style gallery topicLeena Miettinen2017-06-0921-736/+63
| | | | | | | | | | | To avoid repetition, remove the individual style gallery topics. Add images of the Styles and Calendar widget examples and use them instead of individual images of each widget. Task-number: QTBUG-5894 Change-Id: I1231824df60e39e8fb89ac2a764e12151636c019 Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io> Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* Use upstream at-spi 2Frederik Gladhorn2017-06-0910-1838/+14
| | | | | | | | | | Move at-spi dbus xml definitions into platformsupport, these files simply describe the DBus protocol and should not be in 3rdparty. The header files can just as well be picked up by pkg-config. Change-Id: I326d9b3cb69223bf2c8646099f211d9a9f3fa0af Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Android: Remove no-op call to processEvents()Christian Strømme2017-06-081-1/+0
| | | | | | | | The call does nothing as it's always called from the Android thread, meaning there are no events, or even eventloop. Change-Id: I6c03b6ebe74bc52af45bc295b42aa01ad6d51157 Reviewed-by: BogDan Vatra <bogdan@kdab.com>
* Android: Remove unused structChristian Strømme2017-06-081-7/+0
| | | | | Change-Id: Iddb4fec951c4dfa8c1052fb18ed62504d28a4792 Reviewed-by: BogDan Vatra <bogdan@kdab.com>
* Android: Properly update geometry once the platform plugin is readyChristian Strømme2017-06-083-0/+12
| | | | | | | | | This is amends commit 9091a058bc61e29 to make sure we don't drop geometry updates that are set before the platform plugins is ready. Task-number: QTBUG-60963 Change-Id: I4489eb9329bb8983458ad328a43b85382bba3cf6 Reviewed-by: BogDan Vatra <bogdan@kdab.com>
* Fix sending UTC-offset QTimeZones through QDataStreamChris Wilson2017-06-081-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QTimeZone("UTC") should be valid, as "UTC" appears in the list of availableTimeZoneIds(), and tst_QTimeZone::dataStreamTest() constructs timezones like this, which are considered valid. The internal representation of a QTimeZone("UTC") as created by QTimeZone::QTimeZone(const QByteArray &ianaId) is a QUtcTimeZonePrivate which isValid(), so the containing QTimeZone isValid() too. When QTimeZone is serialized into a QDataStream, it calls tz.d->serialize(ds) which is QUtcTimeZonePrivate::serialize. This writes QStringLiteral("OffsetFromUtc") followed by the IANA ID and the offset (etc.) to the datastream. When QTimeZone is deserialized it looks for this marker string, and if present, it passed all of the parameters to the QTimeZone constructor (not just the name). However, that constructor does not support standard IANA timezones (only custom ones), and when it detects that the supplied IANA ID is actually listed in availableTimeZoneIds(), it leaves the pointer to the QTimeZonePrivate uninitialized (NULL), which leaves the QTimeZone invalid (isValid() returns false). Thus, a valid timezone which was serialized and then deserialized has become invalid. This also affects serialization of QDateTimes with timezones. Fixed by calling the name-only constructor first, which works (only) for IANA standard timezones and leaves the QTimeZone invalid (isValid() returns false) otherwise. In which case, we can call the many-argument contructor to create a custom timezone with the same offset as the one which was originally serialized. [ChangeLog][QtCore][QTimeZone] Fixed sending IANA standard UTC-offset QTimeZones through QDataStream, which previously came out invalid after deserialization. Task-number: QTBUG-60595 Change-Id: Id9c47e8bda701faae4d800e012afb6db545b2fe9 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* Document that QLoggingCategory is thread-safeKai Koehne2017-06-081-2/+24
| | | | | | Task-number: QTBUG-60475 Change-Id: Idced5e1a8ad1d2d28839fd23126a7bf084141eca Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* QKeySequence: fix size mismatchMarc Mutz2017-06-081-1/+1
| | | | | | | | | 'accel' is 'str.toLower()' and as such may have a different size, so don't use str.size() to index into 'accel'. Change-Id: I6a140ded45ecedd811b9618e1facb63d522eb235 Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* Windows QPA: Port to new feature systemFriedemann Kleint2017-06-0810-51/+44
| | | | | | | | | Replace all checks for DEFINES in windows.pri by proper configure system checks as they no longer seem to work. Task-number: QTBUG-61192 Change-Id: I625c9de0812fd376d06eacb065d3a32a499b6b00 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>