summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
...
| | | * embedded: Make signal handlers optionalLaszlo Agocs2016-07-271-8/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [ChangeLog][Platform Specific Changes] It is now possible to opt out from installing signal handlers when running with eglfs and linuxfb by setting the QT_QPA_NO_SIGNAL_HANDLER environment variable to a non-zero value. Task-number: QTBUG-54733 Change-Id: Ib07d4bbf714c752631c49b76ad0a16677c1ba5bd Reviewed-by: Andy Nichols <andy.nichols@qt.io>
| | | * QOpenGLDebugLogger: strengthen the code path in case of GL context destructionGiuseppe D'Angelo2016-07-271-0/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Trying to move closer to GL semantics: it is allowed to destroy a GL context at any time and that must free all of its resources. Change-Id: I3daa81d721cf26baf86a1a6435b77e3c28feb1a2 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
| | | * Update documentation regarding QPixmap HICON conversionsSérgio Martins2016-07-271-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The QPixmap methods are gone in Qt5. QtWinExtras should be used instead. Task-Id: QTBUG-54838 Change-Id: Ia52ab9786f57d92caf4c44142a3131dbf973a193 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
| | | * QOpenGLDebugLogger: do not crash if deleted with the wrong GL context currentGiuseppe D'Angelo2016-07-261-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-54799 Change-Id: Ifee3183e7944fbe266fe644628d33d0667be99a8 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
| | | * Fix grammar error in QFlags documentationMitch Curtis2016-07-261-1/+1
| | | | | | | | | | | | | | | | | | | | Change-Id: I1c5d2be402f7e194eaa2e6f646aa5edad1bfd9d9 Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
| | | * QDialog::adjustPosition(): Check screen numberFriedemann Kleint2016-07-261-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The screen number has been observed to be -1 in setups with multiple virtual desktops. Amends change eb50193136c7c73be864e3232d01e98ddc24e539. Task-number: QTBUG-52735 Change-Id: If01acf74fdd701a9211df732c0defdfd522ba72d Reviewed-by: hjk <hjk@qt.io>
| | * | Cocoa: Don’t beep on return keypressMorten Johan Sørvig2016-07-291-4/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Limit event propagation to AA_PluginApplication Applications. Change-Id: Id56ceea8d2aacae3f2be17f5894791de4eca528e Task-number: QTBUG-54211 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com>
| | * | QSocketNotifier: improve warning to show thread names and pointers.David Faure2016-07-281-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Much like the QObject::setParent() warning, which helps a bit when debugging. Change-Id: I2abf277a12aa1ce04bd8b5759f46f8bfdcb25383 Reviewed-by: Robin Burchell <robin.burchell@viroteck.net> Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
| | * | QWindow::fromWinId(): Return 0 when foreign window cannot be wrappedFriedemann Kleint2016-07-282-3/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change window creation code in QWindow to not assert should platform window creation fail for foreign windows. Prototypically add check to the Windows QPA plugin. [ChangeLog][Windows][Important Behavioral Changes] QWindow::fromWinId() may return 0 when passing invalid window handles. Task-number: QTBUG-41186 Change-Id: I936112607ec6e0838d36ac2a72aa88b869df5c23 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
| | * | Merge "Merge remote-tracking branch 'origin/5.6' into 5.7" into refs/staging/5.7Edward Welbourne2016-07-2827-235/+298
| | |\ \
| | | * | Merge remote-tracking branch 'origin/5.6' into 5.7Edward Welbourne2016-07-2627-235/+298
| | | |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/io/qtemporarydir.cpp One side encapsulated a repeated piece of #if-ery in a local define; the other added to the #if-ery. Made its addition to the other's. src/corelib/kernel/qeventdispatcher_unix_p.h One side moved some members into a struct; this collided with a #undef check that neither side now has. Discarded the #undef part. src/gui/opengl/qopengltexturehelper_p.h 5.7 deleted a bunch of methods; not clear why merge got confused. src/tools/moc/moc.cpp One added a name to the copyright header; another changed its URL. Change-Id: I9e9032b819f030d67f1915445acf2793e98713fa
| | | | * QWindowsTheme::themeHint(): Handle special value of SPI_GETWHEELSCROLLLINESFriedemann Kleint2016-07-261-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the mouse wheel step is set to "Scroll one screen", querying SPI_GETWHEELSCROLLLINES returns the special value unsigned(-1). Return the default instead of converting it to int in that case since Qt does not implement it. Task-number: QTBUG-52384 Change-Id: I793e5c09103fe0c7c4a378aba97e9f63ae1c2f35 Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
| | | | * Cocoa integration - fix a crash in QMacPasteboardTimur Pocheptsov2016-07-252-13/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QMacPasteboard's dtor skips LazyRequest promises and this leaves pasteboard manager in broken state, since we release the pasteboard itself of the next step in destructor. As a result, not only Qt's app doing D & D (and thus via QCocoaDrag creating a stack-allocated QMacPasteboard) can die suddenly when somebody inspects a pasteboard, this 'somebody' ... can also die amazingly. So now we DO resolve promises using PasteboardResolvePromises (but we also preserve the original intent of not providing or providing empty data for lazy requests). Task-number: QTBUG-54663 Task-number: QTBUG-54832 Change-Id: I3ce90bd0a012dd3cbb30c93b2b17dce9473acb28 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
| | | | * QPlatformWindow::initialGeometry(): Do not touch child window positionsFriedemann Kleint2016-07-251-9/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Child window positions should not be mapped back and forth by High DPI scaling as this can cause them to change screens or be moved to invalid locations. Introduce a separate branch for child windows applying only size constraints. Task-number: QTBUG-54420 Change-Id: I4f86666952a49ed6fa03234a04031bc406281c45 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
| | | | * Work around ICC bug about shadowing declarations that aren't shadowingThiago Macieira2016-07-243-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Known ICC bug, still present in version 17 beta. qdatetime.h(126): error #3280: declaration hides member "QDate::jd" (declared at line 136) Obviously a parameter to static function or to a function in a nested class can't shadow an NSDM. Intel issue IDs: 0000698329 / DPD200245740 Change-Id: I149e0540c00745fe8119fffd1463c679a3a9c8c3 Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
| | | | * QImage::setAlphaChannel(): Check result of image conversionFriedemann Kleint2016-07-231-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | alphaChannel.convertToFormat() may fail due to OOM. Check the obtained image. Task-number: QTBUG-54873 Change-Id: I778b7de7de611105fe23c1c24cbd69bd8f7c72d9 Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
| | | | * Fix performance regression when changing fontsEskil Abrahamsen Blomfeldt2016-07-221-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change e109b8a0f3c89c595f0da689e7ee847130e2ee47 introduced a performance regression when rapidly switching fonts as long as the number of different fonts is over a relatively small number, since the cost of fonts can be high compared to the limits set on the cache. Since the original patch was intended to avoid exceeding the open file limit when using Freetype on Windows, we add an additional check on the number of engines in the cache as well for the added, synchronous cache flush. The limit is set to 256 to make it unlikely that it is exceeded during a single paint event, but it can also be configured when building Qt if a higher limit is needed. [ChangeLog][QtGui][Text] Fixed performance regression when rapidly switching between a large set of fonts. Task-number: QTBUG-54180 Change-Id: I92b9fbe14fca4f11c9c6dfdcdbec6d19a61b86a7 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
| | | | * QMacStyle: Fix use of deprecated symbolGabriel de Dietrich2016-07-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I5a6bfc937267817b2c815be0216ea91fe6860ba3 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com> Reviewed-by: Jake Petroules <jake.petroules@qt.io>
| | | | * Windows: Fix truncation in QFSFileEnginePrivate::nativeWrite()Friedemann Kleint2016-07-211-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The number of bytes to write was converted to a 32bit unsigned value, causing losses. Change the type to qint64 and adapt the code determining the block size. Task-number: QTBUG-54870 Change-Id: I294da5bfe97c7e60f67228399e1244a1aba4c89c Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
| | | | * Workaround clang function export bugBogDan Vatra2016-07-201-17/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Should be reverted when https://github.com/android-ndk/ndk/issues/142 is fixed. Change-Id: Ie68807062247bee4969bc9aa00b0221c8147fed7 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
| | | | * QOpenGLVertexArrayObject: clean up the destructorGiuseppe D'Angelo2016-07-201-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Calling QOpenGLContext::surface() on a non-current context will likely return NULL, so the code path that tried to reset the old context as current would actually fail. Change-Id: Ibbc8da877740a596aa7dd0af8ccffb9a1877290a Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
| | | | * Make sure JNI_OnLoad is not called more than onceBogDan Vatra2016-07-202-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since Android 5.0 Google introduce a nasty bug[1] which calls JNI_OnLoad more than once. Basically every time when a library is loaded JNI_OnLoad is called if found, but it calls *again* JNI_OnLoad of its .so dependencies! So, JNI_OnLoad of libQt5Core.so gets called may times, this is not a problem as long as it's called from Qt's java delegate class loader. The problem is that the application .so file *must* be called from default class loader to allow the user to find his custom Activity/Service stuff. [1] Workaround https://code.google.com/p/android/issues/detail?id=215069 Change-Id: Ia71209658ef56056b560018597608acf7cb0f9ea Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
| | | | * Document that -nocrashhandler enables debugging of crashesMitch Curtis2016-07-202-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It's not clear why an assertion triggered while running a test can't be debugged, while the same assertion triggered while running an application can. Even though this documentation might still not be the place people will look, hopefully having the terms "debugging crashes" here will make it more visible in search results. Task-number: QTBUG-54779 Change-Id: I151b04380df57126259d3d7797957a548eb6cd55 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | | | * Fix QTemporaryDir to handle Unicode characters on WindowsFriedemann Kleint2016-07-201-22/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For platforms not providing mkdtemp(), QTemporaryDir relied on an implementation of q_mkdtemp() operating on char *, converting back and forth using QFile::encodeName()/decodeName() when passing the name to QFileSystemEngine. This caused failures on Windows (which uses "System"/Latin1 encoding) for names containing characters outside the Latin1 space. Reimplement q_mkdtemp() to operate on QString, which avoids the conversions altogether and also enables the use of larger character spaces for the pattern. Add tests. Task-number: QTBUG-54810 Change-Id: Ie4323ad73b5beb8a1b8ab81425f73d03c626d58a Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | | | * Bearer/Connman: emit missing updateCompleted()Takumi ASAKI2016-07-204-10/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | emit missing updateCompleted() in some conditions after QNetworkConfigurationManager::updateConfigurations() is called. * There is no wifi devices. * The wifi device returns error when scan is called. Change-Id: I2668644249a0584bf43efea95348424aa64ab4a6 Reviewed-by: Lorn Potter <lorn.potter@canonical.com>
| | | | * Workaround clang explicit specializations function templates export bugBogDan Vatra2016-07-201-150/+150
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Should be reverted when https://github.com/android-ndk/ndk/issues/34 is fixed Change-Id: Ic7fe394412afc25082a9689da59d36cba8b3dade Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
| | | | * moc: fix infinite loop over malformed inputOlivier Goffart2016-07-201-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We should not call prev() if we had already reched the end. Task-number: QTBUG-54815 Change-Id: I56bc86880a0dbfdce57fc4a08e5950f2ff3a5958 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@theqtcompany.com>
| | | | * Work around Apple defining "check"Thiago Macieira2016-07-201-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The header says they'll stop doing that in the next release. It's been like that since at least the OS X 10.8 SDK... Change-Id: Ib57b52598e2f452985e9fffd14585d4838dc8b09 Reviewed-by: Richard J. Moore <rich@kde.org>
| | | | * QTzTimeZonePrivate: missing spaces for readability.Edward Welbourne2016-07-181-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: If19669750fab89fbe0ac24d98b89fa1ea597fbb9 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | | | * QUtcTimeZonePrivate::data - skip spurious invalid start state.Edward Welbourne2016-07-181-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Most fields were over-written after setting invalid. The two that weren't (not used by QUtcTimeZonePrivate) should be (if only for uniformity with other QTimeZonePrivate variants), so set them to sensible values. Change-Id: I824ca0108d5b6bc322f76a0d1683342f789523b1 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | | | * QtCore: Fix QXmlStreamReader for invalid characters in XML 1.0Luca Bellonda2016-07-171-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The XML parser uses fastScanLiteralContent() to read a block of text. The routine was not checking the range of valid characters as defined in the XML standard: https://www.w3.org/TR/2008/REC-xml-20081126/#NT-Char A check has been added to stop reading the bad character. Note that the characters are legal in XML 1.1, but QXmlStreamReader is a well-formed XML 1.0 parser [ChangeLog][QtCore][QXmlStreamReader] Fixed a bug in the XML parser that prevented to load XML that contained invalid characters for XML 1.0. Change-Id: I10aaf84fbf95ccdaf9f6d683ea7c31925efff36d Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | | | * Android: Fix style extract on Android NBogDan Vatra2016-07-161-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-52744 Change-Id: If53a76929f3bc903573917cfd968431532817ace Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io> (cherry picked from commit 392372392c3c9096984a535a975dda163a62a28a) Reviewed-by: Christian Stromme <christian.stromme@qt.io>
| | * | | Harfbuzz: Fix warnings of MSVC 64 bitFriedemann Kleint2016-07-272-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | qtbase\src\3rdparty\harfbuzz\src\harfbuzz-shaper.cpp(97): error C2220: warning treated as error - no 'object' file generated qtbase\src\3rdparty\harfbuzz\src\harfbuzz-shaper.cpp(97): warning C4800: 'int': forcing value to bool 'true' or 'false' (performance warning) qtbase\src\3rdparty\harfbuzz\src\harfbuzz-shaper.cpp(284): warning C4800: 'HB_Bool': forcing value to bool 'true' or 'false' (performance warning) qtbase\src\3rdparty\harfbuzz\src\harfbuzz-arabic.c(924): warning C4244: 'initializing': conversion from '__int64' to 'int', possible loss of data qtbase\src\3rdparty\harfbuzz\src\harfbuzz-arabic.c(984): warning C4244: '=': conversion from '__int64' to 'int', possible loss of data qtbase\src\3rdparty\harfbuzz\src\harfbuzz-arabic.c(995): warning C4244: '=': conversion from '__int64' to 'int', possible loss of data Required to build QtCore after change a372cf5a80ec1a774f8f624b30b3c8209b800ec8. Change-Id: Ieb65c19e518984dde91bc8acab35203f8c271da3 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
| | * | | Android: introduce setContextBogDan Vatra2016-07-262-10/+26
| | |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | setContext is needed by modules that don't need an Activity object to run (e.g. QtMultimeida, QtSensors, etc.) Task-number: QTBUG-54506 Change-Id: Ief9daff52ddefdb27092040c89dfce9e466eac5c Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
| | * | Fix namespaced build using harfbuzz-ngThiago Macieira2016-07-221-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | harfbuzz-ng doesn't link to Qt libraries, but uses the Qt headers for some types. With CONFIG -= qt, we don't get QT_NAMESPACE set, which leads to linker errors later. Instead of setting QT_NAMESPACE, ask qversiontagging.h not to tag the headers. Change-Id: Ie585843cfb684bc3b6e3fffd145e7e438ae7c6bd Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
| | * | move c++11 test into qcompilerdetection.h and make it stricterOswald Buddenhagen2016-07-221-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | it positively makes no sense to have a configure test which will be never reached due to the configure/qmake bootstrap failing with a slew of totally unhelpful error messages. pre-standardization partial c++11 implementations are now rejected, except for VS2013, which is still sufficient despite not announcing full compatibility. Change-Id: I58af10e03960af06b80cedac105cf8433f7a1745 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | * | Windows: Disable unsupported C++11 features with Clang-cl and ICCThiago Macieira2016-07-221-0/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Whenever someone installs Clang or the Intel compiler on Windows, it's very likely that the compiler will be much newer than the MS headers that came with the installed Visual Studio version. So let's make sure we disable the C++11 features that the MS headers don't support properly. For example, MS's <limits> header supplied with VS 2013 doesn't mark the max() function as constexpr, resulting compiler errors in uses of that function in Qt code declared with Q_DECL_CONSTEXPR: qdeadlinetimer.h(62,13) : note: non-constexpr function 'max' cannot be used in a constant expression : s(std::numeric_limits<qint64>::max()), ns(0), type(type_) {} ^ Change-Id: I149e0540c00745fe8119fffd146286ffe480d216 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | * | QAbstractSocket: ensure bind()+connect() works on delayed closeAlex Trotsenko2016-07-201-10/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | While connecting, the socket goes through the HostLookupState. In this state, the socket engine is not yet created, unless the socket had previously been bound. When it has been bound, we should keep the socket engine even if the user initiates a delayed close by using the write()+close() sequence. Change-Id: Iefebcb33cd72cb49617acbac8e02af9d8209c869 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
| | * | QDataStream: adjust containers' deserialization in transaction modeAlex Trotsenko2016-07-201-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If an error occurs during the transaction, we should prevent the containers from being successfully read. So, check the status of the stream before reading the container, because the deserialization procedure temporarily resets it on entry. Task-number: QTBUG-54022 Change-Id: Ie955c2fa3e449374f0f8403f00e487efa2bfdaf3 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
| | * | Update QLibrary's debug output when loading failedThiago Macieira2016-07-201-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We were printing 'loaded library "xxx"' even when ret == false, which was misleading. So instead print the error string. Change-Id: Ib57b52598e2f452985e9fffd1459ea860ed2dfcf Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@theqtcompany.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* | | | Cocoa QPA Menus: Clean-up QCocoaMenuLoader related codeGabriel de Dietrich2016-08-017-41/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now that QCocoaMenuLoader is a singleton, we can access it the natural way. In all cases, it already needed to be done in an Objective-C file, so it doesn't change anything from this point of view. Furthermore, we decide to remove private accessor APIs in QCocoaApplication and QCocoaApplicationDelegate which are now redundant. Change-Id: I4190ed2e2536b778482c513727e279c9318acb7e Reviewed-by: James Turner <james.turner@kdab.com> Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* | | | eglfs: Add support for raster content rotationLaszlo Agocs2016-08-017-17/+75
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Running QWidget or other raster window-based apps with QT_QPA_EGLFS_ROTATION=180 will now flip the screen as expected. In addition, 90 and -90 are supported too. These will affect the reported screen geometry as well. The OpenGL mouse cursor is repositioned and rotated accordingly. For true OpenGL content the rotation is ignored. Hardware mouse cursors (DRM) ignore it as well for the time being. [ChangeLog][Platform Specific Changes] QWidget-based applications running on the eglfs platform plugin can now request 180 or 90 degrees rotated output by setting the QT_QPA_EGLFS_ROTATION environment variable. Task-number: QTBUG-39959 Change-Id: I3570b515d0233c6c6a0e813899b935ee222eab62 Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* | | | fix namespaced buildOswald Buddenhagen2016-08-011-2/+2
| | | | | | | | | | | | | | | | | | | | Change-Id: I37b571db193d444ea60d508375fef89add467d1e Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com>
* | | | QBrush: optimize detach()Marc Mutz2016-08-011-1/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, detach() would detach on every style change. But there are only three QBrushData classes, thus many styles use the same. So instead of checking for style identity, check for style equivalence, where equivalence is defined in terms of use_same_brushdata(). Change-Id: I7548c6022a45e542ca0d3ea00d837cd4ff93df34 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
* | | | Export QTextDocumentPrivate with Q_GUI_EXPORTAndy Shaw2016-08-011-1/+1
|/ / / | | | | | | | | | | | | | | | | | | | | | QTextDocument is used from several different Qt modules so it needs to be possible to access its privates from outside of Qt Gui. Change-Id: I8087f8312e0db46bd457a6119d974caa27660d57 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* | | Add helper function to reset QMouseEvent localPosFrederik Gladhorn2016-08-012-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | In Qt Quick there are many places which copy mouse events repeatedly, with the only goal of adjusting the local position. Instead it's much more sensible to re-use the same event. Change-Id: I2c6f2b73ee3a7a6df489f813cf2f60b48a6e48df Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | | QWaitCondition: add notify_one/notify_all, i.e. STL namingDavid Faure2016-07-302-0/+18
| | | | | | | | | | | | | | | | | | | | | | | | This makes the API more consistent with the STL, which helps discovering the API. Much like QVector has push_back etc. Change-Id: I75f6b77ab94233c15e17f66605f4bf13aa03e61c Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | | QSslDiffieHellmanParameters_dummy - remove Q_UNIMPLEMENTEDTimur Pocheptsov2016-07-291-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As a part of SSL initialization (done by QNAM on the first HTTP get request, for example), 'dummy' Diffie/Hellman parameter's mem-functions constantly and unconditionally print 'Unimplemented code' even without user actually calling these unimplemented methods. This is not just annoying, (just realized I saw this 'Unimplemented code' many times today) this also breaks several our auto-tests (xmlpatterns/qquickimage for example) - the ones that expect output to be empty. Task-number: QTBUG-55003 Change-Id: I5e4822e9783de32aa4b00843a9916eafea3689c0 Reviewed-by: Richard J. Moore <rich@kde.org> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
* | | moc: Add warnings when resolving and opening includes failsFriedemann Kleint2016-07-291-5/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, only cryptic warnings: QFSFileEngine::open: No file name specified occurred. Task-number: QTBUG-55014 Change-Id: Ic99614eb58c605ed6e1b86d3d4b8f527c5b9244c Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* | | Make QOpenGLTextureBlitter publicLaszlo Agocs2016-07-297-30/+213
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change QOpenGLTextureBlitter to be a public API, as it was originally intended. There are now significant external uses outside qtbase (C++ compositor examples in QtWayland), and the API is considered proven enough. [ChangeLog][QtGui] QOpenGLTextureBlitter, a utility class to draw textured quads, has been made public. Change-Id: If7a2c94e1494195e2aa375d214932fa7b4c78321 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>