summaryrefslogtreecommitdiffstats
path: root/tests
Commit message (Collapse)AuthorAgeFilesLines
...
| * | Merge remote-tracking branch 'origin/5.3' into devFrederik Gladhorn2014-08-041-4/+10
| |\| | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: config.tests/arch/arch.cpp src/opengl/qgl_qpa.cpp src/widgets/kernel/qapplication.cpp Change-Id: I80b442a4c2c9632743a5b5c7319ff201ec5bc4fd
| | * Merge remote-tracking branch 'origin/stable' into 5.3Oswald Buddenhagen2014-07-301-4/+10
| | |\ | | | | | | | | | | | | Change-Id: I2a044d44ca991ba20ddd710053b85afb51e362d3
| | | * QNX: Fix QMdiWindow autotestsFabian Bumberger2014-06-251-4/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In "setOpaqueResizeAndMove" this patch makes sure that the content of a subwindow actually fits into the window, otherwise the resize does not work properly. The content is dpi dependent and thus the pixel size of it increases with the display dpi value. Furthermore when moving the QMdiSubwindow this patch makes sure that we actually grab the window's header and not one of it's tool buttons (minimize, maximize, close). Change-Id: I88314994957c5883f57c09c9240a3b83f1ee42ed Reviewed-by: Sergio Ahumada <sahumada@blackberry.com> Reviewed-by: Bernd Weimer <bweimer@blackberry.com>
* | | | Remove d3dcompiler_qtAndrew Knight2014-08-052-373/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This library was created as a work around for limitations on Windows Phone 8.0, which will not be supported going forward (Qt 5.4). Therefore, we no longer need (or want to maintain) this experimental feature and should remove it from the repository. Change-Id: Ia417833f9de43e2d3e0940df93625e7d87a555ea Reviewed-by: Oliver Wolff <oliver.wolff@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* | | | Fix cmake-test for Dynamic OpenGL.Friedemann Kleint2014-08-051-12/+19
|/ / / | | | | | | | | | | | | Change-Id: I604501d07b4728c5158e88a6760b9f1e31311991 Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* | | Make QOpenGLWidget publicLaszlo Agocs2014-08-016-5/+297
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QOpenGLWidget is now public. In addition Qt::WA_AlwaysStackOnTop is introduced to support the special case of semi-transparent QOpenGLWidget or QQuickWidget on top of regular widgets. hellogl_es2 becomes the qopenglwidget example. This example performs painting both via QPainter and native GL commands and has the OpenGL widget combined with other, normal widgets. The widget stack receives some changes when it comes to renderToTexture widgets like QQuickWidget and QOpenGLWidget. Calling update() will now result in a paint event, which is essential for QOpenGLWidget since we want it to behave like a regular widget. The dirty region handling is extended specially for such widgets due to performance reasons. (an OpenGL content update must not result in any backingstore painting, and is thus handled as a different kind of dirtiness) [ChangeLog] Added QOpenGLWidget. This widget serves as a replacement for QGLWidget. Task-number: QTBUG-36899 Task-number: QTBUG-40086 Change-Id: Ibf7f82fea99b39edfffd2fc088e7e0eadbca25cf Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
* | | tst_QTimeZone: test QTimeZonePrivate::isValidId()Marc Mutz2014-07-311-0/+61
| | | | | | | | | | | | | | | | | | | | | This is in preparation of rewriting the function for efficiency. Change-Id: Id5c16b984b95d76e1f26d862e3813f75980f44fb Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | | Add a test for move assignment to tst_QPaletteMarc Mutz2014-07-311-0/+22
| | | | | | | | | | | | | | | | | | | | | | | | It was simply missing. Change-Id: I6645bb9fe9c81aec9c46ac5efc7d2295a3784ff6 Reviewed-by: J-P Nurmi <jpnurmi@digia.com> Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* | | Ensure valid data after QImage::invertPixelsAllan Sandfeld Jensen2014-07-311-0/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QImage::invertPixels may produce invalid data after inversions of images with premultiplied alpha, because the inverted colors will be larger than the alpha. This patch converts any image with a premultiplied alpha channel to ARGB32 before inverting the pixels, and then back to the original format after the inversion. Support is added for correct inversion of RGBA8888 and RGB30 formats. Task-number: QTBUG-39901 Change-Id: Ief24c55f495e67ef2ad6429b5b418d02963a64dd Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
* | | tst_qwidget: Fix geometries.Friedemann Kleint2014-07-311-73/+155
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use sizes relative to the test widget size; move windows relative to the top left point of the available screen geometry. Set a window title on widgets to be able to identify them. The test now passes on Windows using a 4K monitor. Task-number: QTBUG-38858 Change-Id: I5df9198e390befeb3ca18796e24180135a084aad Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
* | | tst_qwindow: Fix geometries.Friedemann Kleint2014-07-311-55/+75
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use sizes relative to the test window size; move windows relative to the top left point of the available screen geometry. The test now passes on Windows using a 4K monitor. Task-number: QTBUG-38858 Change-Id: Ia8d992f2a9bfa1cb1deacaf918ed0cfff7616959 Reviewed-by: Oliver Wolff <oliver.wolff@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | | QTabletEvent manual test: show buttons, pressure, eraserShawn Rutledge2014-07-314-39/+127
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Show which button was pressed or released - Render an ellipse proportional to pressure for each point drawn - Different color for the eraser - More complete output for each event - Don't show mouse events by default, just as most tablet applications can now ignore mouse events on the drawing canvas. But for the purpose of testing interleaving of tablet and mouse events, one can give the argument --mouse when starting this program to show them too, as before. Task-number: QTBUG-39458 Change-Id: I5e03f1aa748be39d524bd6984ff5d66579787cf9 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
* | | Add QString::splitRef functions.Jędrzej Nowacki2014-07-311-15/+123
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The functions can be used to optimize code that do not need to use the split results as QString directly. [ChangeLog][QtCore] QString can now split a string to a list of QStringRef. Change-Id: Ic2dc929e1fba82f9a060e37c51068a301cb5b866 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* | | QProgressDialog: make the cancel button retranslate on LanguageChangeMarc Mutz2014-07-301-0/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It is documented to be, and the LanguageChange event is caught and processed. However, retranslateStrings() uses QProgressDialog::setCancelButtonText(), which unconditionally sets useDefaultCancelText=true, blocking any further changes to the button text by subsequent LanguageChange events. The fix is to use extracted QProgressDialogPrivate::setCancelButtonText() which - quite intentionally - doesn't set useDefaultCancelText. Task-number: QTBUG-40504 Change-Id: I6e701deda10c454cb088c0b0778ac2d6adff574a Reviewed-by: David Faure <david.faure@kdab.com>
* | | QProgressDialog: don't crash when setting the same {bar,button,label} againMarc Mutz2014-07-301-0/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The associated test has unearthed that setBar() fails to make the new bar a child of the progress dialog. This will be fixed in a separate commit. Task-number: QTBUG-40502 Change-Id: I2d09ebb07ae6395449a4efe38a638df831eebdd7 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: David Faure <david.faure@kdab.com>
* | | tst_QProgressDialog: enable topLevelWindows() check in cleanup()Marc Mutz2014-07-301-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | Detects widget leaks. Change-Id: Ia2287debc96a5b87b224b887661679eba8622dc0 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: David Faure <david.faure@kdab.com>
* | | Clean up tst_QProgressDialogMarc Mutz2014-07-301-14/+2
| | | | | | | | | | | | | | | | | | | | | | | | Remove empty ctor and dtor. Change-Id: Ib89f463eb2623bbb66cc3faa2ab2d5992810f153 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: David Faure <david.faure@kdab.com>
* | | Merge "Merge remote-tracking branch 'origin/5.3' into dev" into refs/staging/devFrederik Gladhorn2014-07-304-7/+109
|\ \ \
| * | | Merge remote-tracking branch 'origin/5.3' into devFrederik Gladhorn2014-07-294-7/+109
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/network/ssl/qsslsocket_openssl_symbols.cpp Change-Id: Ic62419fa1fee5f4de6c372459d72e6e16f9a810b
| | * | tst_QSet: verify that {}-style initialization drops duplicatesMarc Mutz2014-07-251-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | No actual reason for this test, except my curiority. Then again, it's good to have this check, too. Change-Id: I815fce7e4dbe76e21cac29beb1dbfc1083191d24 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
| | * | tst_QMap: replace QVERIFY(x == y) with QCOMPARE(x,y)Marc Mutz2014-07-251-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | QCOMPARE produces more useful output on failure. Change-Id: Idaa9bf61a22a43b0feb084a71985a69c8787d633 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
| | * | tst_QMap: verify that {}-style initialization drops duplicatesMarc Mutz2014-07-251-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | No actual reason for this test, except my curiority. Then again, it's good to have this check, too. Also checks that the last entry in the init_list "wins", which is not how std:: containers work. Change-Id: I4f7d1228f2b90a904b6c3f99e54afcd9970b723e Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
| | * | tst_QHash: replace QVERIFY(x == y) with QCOMPARE(x,y)Marc Mutz2014-07-251-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | QCOMPARE produces more useful output on failure. Change-Id: I584a5d33026ac2587758d72524f735937029e111 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
| | * | tst_QHash: verify that {}-style initialization drops duplicatesMarc Mutz2014-07-251-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | No actual reason for this test, except my curiority. Then again, it's good to have this check, too. Also checks that the last entry in the init_list "wins", which is not how std:: containers work. Change-Id: Ia284d093cd0029432372630e81657fb687b9516f Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
| | * | QNAM: Fix CPU load for limited upload QIODeviceMarkus Goetz2014-07-251-0/+92
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes high CPU load for upload devices that don't generate a constant stream of data. Their readData() function was called all the time without returning actual data. This was noticed when implementing an upload device that emits data in a limited way for bandwidth limiting. [ChangeLog][QtNetwork][QNetworkAccessManager] Fixed high CPU load when handling POST/upload QIODevice that generates data on readyRead(). Change-Id: Iefbcb1a21d8aedef1eb11761232dd16a049018dc Reviewed-by: Richard J. Moore <rich@kde.org>
* | | | Accessibility: Top level widgets should only be in the hierarchy onceFrederik Gladhorn2014-07-301-0/+61
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On Linux for example Orca gets confused when showing a dialog that is a child of another widget since it would show up twice in the hierarchy. Task-number: QTBUG-39444 Change-Id: I84773ecc3d6774a652dbeb29ad201779f5b3191c Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
* | | | Support RGB30 formats in OpenGL framebuffers and paint engineAllan Sandfeld Jensen2014-07-301-1/+109
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds support for binding RGB30 images as textures, and as internal format of framebuffer objects. Together with the QOpenGLPaintDevice this provides support for rendering to and from RGB30 in full precision. [ChangeLog][QtGui][QOpenGLFramebufferObject] Support 10-bit per color channels formats as the internal framebuffer format, making it possible to render in that precision. Change-Id: I06de2d12dfe1c1adc466d574fdffbc77f88f4f16 Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* | | | Fix QByteArray::to{Upper,Lower} when the array contains embedded nullsThiago Macieira2014-07-301-0/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [ChangeLog][QtCore][QByteArray] Fixed a bug that would cause QByteArray to stop converting toUpper or toLower at the first embedded null character. Change-Id: Ia369037206617813d86a8f1489589243c82aa51b Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* | | | QDebug: Improve QDebug stream operator for QFlagsKai Koehne2014-07-301-0/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use the built-in hex, showbase manipulator to format the number in hex. Also, apply nospace() only once. Change-Id: Id4b3d5f082ad13f52c8711408d7ec609bec3a621 Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
* | | | Add qFormatLogMessage()Kai Koehne2014-07-301-1/+61
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Export the former qMessageFormatString() as qFormatLogMessage(). This allows custom message handlers to format their messages just like the default message handler, taking qSetMessagePattern() / QT_MESSAGE_PATTERN into account. The method should arguably not add the '\n' at the end, which a follow up commit will fix. Change-Id: Ib2a9cfda91473df079daf03bf3197e6ac63e013e Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
* | | | add priority sorting to $$resolve_depends()Oswald Buddenhagen2014-07-301-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | all else being equal, items with a higher numerical priority will appear first in the result. Change-Id: I4ee37ff404a53c4152a1e4fc2fc3c23ef525234d Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | | | Add initializer list support in QJsonObject.Jędrzej Nowacki2014-07-301-2/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It allows to create a QJsonObject instance in C++ by using initializer list of pairs QString QJsonValue, for example: QJsonObject o = {{"property1", 1}, {"property2", 2}}; [ChangeLog][QtCore][QtJson] QJsonObject now supports C++11 initializer lists. Task-number: QTBUG-26606 Change-Id: I67af881e175f427e563e685336c48a5f8466b476 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | | | QMdiArea: Store focus widget when new QMdiSubWindow is added.Friedemann Kleint2014-07-301-1/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Introduce function QMdiSubWindowPrivate::storeFocusWidget() to store focus widget and call this when de-activating a sub window. Change restoreFocus() to return a bool and call it from QMdiSubWindowPrivate::setActive(). Task-number: QTBUG-38378 Change-Id: I18dbe66ce85213ca5b4907b5a09126544415351a Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* | | | Export QAbstractState active property.BogDan Vatra2014-07-291-16/+888
|/ / / | | | | | | | | | | | | | | | | | | It is needed to check if a State is active. Change-Id: I8aa0230b8cd96fb9b95b86b2ce118fe280f9ce97 Reviewed-by: Alan Alpert <aalpert@blackberry.com>
* | | tst_QFont: remove unused static functionMarc Mutz2014-07-281-14/+0
| | | | | | | | | | | | | | | | | | | | | | | | This function has been inlined in commit 4f50be8d, but wasn't removed. Change-Id: I1a4eb7399ab2dd87a9fb15c4c886004d777487a8 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
* | | Logging: support %{backtrace} in QT_MESSAGE_PATTERNOlivier Goffart2014-07-283-7/+64
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On supported platform, allow to show a backtrace by using %{backtrace} or %{backtrace depth=N separator="|"} [ChangeLog][QtCore][Logging] QT_MESSAGE_PATTERN can include a backtrace using %{backtrace} Change-Id: Ib00418c070d3bd6fe846dc04bf69fa91ba64f9cd Reviewed-by: Kai Koehne <kai.koehne@digia.com>
* | | Fix typo with impact on test outputJoão Abecasis2014-07-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | If the test fails here, output the values actually used in comparison. Change-Id: Ie4ed5ebdf1951c02b89a9648aee50a99d0bb0628 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | | Add missing to gui/kernel benchmarks.Jędrzej Nowacki2014-07-281-1/+3
| | | | | | | | | | | | | | | | | | | | | kernel.pro was not updated. Change-Id: Ibe11aaf5d6e788dacd2a2d33088fb9445334fb4e Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
* | | Remove useless QMetaType benchmarksJędrzej Nowacki2014-07-282-143/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Cost of a type lookup for core built-in types is really small, just few cpu instructions, but the benchmark was testing create() and destroy() functions (in a different fashion) which by definition allocate and de-allocate memory. These memory operations are significantly more expensive which obfuscate the results. Change-Id: I33c679f57e6c2b57e98328f076dfe249ab7bcde8 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Stephen Kelly <steveire@gmail.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | | Clean up tst_QPaletteMarc Mutz2014-07-261-37/+2
| | | | | | | | | | | | | | | | | | | | | Remove ctor, dtor, and empty test functions. Change-Id: I0cf60732258c4470f40ddb258d87f0ac2de64edf Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* | | QUrl: fromLocalFile(QString()) should lead to an empty URL.David Faure2014-07-261-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is much more useful than the URL "file:", it allows to use "empty path" and "empty URL" for the same meaning (e.g. not set). QFileDialog actually uses "file:" though, as the URL for the "My Computer" item in the sidebar. This patch preserves that. [ChangeLog][QtCore][QUrl] QUrl::fromLocalFile now returns an empty URL if the input string is empty. Change-Id: Ib5ce1a3cdf5f229368e5bcd83c62c1d1ac9f8a17 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | | Integrate tst_bench_qringbuffer into the build tree.Alex Trotsenko2014-07-251-0/+1
| | | | | | | | | | | | | | | Change-Id: Id1d091889c3ba5e343d1237f016fdc22f7dfe413 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* | | Fix compilation on ARM without ARMv6T2Thiago Macieira2014-07-251-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The "rbit" instruction requires ARMv6T2 or higher. This was found in the CI when building the imx6 target: Compiler: arm-poky-linux-gnueabi-g++ Flags: -mfloat-abi=hard -mfpu=neon Errors from the assembler: {standard input}:3078: Error: selected processor does not support ARM mode `rbit r3,r3' {standard input}:7341: Error: selected processor does not support ARM mode `rbit ip,ip' That compiler defaults to ARMv5T. That's obviously wrong for an i.MX 6, which is a Cortex-A9 (ARMv7), but the correction applies for older processors. Change-Id: I56c276fa411977dd7cd867d62adf021e4909302c Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
* | | tst_qgraphicsproxywidget: Fix widget leaks.Friedemann Kleint2014-07-251-16/+24
| | | | | | | | | | | | | | | Change-Id: I953e308e2380c87a69ca1d22e6ac036c57deccda Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
* | | tst_qmdiarea: Fix widget leaks.Friedemann Kleint2014-07-251-2/+13
| | | | | | | | | | | | | | | Change-Id: If2ecf2c080f9eb8416b9a3d4104584681862c266 Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
* | | Fix QJsonValue comparison.Jędrzej Nowacki2014-07-251-0/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | QJsonValue, while comparing two QJsonArrays, should consult also length of the arrays, because a different than null base pointer doesn't mean that an array is not empty. Change-Id: If76739355a4e74b842e836289565f98d95c006d5 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | | Fix QJsonValue comparison.Jędrzej Nowacki2014-07-251-4/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | QJsonValue, while comparing two QJsonObjects, should consult also length of the objects, because a different than null base pointer doesn't mean that an object is not empty. Change-Id: Ibee1849ef9fed15d32f2c8f2aad9b053846e46b7 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | | Reading QJsonObject property should not modify the object itself.Jędrzej Nowacki2014-07-251-0/+124
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before this change such code: QJsonObject o; o["blah"]; would create property "blah" and assign null value to it, while this code: const QJsonObject o; o["blah"]; would not. The change unifies the confusing behavior. Now reading a non-existing property, is not causing a property to be added in any visible way. Internally QJsonObject stores a special hash of undefined, but referenced values. Such reference is supposed to not live long, only to the first compacting or assignment. Change-Id: Ib022acf74ff49bad88d45d65d7093c4281d468f1 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | | Fix QJsonObject const index operatorJędrzej Nowacki2014-07-251-0/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | The operator should always return an undefined values for an empty object Change-Id: Ic38f7660d77c64b2d001967bc5109df4185db74a Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | | tst_qwidget: Fix top level widget leaks.Friedemann Kleint2014-07-251-6/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | Fix tests widgets leaking widgets and ensure it stays that way by adding a check to cleanup(). Task-number: QTBUG-38858 Change-Id: I77a81d823c68cf0b4e51c2da55b1c473d6e4170b Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>