summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* OSX: fix leaks due to missing NSAutoreleasePoolErik Verbruggen2015-02-2610-0/+59
| | | | | | | env OBJC_DEBUG_MISSING_POOLS=YES qtcreator Change-Id: Ibbe5f42af5b94a439be3f0dd0f2b6e34bb1afd3f Reviewed-by: Morten Johan Sørvig <morten.sorvig@theqtcompany.com>
* Optimize quaternion to rotation matrix convertionKonstantin Ritt2015-02-262-38/+47
| | | | | | | | Rearrange operands to get rid of 50% of multiplications (i.e. `2 * (x * x + z * z)` -> `(x + x) * x + (z + z) * z`). Change-Id: Ib5279425ead999fc571b4964ac1681b6e22f9a7e Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* [QQuaternion] Add operator* that rotates a vector with a quaternionKonstantin Ritt2015-02-262-0/+17
| | | | | | | | Same as quaternion.rotatedVector(vec). Expression like `vec = quat * vec` quite common in the 3D world. Change-Id: I0edd5a5f80537bd149f03f682b3de15c54463e23 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* [QQuaternion] Fix naming of the new methodsKonstantin Ritt2015-02-263-15/+15
| | | | | | | | | | | According to the Qt naming policy, methods that return value(s) via the mutable parameter(s) should have "get" prefix to mention that. [ChangeLog][QtGui][QQuaternion] Added methods to convert a quaternion to/from Euler angles and to/from rotation matrix. Change-Id: I95704e1f4623dc4ca54cd237ea203539fb60d452 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Fix VS build for target path with spacesOswald Buddenhagen2015-02-261-2/+2
| | | | | | | | VS expects references to $(TargetPath) to be quoted by the user. Task-number: QTBUG-25030 Change-Id: Ib5a07730836a42533d5488882e877074ccceea4c Reviewed-by: Prasanth Ullattil <prasanth.u@gmail.com>
* Minor optimization in SSE4 unpremultiplyAllan Sandfeld Jensen2015-02-261-2/+1
| | | | | | | Use a more direct conversion to desired unpacked format. Change-Id: I47e4a31c580f294c4e717850c4a420e16214e0a9 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Remove unused CGImage in qcocoabackingstoreAllan Sandfeld Jensen2015-02-262-16/+0
| | | | | | | | | Since 916dfcb8275bcce6b39606cd0b930239a60dc5df m_cgImage has been unsed in the QCocoaBackingStore and can be removed. Change-Id: Ib289b1a3b848e05dda2dfc76ca5d857770883a0b Reviewed-by: Morten Johan Sørvig <morten.sorvig@theqtcompany.com> Reviewed-by: Timur Pocheptsov <Timur.Pocheptsov@digia.com>
* Reverse iteration in QMetaEnum::valueToKeys().Friedemann Kleint2015-02-262-3/+38
| | | | | | | | | | | | | Otherwise, values that are composed of others are not handled correctly. For example, Qt::Dialog|Qt::FramelessWindowHint (Qt::Dialog=0x2|Qt::Window) is currently output as "Window|FramelessWindowHint" since Qt::Window matches first and its bits are removed from the flag value so that Qt::Dialog in the next iteration no longer matches. Change-Id: I67db5c977c75f887392aa8f345c5e6e9d82c5c26 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* Fix android menubar's menu not opening at the first press.Michal Klocek2015-02-261-0/+4
| | | | | | | | | | | | | | In case of selected item in submenu, call aboutToHide() on still visible menus. This will allow quickquickcontrols to act poperly when menus are closed. This patch is a resubmission of dbd6d158e3002689c4c367709d68744465ffd9ec which was merged to dev although it should have targeted 5.5. Task-number: QTBUG-42188 Change-Id: I868cc6fc8403f0586f35a1734e0cb026982f6063 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
* Remove PREMUL and INV_PREMUL macrosAllan Sandfeld Jensen2015-02-251-5/+0
| | | | | | | | These macros have been deprecated since 5.3 and have always been private. Change-Id: I8c80b059a4c026c037f55279a3dfc0dca58c5d5c Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
* QSysInfo: expand Linux distribution detection to /etc/lsb-releaseThiago Macieira2015-02-254-31/+205
| | | | | | | | | | | | | | | | Some older (or weird) Linux distributions don't have /etc/os-release, so let's try to read /etc/lsb-release instead. If we find a file called /etc/<distronamelowercase>-release and it's bigger than the pretty name we read from /etc/lsb-release, use that. Because the order of the keys changes between the two *-release files, we can't do a sorted search anymore. Change-Id: I1a800c709d3543699131ffff13c48532d5074f3c Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: Dirk Hohndel <dirk@hohndel.org> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Android: Don't include Qt D-Bus by defaultEskil Abrahamsen Blomfeldt2015-02-251-1/+7
| | | | | | | | | | | | | | | | | | | | | Recently, a dependency on Qt D-Bus was added to Qt Platform Support if Qt was configured to support it. Since Qt defaults to checking for Qt D-Bus at run-time, the platform plugin and thus all applications would depend on libQt5DBus.so. Qt D-Bus really doesn't make much sense on Android, so we default to disabling it instead on this particular platform. People with use cases where this might be used can still configure Qt to include support by passing -dbus to configure. Note that this makes OS X and Linux builds consistent with Windows builds, where Qt D-Bus was already disabled because the dbus.h header was missing. Change-Id: Id733ff00918c706bf1aa5a667299e7d578b4b0c1 Task-number: QTBUG-44581 Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* Fix various qdoc-warnings.Friedemann Kleint2015-02-254-4/+4
| | | | | | | | | | qtbase/src/corelib/itemmodels/qitemselectionmodel.cpp:1199: warning: Undocumented parameter 'model' in QItemSelectionModel::modelChanged() qtbase/src/corelib/plugin/qpluginloader.cpp:420: warning: Can't link to 'staticPlugin()' qtbase/src/gui/text/qtextdocument.cpp:1452: warning: No such parameter 'from' in QTextDocument::find() qtbase/src/testlib/qtestcase.cpp:2770: warning: No documentation for 'QTest::qExtractTestData()' Change-Id: I76758dbdf3ad7b0ae1f14de0407a6fde523827d0 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
* QVariant: fix converting enum to stringOlivier Goffart2015-02-252-3/+3
| | | | | | | Use QMetaEnum::valueToKey instead of valueToKeys. Change-Id: I270f0820a03aaebde94c37c011c5e9b81421b50f Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
* Doc: Fix typosSergio Ahumada2015-02-251-1/+1
| | | | | | | Change-Id: Id7ecc747545f9675b84c3a8c284a52e72a584135 Reviewed-by: Sune Vuorela <sune@vuorela.dk> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
* Improve setDefaultFormat docs regarding AA_ShareOpenGLContextsLaszlo Agocs2015-02-251-0/+6
| | | | | | | | | | | When using core profile contexts, sharing with the global share context may not work if the global one is a non-core context. This can happen when setDefaultFormat() is called only after Q(Gui)Application is constructed. This is a typical issue on OS X, so document it. Change-Id: I6a8dca442ffeb884faedb9c6346351bb6eef3cff Reviewed-by: Sean Harmer <sean.harmer@kdab.com> Reviewed-by: Jørgen Lind <jorgen.lind@theqtcompany.com>
* qiosmenu: Move "Done" button to the rightKai Uwe Broulik2015-02-251-4/+4
| | | | | | | The "Done" action is traditionally on the right. Change-Id: I2497b878b552a9bcf69827a0ab85f1931067a023 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
* Fix underline for centered textEskil Abrahamsen Blomfeldt2015-02-251-1/+1
| | | | | | | | | | | | | | | The position of the text itself is always floored, since the glyph contains the subpixel antialiasing. Since no antialiasing is applied to the underline, its position also has to be floored, otherwise it will sometimes appear one pixel to the right of the text it's underlining. [ChangeLog][Text] Fixed position of underline on centered text when the text layout's width is an even number. Task-number: QTBUG-39286 Change-Id: Ib1704ac5b09289f5b3f5a6580443f234d6d868fc Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
* Allow QDistanceField to be directly constructed from a QPainterPath.Michael Brasser2015-02-252-0/+12
| | | | | | | | | | Enables optimization in the case of an already existing QPainterPath. Change-Id: I7f038673ce245ea19e400e6d2c728f07cb55e366 Task-number: QTBUG-42853 Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com> Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
* Fix crash when accessing QStyleHints before QGuiApplication is constructed.Friedemann Kleint2015-02-259-16/+59
| | | | | | | | | | | Make styleHints a static member variable of QGuiApplicationPrivate and fix accessor accordingly. Extend tst_QApplication::settableStyleHints() to run without QApplication instance as well and add a similar test to QGuiApplication. Task-number: QTBUG-44499 Change-Id: I42b92ef38f7dd512d08d70accfa7dd4f09a22f01 Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* Fix invocations of static methods of QGuiApplication/QApplication.Friedemann Kleint2015-02-2517-53/+53
| | | | | | Change-Id: I99ba58763f6063fa2a6f511adbea0163cce7ea32 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* Add manual test for QMimeDatabase.Friedemann Kleint2015-02-253-1/+147
| | | | | | | | | | Add command line test application that can print the mime type of a file or dump all mime types. Task-number: QTCREATORBUG-13996 Task-number: QTCREATORBUG-14005 Change-Id: I5ef2fa4b9fbab986b1db4fc0bd8abaacdf4f8fa0 Reviewed-by: David Faure <david.faure@kdab.com>
* QSslSocket: Factor out error message about failure to set the elliptic curves.Friedemann Kleint2015-02-251-2/+7
| | | | | Change-Id: Ic5305216536ee3938c389336c979b5c90fc886e4 Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* add autotest for qmake parserOswald Buddenhagen2015-02-255-1/+2204
| | | | | Change-Id: Ib3dcb6c1aaac20ca6a3bc0dc564e16ec7bd152db Reviewed-by: Daniel Teske <daniel.teske@theqtcompany.com>
* catch missing closing braces outside any scope as wellOswald Buddenhagen2015-02-251-1/+1
| | | | | | | | it doesn't make a whole lot of sense, but it's possible to create braced blocks which have no semantic meaning. Change-Id: Id55dfdee1aa3fade507cbd1eb34bdffcd7eb6bff Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* don't make an even number of bangs almost entirely invisibleOswald Buddenhagen2015-02-252-10/+9
| | | | | | | | otherwise we'd silently accept this nonsensical code: !!defineTest(foo) {} Change-Id: I66b59c8a89852c6451ce8d7269a3dc66a53e3b1f Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* be more strict about bogus operatorsOswald Buddenhagen2015-02-252-6/+59
| | | | | | | | we now warn about the pointless ones, and error out in cases that already were semantically bogus. Change-Id: Ifd80014af0fc53e3cc42561c4270d1dca234568f Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* make some messages less ambiguousOswald Buddenhagen2015-02-251-3/+3
| | | | | Change-Id: I6032fdc1c1e6b1fb852da09e47990de03966fa3c Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* don't write pointless TokAnd at start of control scopesOswald Buddenhagen2015-02-251-2/+8
| | | | | | | | | | a colon after else/for is non-AND-ing, i.e., it's no logical operator, but "punctuation". therefore, putting an operator into the token stream is bogus. it didn't hurt execution, so it went unnoticed, but it still wasted some bytes and cpu cycles. Change-Id: If5578074257feed299bda1630bf0dfe72eb395ae Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* factor out putOperator()Oswald Buddenhagen2015-02-252-7/+10
| | | | | Change-Id: I1b01e36e15dc93fc4e37597b66841d7102fa6b0d Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* move parseError() call into bogusTest()Oswald Buddenhagen2015-02-252-23/+15
| | | | | | | they come always in pairs (with one exception). Change-Id: Ia2f69a8776bd7146ff2fb18d13cc6bb5b2c71139 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* make all parse errors invalidate the parse resultOswald Buddenhagen2015-02-252-12/+6
| | | | | | | they have been semi-warnings for a long enough time now. Change-Id: I3fffd63f7b44b30d2dc18cdcd74221c10e98399d Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* always flush scopes on closing braceOswald Buddenhagen2015-02-251-1/+2
| | | | | | | | | | | | | without that, both the lines cond1 { cond2: VAR = val } and cond1 { cond2: else: cond3 } would yield two bogus errors: first an excess brace, and then a missing one. Change-Id: I8609106c1ad387577deec2077e2ce13507ac4d3f Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* don't write pointless TokFuncTerminators into the streamOswald Buddenhagen2015-02-251-1/+3
| | | | | | | | | | | | we are transforming "magic" function calls into other structures. past that point it's wrong to keep the function argument list terminator in the token stream. this went unnoticed, because in this context it was equivalent with the expected value list terminator (which was simply never reached). Change-Id: I3dc6719273ce9d663db867f355eba682ba6ccf2c Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* add autotest for ioutilsOswald Buddenhagen2015-02-252-0/+99
| | | | | Change-Id: I63700a57e0edf5aec02abfffdc7601743379f12c Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* add test for the qmake libraryOswald Buddenhagen2015-02-254-0/+85
| | | | | | | | | the existing test is a blackbox test. this one is going to be different. the first test is a bit trivial ... Change-Id: Iba1b0b5c32490677551ee92c36f381b884c2765d Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* Decide whether to synthesize mouse events on a per device basisAlexander Volkov2015-02-2520-66/+85
| | | | | | | | | | | | | | | | | | | | | Currently Qt uses the QPlatformIntegration::StyleHint SynthesizeMouseFromTouchEvents to check whether to synthesize mouse events from touch events. But not only platform plugins can produce touch events, they can be created by e.g. QTest::touchEvent() and in this case we almost definitely need synthesizing regardless of the platform. This commit introduces a QTouchDevice::MouseEmulation capability which replaces use of the QPlatformIntegration::SynthesizeMouseFromTouchEvents. So it's possible to pass QTouchDevice without this capability to QTest::touchEvent() and be sure that mouse events will be synthesized. Notice that touch pads always emulate mouse events. As a result we can activate some tests which were disabled for specific platform configurations by commits 6c1670d8c273819435867c42725c0db0eee597dc and e9760f1559361c39f269fb89f1ebd01f6ee8378d. Change-Id: Idc82fa4007a095fc1cb5934979361b0023d2b793 Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* Correct typo in the Gujarati openType identififer.Michael Brüning2015-02-251-1/+1
| | | | | | | | Based on testing by Paresh Adhia. Task-number: QTBUG-44568 Change-Id: I0a84710bcda40f65b38c3b18f4d9b34f654e4c22 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
* xcb: add qt.qpa.screen logging categoryShawn Rutledge2015-02-255-39/+66
| | | | | | | | | | | Some existing debug output required recompiling with Q_XCB_DEBUG. Being able to enable this debugging in the field will help with troubleshooting any remaining screen management issues. Change-Id: Ie67b0009d4b00b0d39fde0fb4d8d54fcf89d6693 Reviewed-by: Sandro Mani <manisandro@gmail.com> Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com> Reviewed-by: Jørgen Lind <jorgen.lind@theqtcompany.com>
* Ensure QGuiApplicationPrivate::screen_list is correctly populatedSandro Mani2015-02-255-24/+50
| | | | | | | | | | Ensure QGuiApplicationPrivate::screen_list always contains at least one screen, and that the first item (returned by QGuiApplication::primaryScreen) is always the current primary screen Task-number: QTBUG-42985 Change-Id: I08b880b3e94387f28230ed5fc738bceea943bad3 Reviewed-by: Jørgen Lind <jorgen.lind@theqtcompany.com>
* Have XCB/Windows platform integration classes keep their own instance pointerSandro Mani2015-02-258-15/+26
| | | | | | | | | | | | Through the chain of code called by QPlatformIntegrationFactory::create, there are cases where QGuiApplicationPrivate::platform_integration is accessed (typically through QGuiApplicationPrivate::platformIntegration()) before the call to QPlatformIntegrationFactory::create has returned. Change-Id: I7805b72be5b56aed5cb8ce30cb908743c9b1f91b Task-number: QTBUG-44388 Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
* imagegestures example: scaleFactor is relative; get values directlyShawn Rutledge2015-02-251-8/+4
| | | | | | | | | | | | | QPinchGesture::scaleFactor is relative to the previous zoom factor, so either we need to multiply the total zoom by scaleFactor, or set it based on totalScaleFactor, which is simpler. Pinch-zoom is now working in this example. There's also no reason to use getProperty() when the accessors are directly accessible in QPinchGesture. Task-number: QTBUG-6010 Change-Id: I150dc0b18b4b871a08ec55c0f77463509ab26afe Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
* Fix QT_POSIX_IPC supportPasi Petäjäjärvi2015-02-256-7/+3
| | | | | | | | | On platforms which does not have at all sysv support, all posix ipc tests and compilation failed because sysv specific header files were included unconditionally. Change-Id: I5713ace6daeb6e79f8794ce42b2b3dfa1b95ab2d Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
* Micro-optimize QApplication.Friedemann Kleint2015-02-251-16/+21
| | | | | | | Avoid repeated instantiation of end() in loops, use variable instead. Change-Id: I5f58fa63c2845827ebe9be2d0fcee80b7ccc74bc Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* tst_QDnsLookup: Output more information on failure.Friedemann Kleint2015-02-251-1/+34
| | | | | Change-Id: Id4edf9b0672dbcabc7f749a489ae8fb6c6dde993 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Fix various qdoc-warnings.Friedemann Kleint2015-02-255-5/+5
| | | | | | | | | | qtbase/src/corelib/doc/src/containers.qdoc:28: warning: Can't link to 'QList:end()' qtbase/src/corelib/kernel/qmetaobject.cpp:2680: warning: Cannot find 'fromType(...)' in '\fn' QMetaEnum QMetaEnum::fromType() const qtbase/src/corelib/kernel/qmetatype.cpp:1117: warning: Cannot find 'qMetaTypeTypeImpl(...)' in '\fn' int qMetaTypeTypeImpl(const char *typeName) qtbase/src/corelib/plugin/qplugin.qdoc:48: warning: Cannot find file to quote from: 'plugins/interfaces.h' Change-Id: Ie613253211e16ec616ccb70c24c625a9d5352d1b Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* QtGui: Fix some qdoc-warnings.Friedemann Kleint2015-02-253-6/+6
| | | | | | | | | | | | | | qtbase/src/gui/math3d/qquaternion.cpp:466: warning: Undocumented parameter 'eulerAngles' in QQuaternion::fromEulerAngles() qtbase/src/gui/math3d/qquaternion.cpp:466: warning: No such parameter 'eulerAngles.y()' in QQuaternion::fromEulerAngles() qtbase/src/gui/math3d/qquaternion.cpp:466: warning: No such parameter 'eulerAngles.x()' in QQuaternion::fromEulerAngles() qtbase/src/gui/math3d/qquaternion.cpp:466: warning: No such parameter 'eulerAngles.z()' in QQuaternion::fromEulerAngles() qtbase/src/gui/math3d/qquaternion.cpp:455: warning: No such parameter 'pitch' in QQuaternion::toEulerAngles() qtbase/src/gui/math3d/qquaternion.cpp:455: warning: No such parameter 'roll' in QQuaternion::toEulerAngles() qtbase/src/gui/math3d/qquaternion.cpp:455: warning: No such parameter 'yaw' in QQuaternion::toEulerAngles() qtbase/src/gui/opengl/qopenglshaderprogram.cpp:2757: warning: No such parameter 'value' in QOpenGLShaderProgram::setUniformValueArray() Change-Id: Ib825ecb0db798380d97414ca3c3eba8bee3ab6ea Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
* Remove documentation of QDBusIntrospection::Object::introspection.Friedemann Kleint2015-02-251-8/+0
| | | | | | | | qtbase/src/dbus/qdbusintrospection.cpp:269: warning: Cannot find 'QDBusIntrospection::Object::introspection' specified with '\variable' in any header file Change-Id: I7c5d207842235752ebe38f45b7eee7f8fc00127d Reviewed-by: Leena Miettinen <riitta-leena.miettinen@theqtcompany.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Merge remote-tracking branch 'origin/5.4' into 5.5Frederik Gladhorn2015-02-24180-168495/+359125
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: examples/xml/htmlinfo/simpleexample.html examples/xml/rsslisting/rsslisting.cpp qmake/generators/win32/msbuild_objectmodel.cpp src/3rdparty/harfbuzz-ng/src/hb-private.hh src/corelib/global/qlogging.cpp src/corelib/io/qstorageinfo_unix.cpp src/corelib/thread/qwaitcondition_unix.cpp src/gui/kernel/qguiapplication.cpp src/plugins/platforms/linuxfb/qlinuxfbintegration.cpp src/testlib/doc/src/qt-webpages.qdoc tests/auto/other/qaccessibility/tst_qaccessibility.cpp Change-Id: Ib272ff0bc30a1a5d51275eb3cd2f201dc82c11ff
| * QtOpenGL: avoid crashing if creating a QGLContext sharing with the global ↵Giuseppe D'Angelo2015-02-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QOpenGLContext If one asks for the global OpenGL context via the right attribute, and then creates a QGLContext sharing with that context, Qt will create anoter, dummy QGLContext owned by the global context. At application shutdown, and specifically after ~QObject of QGuiApplication has run, the QObjectPrivate dpointer gets destroyed. That destroys the owning global QOpenGLContext, and therefore that dummy QGLContext as well. However, QGLContext dtor triggers a code path that accesses qApp as if it were still alive. That's not the case any more -- it has already been destroyed. So, introduce a check and avoid dereferencing NULL. Task-number: QTBUG-44621 Change-Id: Ic160ac99e9269db999e76229b1c7f8c53bd2be61 Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>