aboutsummaryrefslogtreecommitdiffstats
path: root/tests
Commit message (Collapse)AuthorAgeFilesLines
...
| * V4: remove failing assert and fix code.Erik Verbruggen2013-11-192-0/+26
| | | | | | | | | | | | | | | | | | | | Assert failed for cases where the node’s ancestor with lowest semi-dominator number was not the same as the parent. The test case exemplifies this. Task-number: QTBUG-34792 Change-Id: Ie6847b22a27211801bff7479bfcbfaf329c6005a Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com>
| * Fix failing assertion when trying to assign to an id referenced QML objectSimon Hausmann2013-11-192-0/+18
| | | | | | | | | | | | | | | | | | | | References to id addressed QML objects are member expressions, which are unlike other member expressions by not being lvalues. Handle this correctly. Task-Number: QTBUG-34890 Change-Id: Ied6230edbc561128ad36bf0d1a1918185204deec Reviewed-by: Lars Knoll <lars.knoll@digia.com>
| * Make comparison of singletons and qobjects workAlbert Astals Cid2013-11-183-0/+120
| | | | | | | | | | | | | | | | | | | | | | Otherwise you can end up with some weird situation in which you have two objects, you print them and then you print the comparison and get a Foo(0x858480) b Foo(0x858480) a == b false Task-number: QTBUG-34651 Change-Id: Id2444d919f039be085eb5ed9112345db691540a5 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
| * Fix interaction between head room and appending in arraysLars Knoll2013-11-181-0/+13
| | | | | | | | | | | | | | | | | | | | We reserve space on both ends of the JS array for appending and prepending. Make sure they interact well with each other and don't cause any memory corruption. Task-number: QTBUG-34853 Change-Id: I184280178690e3cb12ab9b199a8436b32383af38 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
| * Don't assert in QQuickItem::updateLars Knoll2013-11-182-0/+22
| | | | | | | | | | | | | | | | | | | | | | The method can actually be called from QML, so we can not have an assert in that method. Instead simply return if the item has no contents Task-number: QTBUG-34060 Change-Id: Ib28ffa5c6c63fbec956abe25020010ed73a9cfa9 Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
| * Limit the amount of memory we allocate on the stackLars Knoll2013-11-181-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Setup limits for both the C and the JS stack, and check them before entering functions. If we run out of space, throw a RangeError exception. Be careful and recheck the stack bounds when things go outside. This catches the case where the engine got moved to another thread changing the stack boundaries. Windows currently uses an unsafe fallback implementation, this needs to be fixed later on. Task-number: QTBUG-34568 Change-Id: I22fbcbec57b28f9cc8a49e12f1cc6e53e4f07888 Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
| * Don't call receivers from disconnectNotifyAlan Alpert2013-11-171-1/+2
| | | | | | | | | | | | | | | | | | | | | | A pending documentation update is going to explain that you can't call into QObject functions from disconnectNotify, or it may deadlock on the signalSlot mutex. Task-number: QTBUG-34829 Change-Id: I57e7b4e457d813d4255c8cdbe36228b2e0f45aaa Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
| * Remove '-enable-debugger' argument from qml executableKai Koehne2013-11-165-7/+3
| | | | | | | | | | | | Task-number: QTBUG-34836 Change-Id: I3ab2a16036a1086c0ac1f50880a402caf9f54f2d Reviewed-by: Alan Alpert <aalpert@blackberry.com>
| * Do not crash when one of group animation's children is nullJacek Całusiński2013-11-153-0/+38
| | | | | | | | | | | | | | | | | | Check if pointer to QQuickAbstractAnimation for which we are setting group is valid. Task-number: QTBUG-34851 Change-Id: Iecb549f080804fd9489f884911fa51892def05a5 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
| * Fix === operator for value typesLars Knoll2013-11-154-1/+69
| | | | | | | | | | | | | | | | | | Fix === comparison for urls and other QML value types. Task-number: QTBUG-33546 Change-Id: I4a7066e6bbc7de7c599fe2c7b2fdfb75e0ff5196 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
| * Fix stacking order bug in the rendererGunnar Sletta2013-11-152-0/+66
| | | | | | | | | | | | | | | | | | | | Since we are sorting batches based on the zorder of the first element it is crucial that we don't continue adding to batches once an overlap with a compatible element is found. Task-number: QTBUG-34864 Change-Id: Ic2194c5c17bba0bc9874a14e8a69c81bff75bd1c Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
| * Don't crash when trying to assign to null.propLars Knoll2013-11-153-0/+32
| | | | | | | | | | | | | | | | | | | | Fixes a regression introduced during the exception handling refactoring. Task-number: QTBUG-34544 Change-Id: Ib751274d759030db3e5d3b1380b30dc07ec85f83 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
| * Make tst_qqmlprofilerservice more robustKai Koehne2013-11-151-2/+3
| | | | | | | | | | | | | | | | Don't expect only application output to be printed. E.g. a stray qDebug somewhere in Qt could break this test so far ... Change-Id: Ibdc31fba3bd8d822c264bd44515d16e648db9a8e Reviewed-by: Lars Knoll <lars.knoll@digia.com>
| * Don't dereference a null animationTemplateLars Knoll2013-11-142-0/+32
| | | | | | | | | | | | | | | | | | | | If the SpringAnimation gets used inside a Transition, the animationTemplate might get cleared, but updateCurrentTime() still gets called on the SpringAnimation after that. Task-number: QTBUG-34539 Change-Id: I1f27fdbfc594e6ff9a4343e45f7f4001964bb012 Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
| * V4 debugging: Fix instable test.Erik Verbruggen2013-11-141-2/+2
| | | | | | | | | | | | | | | | | | Request the scripts after hitting a breakpoint. The reason this test could fail before, is that the engine might be calling into the debugger even before any script was loaded. Change-Id: Iba49f445ab97afaf2bb168b04063432ca2f9dddd Reviewed-by: Lars Knoll <lars.knoll@digia.com>
| * Allow passing qmlRegisterSingletonType QObjects to C++ as QObject*Albert Astals Cid2013-11-144-0/+99
| | | | | | | | | | | | | | | | | | | | | | | | | | At the moment you can pass them as their FinalType* or as one of their ParentType* but not as QObject* which does not make much sense to me Task-number: QTBUG-34617 Task-number: QTBUG-30730 Change-Id: Id5cfb7bbb123456ef43f44f33b450f8966a7641a Reviewed-by: Alan Alpert <aalpert@blackberry.com> Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
| * Make tst_nodes use QSGRenderLoop to behave more like QQuickWindowGunnar Sletta2013-11-131-6/+14
| | | | | | | | | | Change-Id: I284164a45cabdb9f1fdbc2050db0cb00810ce946 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
| * Revert ffaf39e9a7f11d4e2800b3b37160a2a952795614Alan Alpert2013-11-131-1/+1
| | | | | | | | | | | | | | | | | | Making it public right now seems a little premature, given all the work happening on the engine now (and for 5.3). We'll be in a better position to commit to it or not next release. Change-Id: Ib7b14afeb9205fb8a87ed16a6d38b1f468b2bbbb Reviewed-by: Lars Knoll <lars.knoll@digia.com>
| * Polish up QQmlFileSelectorAlan Alpert2013-11-132-9/+20
| | | | | | | | | | | | | | | | Incorporate beta feedback, and hide QQmlAbstractUrlInterceptor as the implementation (instead of making that "the API"). Change-Id: Ib7b14afeb9205fb8a87ed16a6d38b1f468b2aaaa Reviewed-by: Lars Knoll <lars.knoll@digia.com>
| * V4 IR: scan arguments when entering function scope in QML.Erik Verbruggen2013-11-122-0/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | When doing IR generation for a function declaration in a QML object, call through the helper methods to check for forbidden names, and most importantly, also checks if the function has parameters. If the latter is the case, they need to be added as a member for the current scope in order to get IR generation correct. Task-number: QTBUG-34493 Change-Id: I0ade15ee19e1b1ac8ee2f2d3fa186d1551800199 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
| * V4: fix loop block marking for initializer blocks.Erik Verbruggen2013-11-122-0/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Any new blocks generated as part of the initializer were incorrectly marked as belonging to a loop. For example, if a LocalForStatement would contain a ternary expression, the generated then and else blocks would be marked. This would confuse the block scheduling, because all blocks are postponed unil the condition block (“group start”) is scheduled. Task-number: QTBUG-33754 Change-Id: I45919ebeac356f015bb91fe0210472b3df0b56d8 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | Stabilize tst_qpauseanimationjobFrederik Gladhorn2013-11-201-34/+17
| | | | | | | | | | | | | | | | | | This test is highly timer dependent and contains so many windows special cases that indicate problems (when timers are not accurate or the machine is busy). Change-Id: Ie057d560d39300252ffb6c19b4d1446179c0e56a Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* | qqmldebugclient.cpp: Fix warning about missing return.Friedemann Kleint2013-11-181-0/+1
|/ | | | | | | | | | | In file included from ../shared/qqmldebugclient.cpp:473:0: ../shared/qqmldebugclient.cpp: In member function 'QString QQmlDebugClient::stateString() const': ../shared/qqmldebugclient.cpp:452:1: warning: control reaches end of non-void function Change-Id: Ic5422dcff41591691621077ade45b6ea3ea3a8f1 Reviewed-by: Kai Koehne <kai.koehne@digia.com>
* Intercept qmldir files with the url interceptorAlan Alpert2013-11-116-1/+31
| | | | | | | | | | | There's another code path which loads qmldir files directly, and it did not use the interceptor when available. Note that this, like other interceptors, does not affect baseUrl and so any other qmldir file still must have paths relative from the initial URL. Change-Id: I620943c36d488d22fbaf1793514075d31ab76e3e Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Debugging with V4Erik Verbruggen2013-11-103-319/+177
| | | | | | | | | Currently missing, but coming in subsequent patches: - evaluating expressions - evaluating breakpoint conditions Change-Id: Ib43f2a3aaa252741ea7ce857a274480feb8741aa Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Avoid using huge floating point values in the renderer.Gunnar Sletta2013-11-093-0/+112
| | | | | | | | | | | | We pretransform vertices relative to their batch root and upload these using single-precision floats. If the offsets are huge then the floating point numbers start to get unstable and we get rendering artifacts as a result. This typically happens for lists/tables with huge models. Task-number: QTBUG-34312 Change-Id: I2516f2b4fa93f44a1288659d05458fb1af0df943 Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* Add a new variant of qmlRegisterSingletonType for QML singletons.Antti Piira2013-11-093-0/+123
| | | | | | | | | | | | | | Adds a new public API to register a QML based singleton type from C++. This is the equivalent of the the qmlRegisterType, but for singletons. qmldir file is not needed for types registered through this function, but the type still needs to include the following pragma statement among the import statements: pragma Singleton Change-Id: Icb35b665fe2a8605667fe8ac575347be2a60490c Reviewed-by: Alan Alpert <aalpert@blackberry.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Fix a few more compiler warnings in release buildsLars Knoll2013-11-091-7/+0
| | | | | Change-Id: I826226b7ddd4a74037b5bbe9a4a7322d404f53a9 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Remove debugging tests for commands not used by Qt Creator.Erik Verbruggen2013-11-091-122/+0
| | | | | | | These are also not (yet) implemented in the V4 debugging engine. Change-Id: If47b97535e69117193b87d278131f19bd4120c57 Reviewed-by: Kai Koehne <kai.koehne@digia.com>
* Simplify & speed up function callingLars Knoll2013-11-091-2/+2
| | | | | | | | | Get rid of the SimpleCallContext, instead simply use the CallContext data structure, but don't initialize the unused variables. Change-Id: I11b311986da180c62c815b516a2c55844156d0ab Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Ensure the this object is set correctly to the scope object in binding ↵Simon Hausmann2013-11-052-0/+20
| | | | | | | | | expressions This is a regression from 5.1 Change-Id: I61ad372a02d937c195dad74bd9fcb8fd4410d97a Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Fix QQuickText hover event handlingJ-P Nurmi2013-11-052-0/+50
| | | | | | | | | | Catch hover events only when the item contains either rich or styled text, and make sure to ignore hover events as appropriate to propagate them further. Task-number: QTBUG-33842 Change-Id: Idef5be7c502711393ab532c4ace31663b0e0a872 Reviewed-by: Alan Alpert <aalpert@blackberry.com>
* Fix rounding behavior of Qml when assigning doubles to integer propertiesSimon Hausmann2013-11-052-5/+5
| | | | | | | | | | | | The engine used to round, but that is inconsistent with ECMAScript's way of converting doubles to integers by truncation. With this patch we can also enable the propagation of integer type information into the IR, but we have to be careful not to utilize it when writing properties. Change-Id: I04af4879ba5131349eca2eeff2b27f4598f5267b Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Don't propagate mouse events to disabled MouseAreasAlan Alpert2013-11-052-0/+61
| | | | | | | | Task-number: QTBUG-34368 Change-Id: I28d4f57e51300f12a7bab5d215933762102f3916 Reviewed-by: Michael Brasser <michael.brasser@live.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* Say hello to the scene graph sanity-tests for renderingGunnar Sletta2013-11-016-0/+646
| | | | | Change-Id: I5d975735b0975f284b8aee15541f208e3deb704f Reviewed-by: Alan Alpert <aalpert@blackberry.com>
* tests: fix tst_qqmlmoduleplugin::incorrectPluginCase()Liang Qi2013-11-011-7/+7
| | | | | | | | | It gives different error message based on the case sensitivity of the file system on Mac. Task-number: QTBUG-32652 Change-Id: I52415126e63978c9f80b7652e0116e0e07703fd8 Reviewed-by: Liang Qi <liang.qi@digia.com>
* Fix valgrind errors in tst_qqmlecmascript::revisionSimon Hausmann2013-11-011-1/+1
| | | | | | | | | | | | | | The QML code looks like this: MyRevisionedClass { prop1: prop2 } and MyRevisionedClass is C++ based. We need to return an initialized value when reading prop2. Change-Id: I33792c04aa1ba0d8e38c1351b8fb4de7abbe4891 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* KeyNavigation should use forceActiveFocusFrederik Gladhorn2013-11-012-1/+104
| | | | | | | | | | | | | | | It would only set focus which works fine as long as the target is in the same FocusScope. But as user one would expect that the target actually receives the focus. Using forceActiveFocus is sensible since the current item needs to have the "activeFocus" anyway and within the same focus scope setting focus=true on another item will take away the active focus. Task-number: QTBUG-34209 Change-Id: I824f15fd0d4d42eb2f0c6c1b02660f2e007b3362 Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com> Reviewed-by: Alan Alpert (Personal) <416365416c@gmail.com>
* Added private API for enabling sharing between the QQuickwindow instances.Gunnar Sletta2013-11-011-13/+40
| | | | | | | | This API is primarily a hook which is needed by the Qt WebEngine to set up sharing with the scene graph's OpenGL contexts. Change-Id: I5bb03abd9ab99f502db8e413fe838a8b30365b8d Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Speed up lookups of imported scriptsSimon Hausmann2013-10-311-8/+8
| | | | | | | | | | The QQmlContextData stores the JS objects of imported scripts in a QList<PersistentValue>. Instead of indexing into that list, this patch changes ctxt->importedScripts to be a JavaScript array, that in the IR we can index via subscript. Change-Id: Ie2c35fb5294a20a0b7084bb51d19671a27195fec Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* tests: replace nokia with qtproject in tst_qqmlmodulepluginLiang Qi2013-10-3157-86/+86
| | | | | Change-Id: I674da7f77dde380fb0772d5077da84de875b6ce8 Reviewed-by: Alan Alpert <aalpert@blackberry.com>
* Initial support for resolving meta-property access for the scope and context ↵Simon Hausmann2013-10-311-0/+1
| | | | | | | | | | | | | | | | | objects at QML compile time This avoids having to do a string lookup for ids and in the import cache at run-time, before we can do a string hash lookup in the property cache. Instead we resolve final properties in the context and scope object at compile time and look them up at run-time using their index instead. The dependencies to these properties are also tracked separately and recorded in the compiled data. This is merely the initial patch. There's a lot left to do, such as having specialized getter and setters for specific property types. Setters are missing altogether right now and will fall back to name lookup. Change-Id: If3cb4e7c9454ef4850a615f0935b311c9395b165 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Test: qmltest/fontloader were fixedLiang Qi2013-10-301-6/+0
| | | | | | | | | The commit 3745b0ca126f46eadfeeb7e3d1d53360dbf800cd resolved this issue. Task-number: QTBUG-32650 Change-Id: I084b326c19e7c0de303b05b2f3fb788c380a1ba0 Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
* Use one render loop per QQuickWindowGunnar Sletta2013-10-3011-9/+451
| | | | | | | | | | | | | | | | | | | See the task for the full reasoning behind this patch. The threaded renderloop has been refactored to have one window per thread. This is mostly a simplification of the current code path where for loops over multiple windows are turned into if (window). The QSGContext has been split into two classes, QSGRenderContext for which there is one per OpenGLContext. The rest of the patch is name changes and a couple of cleanups in the hopes of simplifying this change. Task-number: QTBUG-33993 Change-Id: I31c81f9694d7da7474a72333169be38de62613c4 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Fix qqmllocale testAlan Alpert2013-10-301-5/+1
| | | | | | | | | | Test was only passing the time to the format function, thinking it was the only part under test, but the date is also relevant due to DST being part of the formatted output. Task-number: QTBUG-34406 Change-Id: I1f542b58907281632ee3c96b9b5b38426936953e Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Fix adding created objects to instantiator.kakadu2013-10-294-0/+169
| | | | | | | | | | | | Before all new objects were pushed into the end of QVector, i.e. if item model changes object with low index newly created object will be added like it has big index. So, removing objects from instantiator was buggy. Task-number: QTBUG-33847. Change-Id: I49fba53a40fce72060b629f737c10b525c67cc86 Reviewed-by: Alan Alpert (Personal) <416365416c@gmail.com> Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
* QQmlSettings: fix loading of initial valuesJ-P Nurmi2013-10-291-0/+18
| | | | | | | | | | When the initial value of a QML Settings var property is invalid ie. it has no initial value set, it must be loaded from QSettings as is without testing QVariant conversion (that would fail when the conversion target type is "invalid"). Change-Id: If002d52251e3f2d6373dcc305b439de61c6b8c79 Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* Disable DST related locale test temporarilySimon Hausmann2013-10-291-0/+4
| | | | | | | | We prioritize getting other fixes into QtQml right now, so skip these tests. According bug is filed. Change-Id: I9b824e41d2164906b22282e75aa80a69a4ce5652 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Properly propagate parse errorsLars Knoll2013-10-291-32/+41
| | | | | | | | Replace all try/catch statements used when parsing with checks for engine->hasException. Change-Id: I4493cb600d5a3eb095c2003bb88bd031403e47c9 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Fix rendernode bug and enable rendernode test.Gunnar Sletta2013-10-263-24/+21
| | | | | | | | | | | | | | The bug in the renderer was that the viewport was set before we called the render node, leaving us with the viewport set by the render node as opposed to the viewport of the renderer. The render node API is a crude and intrusive hack which was added for webkit back in the day. With the introduction of webengine it becomes less relevant, but it should still work. Change-Id: I66a1e3047e018ad6c0bb28044851e9fc65da59cc Reviewed-by: Alan Alpert <aalpert@blackberry.com>