summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Revert "QDBusArgument: remove useless op<< overloads"Marc Mutz2016-05-201-0/+31
| | | | | | | | | | | | This reverts commit 5f542f3cca13f2da58b82aee2efbaffefeee00a7, since it breaks streaming of types derived from QList and the docs state that this should be possible without providing custom op<</>> for such types. Task-number: QTBUG-53376 Change-Id: I2bde714ac384f2aed67ad30decea702fb79aef1b Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QDBusArgument: deprecate relying on a streamable Base to stream a DerivedMarc Mutz2016-05-151-1/+9
| | | | | | | | | | | | | This was seen in the wild for QList, but, as described in the documentation note, it's a common problem. [ChangeLog][QtDBus][QDBusArgument] Deprecated relying on a streamable Base to stream a Derived without providing operator<</>>() for Derived. No diagnostic provided. Task-number: QTBUG-53376 Change-Id: If845574f731b537c20641dc7c49fa4369e85db5a Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QDateTimeParser: use QStringRef moreAnton Kudryavtsev2016-05-131-9/+8
| | | | | | | Avoid unnecessary allocations. Change-Id: I217ba3fe20293f5cdeeaac2dfae15f837cda51e0 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QtConcurrent/QtOpenGL(Extensions)/QtPrintSupport/QtTestLib/QtXml: add ↵Marc Mutz2016-05-126-5/+10
| | | | | | | | | | QT_NO_FOREACH Mark these libraries as what they are: Q_FOREACH-free, using QT_NO_FOREACH. Change-Id: I2a567d9fe67e15e9b6f0784525810b553dc50e1f Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* QtNetwork: port the last remaining Q_FOREACH loop and add QT_NO_FOREACHMarc Mutz2016-05-122-2/+2
| | | | | | | | | Port the last remaining Q_FOREACH user in QtNetwork to C++11 range-for and mark the library as Q_FOREACH-free, using QT_NO_FOREACH. Change-Id: I8977f151e3575422fc1154677e035274c018d66f Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* QHttpSocketEngine: set error on unsupported operationsAlex Trotsenko2016-05-121-7/+27
| | | | | | | | Force overloads which relate to UDP or listening to fail with a 'UnsupportedSocketOperationError' error code. Change-Id: I057c47864ee1d9c95b413edfda977dd0607844cb Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com>
* QSharedPointer: move QDebug stream operators into qdebug.hGiuseppe D'Angelo2016-05-125-24/+20
| | | | | | | | In order to avoid pulling in QDebug when including QSharedPointer. Change-Id: I14b86d1f100ed44a68258c91bbda394b655bac83 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* winmain: port the last remaining Q_FOREACH loop and add QT_NO_FOREACHMarc Mutz2016-05-122-1/+3
| | | | | | | | | | Port the last remaining Q_FOREACH (over a QVarLengthArray, no less) in winmain to C++11 range-for and mark the library as Q_FOREACH-free, using QT_NO_FOREACH. Change-Id: Ic561080f7dd61d1d853ceb9e211c9b8a23bf05a5 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
* Remove dead code from tst_QFont::exactMatch()Eskil Abrahamsen Blomfeldt2016-05-121-145/+0
| | | | | | | | All this code was skipped on all platforms, so keeping it is just confusing. Change-Id: I405d2e791b22a2494fe5ccac6e3bf08905dc4e5a Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* QFont::exactMatch() should return false for aliasesEskil Abrahamsen Blomfeldt2016-05-122-10/+4
| | | | | | | | | | | | | | | | | | | | | This is a partial revert of 992f233c in Qt 4 repo. The rest of the change cannot be reverted, since it added public API, but that API might be useful anyway. The patch was wrong, basically. QFont::exactMatch() should not claim that you can get an exact match for a typeface alias. It also introduced some weird inconsistencies: For instance, if the first font the alias resolved to in FontConfig did not exist, then exactMatch() would return false, even if it then resolved to the next one which existed. This caused a test failure on OpenSuse, where the preferred font for "sans" is Arial, which doesn't exist, so Roboto will be used instead. [ChangeLog][QtGui][Important Behavior Changes] QFont::exactMatch() now returns false when the provided typeface is an alias. Task-number: QTBUG-46054 Change-Id: I7532d2879b492544620aa0d1d87dd493a4923af9 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* QMutex: make FUTEX_PRIVATE_FLAG a mandatory featureThiago Macieira2016-05-111-35/+6
| | | | | | | | | | The flag was introduced in kernel 2.6.22, but we're already depending on features added on 2.6.23 in qcore_unix_p.h (pipe2, dup3, O_CLOEXEC) and 2.6.27 in qnet_unix_p.h (accept4 and SOCK_CLOEXEC). Change-Id: Id5480807d25e49e78b79ffff144a093c9e30cd96 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QtCore/QtDBus/QtSql: port the last remaining Q_FOREACH loop and add ↵Marc Mutz2016-05-114-3/+9
| | | | | | | | | | | QT_NO_FOREACH Port the last remaining Q_FOREACH user in QtCore to C++11 range-for and mark QtCore, QtSql and QtDBus as Q_FOREACH-free, using QT_NO_FOREACH. Change-Id: Ia6f99139cb1ca4a8bbe9e445421592242e048b0a Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* qmake/tools: port the last remaining Q_FOREACH loops and add QT_NO_FOREACHMarc Mutz2016-05-1113-11/+24
| | | | | | | | | | Port the last four remaining Q_FOREACH users in qmake and uic to C++11 range-for and mark all qtbase tools (incl. qmake) as Q_FOREACH-free, using QT_NO_FOREACH. Change-Id: Ief4e5877269e7a853e4cf05e58861a448e822d3d Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* Add QT_NO_FOREACH to disable foreach and Q_FOREACHMarc Mutz2016-05-111-0/+6
| | | | | | | | | | | | | | | | | | | | | | It has been known for a long time that Q_FOREACH produces inferior code to other looping constructs, and the use of it in Qt library code was informally frowned upon since forever (pun intended). Yet, to this day, several thousand foreach/Q_FOREACH loops have been added to Qt libraries, and while many were ported to range-for in Qt 5.7, there are still new ones added every day, which is a nuisance, to say the least. This patch introduces a technical way to prevent new foreach use to creep into Qt libraries after they have been cleaned, by simply not defining either Q_FOREACH or foreach when the QT_NO_FOREACH macro is defined. This way, one library at a time can be ported away, and, once ported, is guaranteed to actually stay ported. Change-Id: Ie042e84d6c7d766bd16095f9bc1118a8e0ce0c7a Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QImage::setPixelColor: warn about invalid colorsMitch Curtis2016-05-112-1/+15
| | | | | | Task-number: QTBUG-52142 Change-Id: I9f390bd332f8edabaece75a6b36830c691ff4b9e Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
* QDateTimeParser: adapt unquote() to make good use of QStringRef.Anton Kudryavtsev2016-05-111-6/+4
| | | | | | | | Avoid unnecessary allocations. Change-Id: I9bed622c0dd7d9fe993b52d9169d1773957da4f2 Reviewed-by: Edward Welbourne <edward.welbourne@theqtcompany.com> Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* QDateTimeParser: de-duplicate calls and cache resultsAnton Kudryavtsev2016-05-111-7/+9
| | | | | | Change-Id: I0d6065fbdd19acff14072ff626585e8a12a3e073 Reviewed-by: Edward Welbourne <edward.welbourne@theqtcompany.com> Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* eglfs: Fix DRM+KMS backendsLaszlo Agocs2016-05-1010-14/+17
| | | | | | | | The native display was simply invalid. Task-number: QTBUG-53225 Change-Id: I682fb1d91dbea3dab971a079060d181fc313da46 Reviewed-by: Robert Griebl <robert.griebl@pelagicore.com>
* Add support for -Werror with ICC 17 on LinuxThiago Macieira2016-05-101-2/+2
| | | | | | Change-Id: Id75834dab9ed466e94c7ffff14447a58fe16617f Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Make it an #error if we failed to detect the ARM architecture versionThiago Macieira2016-05-101-0/+2
| | | | | | | | ... or if it is less than ARMv5. The last ARMv4 Qt supported was Windows CE 7, which was dropped for Qt 5.7 alongside MSVC 2008. Change-Id: Ifc817705441a4aab9469ffff141dcfe491464efa Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
* QEglFSKmsIntegration: use new QJsonObject::value(QLatin1String)Marc Mutz2016-05-101-5/+5
| | | | | | | | | Allows to get rid of some QStringLiterals. Change-Id: I546aace6876cf373b1cb67269fcc3d042dfd3aac Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com> Reviewed-by: Dominik Holland <dominik.holland@pelagicore.com> Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* QImageWriter: use new QJsonObject::value(QLatin1String)Marc Mutz2016-05-101-3/+3
| | | | | | | | Allows to get rid of some QStringLiterals, reducing QtGui text size by ~200b. Change-Id: I0f3a84c1c8ee6771d8e1f2c6284d314b3fc0c28a Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* QFactoryLoader: use new QJsonObject::value(QLatin1String)Marc Mutz2016-05-101-27/+11
| | | | | | | | Allows to get rid of some QStringLiterals, reducing QtCore text size by ~800b. Change-Id: I8f7e57927163eaaf628e42020f83f053faea6bf8 Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* QJsonObject: add some overloads taking QLatin1StringMarc Mutz2016-05-105-11/+145
| | | | | | | | | | | | | | | | | | | | | | | | | | | | QXmlStreamReader also has QLatin1String overloads, which greatly benefits parsers, since the vast majority of keys in both JSON and XML are US-ASCII. This patch adds such an overload to the JSON parser. The value() function is all typical parsers need, so even though many more QJsonObject functions taking QString could benefit from the same treatment, value() is the single most important one for read-only JSON access. Add some more overloads, too, for functions that don't need more internal scaffolding than value(). Requires adding a dummy op[](QL1S) (forwarding to the QString overload) so as not to make QJsonObject json; json[QLatin1String("key")]; // mutable ambiguous between const op[](QL1S) and mutable op[](QString). [ChangeLog][QtCore][QJsonObject] Added value(), op[] const, find(), constFind(), contains() overloads taking QLatin1String. Change-Id: I00883028956ad949ba5ba2b18dd8a6a25ad5085b Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* Prospective MSVC 2013 build fixSimon Hausmann2016-05-101-2/+4
| | | | | | | MSVC 2013 does not like QStringLiteral between brackets. Change-Id: Ic42f80b7a3abbb48df3d0e222bd5c868045a0ded Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* Fix build on WinRTMaurice Kalinowski2016-05-101-1/+2
| | | | | | | | a63ca3fa106f4b0f9776bf2004661ef6dec2c0c6 caused a build breakage for WinRT as GetModuleHandleEx does not exist on that platform. Change-Id: I143d9cad5f32d98a4d86292dfa73f94a4acdf305 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* QUrl: enable (N)RVO for gccAnton Kudryavtsev2016-05-091-37/+37
| | | | | Change-Id: Ie0fba08ce55a3c60a5b1565986c4280f065c7b2f Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QDateTimeParser: proper construction of QStringAnton Kudryavtsev2016-05-091-1/+1
| | | | | | | | | | ... with known size and known char by corresponding ctor. Don't use fill() for this case. Change-Id: I475a0655132ecbb40b1eac919309597b2560e71b Reviewed-by: Edward Welbourne <edward.welbourne@theqtcompany.com> Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* QWidgetTextControl: ensure we listen for changes to cursorFlashTimeChangedRichard Moe Gustavsen2016-05-092-15/+3
| | | | | | | | | | | | | | | | | Change 3cdc02d actually "reverted" the behavior of listening for cursorFlashTimeChanged. The reason is that we sat "blinkingEnabled" directly to true in the constructor instead of calling "setCursorBlinking", which was responsible for setting up the connection. And as it turns out, after 3cdc02d, nobody is actually calling "setBlinkingCursorEnabled" anymore. From the widgets point of view, it should always blink when visible (unless QPA sets cursorFlashTime to zero). So we can remove the whole function, and set up the connection in "setVisible" instead. Change-Id: I577a5fbbbd9c56331ac7f8bb38567a684ca8c1df Reviewed-by: Jan Arve Sæther <jan-arve.saether@theqtcompany.com>
* Fix ANGLE glGetUniform*v functions to work properly with arraysMiikka Heikkinen2016-05-092-1/+32
| | | | | | | | | | glGetUniform*v functions are supposed to return just a single array element, so returning the whole array is always incorrect. Task-number: QTBUG-53072 Change-Id: I22f05d420082d4d9de06d975b3d0f5e64d3e0c41 Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com> Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* Doc: Highlight Quick Controls 2 - Gallery exampleVenugopal Shivashankar2016-05-091-25/+1
| | | | | | | | | Removed Qt Quick Controls 1 examples from the highlited list, and also removed the webkit1 and webkit2-related tags. Change-Id: I674dc00544bc70c50460a64690d1062835885fc0 Reviewed-by: Sami Makkonen <sami.makkonen@theqtcompany.com> Reviewed-by: Topi Reiniö <topi.reinio@theqtcompany.com>
* Be more specific what is in Core and what is notJędrzej Nowacki2016-05-091-2/+5
| | | | | | | | !isComplex is quite good heuristic, but we know for sure which types should be included. Change-Id: I609d021b8a668e6c1945ed2b11d69f5a82b5e2bf Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* QNX: Force use of system zlib on Windows hostLiang Qi2016-05-091-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | While we on Linux will do a compile test to check for a system zlib, the test on a Windows host was less accurate, causing us to compile in the zlib from 3rdparty/ here. This caused compilation errors after updating the freetype font engine to support color fonts, since the zlib in 3rdparty/ was included implicitly in the freetype library, and since it depends on Qt headers, the compilation failed in this context. The hotfix is to force system zlib on QNX for Windows hosts, since we know it is available in the NDK. Doing a proper build check is not worth it right now, due to future plans for changing configure. We will still break for an explicit -qt-zlib compilation, so the plan is to fix this in an upcoming commit by separating libpng into a library. The hotfix just follows e6cb3b8c. Task-number: QTBUG-53248 Change-Id: I07dd4356fae6397b3cc93fc1fa97bf35380e19df Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@theqtcompany.com> Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* QJsonValue: don't create a temporary QString on every toString() invocationMarc Mutz2016-05-092-1/+18
| | | | | | | | | | | | | | The vast majority of users call toString() without the optional defaultValue. So do it like the toArray() and toObject() methods and split toString() into two overloads, so the common case no longer needs to pass a temporaray QString. Saves ~1.4 and ~1KiB in QtCore and QtGui text size, resp., on optimized GCC 6.0 Linux AMD64 builds, even though we added a new function to QtCore, too. Change-Id: Ibe02397ca49ce11fdb58f5c5fc69e909bf94c1c6 Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* Add a QMutex::isRecursive() const noexceptThiago Macieira2016-05-092-9/+15
| | | | | | | | | | | This is source- and binary-compatible, including the marking of the existing function as noexcept. [ChangeLog][QtCore][QMutex] Made the isRecursive() method be a const function so that it can be called in const QMutex objects too. Change-Id: Ifea6e497f11a461db432ffff1448bead97c08f92 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* Work around ICC's bug in making std::atomic a literal typeThiago Macieira2016-05-081-2/+8
| | | | | | | | | | | | | ICC 15.x and 16.0 (beta, at least) are missing the "constexpr" and "noexcept" keywords in the definition of the std::atomic constructors. The lack of constexpr makes std::atomic a non-literal type, which in turn makes QBasicAtomicInteger's constructor (which is constexpr) fail to compile. Reported as Intel issue 6000117277. Change-Id: I4a88bcca48bf0ce51557d809ef32a4545edcafee Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* Mark QThread::currentThreadId() as a pure functionThiago Macieira2016-05-081-1/+1
| | | | | | | | | | | It always returns the same information for each thread it is called in. But since it's different per thread, we don't think it's const. pthread_self() on Linux is marked const, though we think it really ought to be pure. On other OSes, the annotation isn't present, but the we can assume function is so. Change-Id: Ifea6e497f11a461db432ffff1448c2b37d94d5f3 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* Implement QLibrary::PreventUnloadHint for WindowsThiago Macieira2016-05-082-2/+10
| | | | | | | | | | | | It's interesting that the HMODULE/HINSTANCE pointer points to something in the actual module that got loaded, so we can use its value as "address of something in the module" for GetModuleHandleEx. The "PIN" flag tells the Windows DLL loader to never unload. Change-Id: Ifea6e497f11a461db432ffff1449a2169eb6293e Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Kai Koehne <kai.koehne@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* Remove includes to qdatetime_p.h that aren't necessaryThiago Macieira2016-05-082-2/+0
| | | | | | | | Since I'm changing QDateTime's privates, it's easier to know what may be depending on it or not. Change-Id: Id5480807d25e49e78b79ffff144a53018d057e19 Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* Mark QTimeZone constructor nothrow.Thiago Macieira2016-05-082-2/+2
| | | | | Change-Id: Id5480807d25e49e78b79ffff144a9eead3fc9597 Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* Merge "Merge remote-tracking branch 'origin/5.6' into 5.7" into refs/staging/5.7Liang Qi2016-05-0694-658/+699
|\
| * Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-05-0694-658/+699
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: examples/qtestlib/tutorial5/containers.cpp examples/widgets/tools/tools.pro src/corelib/io/qprocess.cpp src/corelib/io/qprocess_unix.cpp src/corelib/io/qprocess_win.cpp src/network/kernel/qdnslookup_unix.cpp src/plugins/platforms/xcb/qxcbconnection_xi2.cpp src/testlib/qtestcase.cpp tools/configure/configureapp.cpp Change-Id: I838ae7f082535a67a4a53aa13a21ba5580758be8
| | * QFileSystemMetaData: do not treat block devices as sequentialAlex Trotsenko2016-05-041-1/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch allows handling of special block devices in random-access mode that restores a Qt4 behavior. Can not be tested because requires root privileges in the system. Task-number: QTBUG-51666 Change-Id: Iaa56355f1be343c0d05b292e3c7d2e1c88724529 Reviewed-by: Edward Welbourne <edward.welbourne@theqtcompany.com> Reviewed-by: Andrius Štikonas <andrius@stikonas.eu> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
| | * Avoid use of v4-mapped QHostAddress::AnyIPv4 local address on WindowsAlex Trotsenko2016-05-041-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some Windows kernels return a v4-mapped QHostAddress::AnyIPv4 as a local address of the socket which bound on both IPv4 and IPv6 interfaces. This address does not match to any special address and should not be used to send the data. To allow handling of the local addresses properly, replace it with QHostAddress::Any. Already tested by tst_qudpsocket. Task-number: QTBUG-52714 Change-Id: Icb7cb75f48cd7ec9b0a9dfaf861ffe0d3093e20d Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | * tst_QKeyEvent::modifiers(): Ensure test data row names are pure ASCII.Friedemann Kleint2016-05-041-1/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | The test used to output random character sequences which contained terminal control characters. Change it to output plain ASCII and Unicode syntax for non-ASCII characters. Change-Id: Ifaa72f50242bd27416a8698a1f5152bc8b902898 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@theqtcompany.com>
| | * QSplitter: Add note about ownership transfer to addWidget() and insertWidget()Stephan Binner2016-05-041-1/+5
| | | | | | | | | | | | | | | Change-Id: I971db2c25e4e667a416f58d148e18c4f11c349f1 Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
| | * Change Q_OS_MAC -> Q_OS_OSXMorten Johan Sørvig2016-05-041-28/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | Q_OS_DARWIN is the general replacement for Q_OS_MAC, but most/all of the MAC sections in this test are OS X specific. Change-Id: Ic54af9d3dce1e1952a57e15b74acdedf2af60c79 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com>
| | * Add missing Q_DECL_OVERRIDEsMorten Johan Sørvig2016-05-041-3/+3
| | | | | | | | | | | | | | | Change-Id: I54552d9fdd0bc8871247246aea1da14848c4f7a0 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com>
| | * Fix segfault when exiting app running under eglfsElena Zaretskaya2016-05-041-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In function QWindow::destroy() the platformWindow is destroyed (QEglFSWindow in this case), but after that the QSurface destructor is called (qsurface.cpp:127), where access to the opengl context is performed (QOpenGLContext::currentContext()->doneCurrent()). Therefore the surface pointer is deleted earlier (gbm_surface_destroy) than the working with it (eglMakeCurrent) is finished. But the event QPlatformSurfaceEvent, that is sent before deleting platformWindow, isn't processed (qwindow.cpp:1665), though we can perform doneCurrent() in the handler of QPlatformSurfaceEvent. The full description with valgrind stacks on bugreports. Task-number: QTBUG-52399 Change-Id: I69035dfd8ba5b5eeec243bc0edd3f571dc9525f9 Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
| | * Fix FPE under EGLFS_KMS if mesa-10.2.7Elena Zaretskaya2016-05-041-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If mesa-10.2.7 is installed, gbm_bo_create returns NULL (QEglFSKmsCursor ctor, qeglfskmscursor.cpp:80), but after that the pointer m_bo is used in function QEGlFSKmsCursor::changeCursor without verification. Task-number: QTBUG-52404 Change-Id: I5b1b15d751e46a5200248e7a8642f7917dedd220 Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>