aboutsummaryrefslogtreecommitdiffstats
path: root/tests
Commit message (Collapse)AuthorAgeFilesLines
* ListView: add support for "pull back" header & footerJ-P Nurmi2014-08-085-0/+876
| | | | | | | | | | | [ChangeLog][QtQuick][ListView] Introduced headerPositioning and footerPositioning properties to control whether header and footer are positioned inline, as overlays, or so that they slide away and can be pulled back regardless of the content position. Change-Id: Ifef1faf1ce6acf2b55cd1b6408e22ec2de841409 Reviewed-by: Alan Alpert <aalpert@blackberry.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* Accelerate property lookups for C++-based QObject singletons.Michael Brasser2014-08-071-1/+1
| | | | | Change-Id: Icbdf06a077014db5dd57cba42f84591433ec4196 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Temporarily mark grab()/item.layer tests insignificant under ANGLEAndrew Knight2014-08-072-0/+36
| | | | | | | | This is to pass CI while the issue is being fixed. Task-number: QTBUG-40649 Change-Id: I9b095ce0ce0a3c51956ab81d09975b6cc6ce3592 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Disable tests on failing ANGLE configGunnar Sletta2014-08-072-0/+6
| | | | | | Task-number: QTBUG-40658 Change-Id: I9a00083213de4d31216813351a406ec460d146fa Reviewed-by: Andrew Knight <andrew.knight@digia.com>
* Speed up the test a bit..Gunnar Sletta2014-08-042-27/+58
| | | | | | | | | Using hundreds of thousands of Items works, but it takes its toll, so use a custom item to allocate QSGNodes directly which are instantanous. Change-Id: Iee5d8495b3d7d5abd24c14a53b2327e5efe9523b Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* Merge "Merge remote-tracking branch 'origin/5.3' into dev" into refs/staging/devFrederik Gladhorn2014-08-014-0/+174
|\
| * Merge remote-tracking branch 'origin/5.3' into devFrederik Gladhorn2014-07-294-0/+174
| |\ | | | | | | | | | Change-Id: Id95f7b01de36bccecbb7b73acc041654a1fe2ebe
| | * Flickable: Cancel interaction on interactive changesAlbert Astals Cid2014-07-281-0/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Otherwise if you have a listview with a flickable inside with a mouseare inside the pressed is never set to false if you make the interactive property of the outer list depend on the moving of the inner flickable. This makes that when later you change currentIndex of the list and you have StrictlyEnforceRange set, the list won't move because it still thinks it is pressed Change-Id: I2c2021f486fc0a31840c3f2199bc7cb76dc01e3e Reviewed-by: Martin Jones <martin.jones@jollamobile.com>
| | * Fix interaction of garbage collector with JS objects during QML type ↵Simon Hausmann2014-07-263-0/+133
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | instantiation It may happen that during the lengthy process of instantiating a tree of objects for QML, the garbage collector runs. For objects created by QML we support different ownership models, for example in QtQuick visual parents keep their visual children alive, despite perhaps a lack of QObject parentship. That ownership becomes active once the QML autoparent function has assigned the correct visual parent, which happens after object instantiation (after QQmlObjectCreator). Similarly when a composite type is created, its QObject parent is only set after all properties have been set. The root QObject is kept alive through a special boolean, but if the sub-objects aren't children yet, their JS wrapper might get deleted. For composite types with var properties, that also means their var properties get deleted, such as the model property of TableView.qml in the bug report. In the future we want to support creating QWidget hierarchies with QML, which also for layouts may rely on a delayed parent assignment for layouts. To accommodate all this, this patch introduces an array on the JS stack that keeps track of all JS wrappers for all QObjects created. This array is alive during object tree creation. Afterwards, the different ownership models take over, for example the auto parent function assigning a visual parent. This patch also fixes an off-by-one in the total object count calculation for composite types, where when instantiating a composite type as a sub-object we counted the sub composite's object count but forgot the object itself. Task-number: QTBUG-38835 Task-number: QTBUG-39966 Change-Id: I6104b2434510642081e0c54793ed296adeca7481 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | | Fix touch/mouse propagation bugsMartin Jones2014-08-011-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Filtered mouse release was not delivered if another touch started after a touchMouseId was activated. This meant that any filters expecting a release event would not receive it if another touch was made before release of the touchMouseId. We prevented a touch becoming the touchMouseId in the child mouse filters if there were any existing touches. The normal event delivery, however, does not require a single touch. Further to the previous, a touch could become the touchMouseId, even if the initial press happened when there was an existing touchMouseId. This meant that a touch could turn into a mouse when the existing mouse event was released, resulting in a new touchMouseId which hadn't been through child mouse filters. Flickable delayed press should be sent via normal event processing, as other touch/mouse events are now delivered in this way. We often called childMouseEventFilter() multiple times for each event. This is bad because the gesture handling relies on claiming a gesture in one event, then stealing it in the next. Instead of sending touch to mouse candidate points already determined to be within the item bounds and already transformed, we sent all of the points to the mouse recipient. PinchArea did not store the starting position at the original touch points, so other items could pass the dragThreshold before PinchArea and steal a gesture meant for PinchArea. Task-number: QTBUG-40330 Change-Id: Ic0009c176d3d1cb7cff0b5eda076a2c3ca864136 Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
* | | Stabilize tst_qquickimageGunnar Sletta2014-07-311-19/+12
| | | | | | | | | | | | | | | | | | Change-Id: Ib2b3d18c583991959d342e8ca36eb10c299b68bf Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | | tst_qqmlapplicationengine: clear $QT_MESSAGE_PATTERNDavid Faure2014-07-301-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | The test fails if it's set, because it looks at the output from testapp and compares it with expected output. Change-Id: Idc82e2f9024b72cb8be919c2d1bfa4efb4957e4e Reviewed-by: Kai Koehne <kai.koehne@digia.com>
* | | Introducing QQuickWindow::scheduleRenderJob()Gunnar Sletta2014-07-291-0/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | [ChangeLog][QtQuick][QQuickWindow] Added QQuickWindow::scheduleRenderJob(), a convenience alternative to the equivalent signals for one-shot tasks. Change-Id: I5e4f0d67d5223f7fd77bca394e2a85810fadd335 Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* | | Introducing QQuickItem::sceneGraphInvalidated/sceneGraphInitializedGunnar Sletta2014-07-291-0/+34
|/ / | | | | | | | | | | | | [ChangeLog][QtQuick][QQuickItem] Added signals sceneGraphInitialized and sceneGraphInvalidated Change-Id: Idaea88bc743f0637d093cf1ba7ac4f78acd7e6ad Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* | Fix include to proper <>Frederik Gladhorn2014-07-281-1/+1
| | | | | | | | | | Change-Id: I54b17480c1cca81c91c823f1f4ab9fe82e44f083 Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
* | Merge remote-tracking branch 'origin/5.3' into devSimon Hausmann2014-07-267-8/+341
|\| | | | | | | | | | | | | | | | | Conflicts: src/qml/compiler/qv4ssa.cpp src/qml/jsruntime/qv4arrayobject.cpp src/qml/jsruntime/qv4engine.cpp Change-Id: Ie3ef6202b6a3a8521971e1be10c40c6a2db6989c
| * Don't recreate header and footer unnecessarilyMartin Jones2014-07-252-8/+10
| | | | | | | | | | | | | | | | | | | | The only time that they need to be recreated is if the orientation changes (even then, a good implementation could handle it, but no point requiring that now). Task-number: QTBUG-40375 Change-Id: Id0215fb812724827bb139cda8f8dc6208c703852 Reviewed-by: Andrew den Exter <andrew.den.exter@qinetic.com.au>
| * Improve programmatic flicking of ListView (and Flickable).Michael Brasser2014-07-242-0/+66
| | | | | | | | | | | | | | | | | | | | Fix bug when programmatically flicking ListView after a real flick in the opposite direction. Also ensure a programmatic flick can flick past bounds when situated at the bounds and DragAndOvershootBounds is set. Task-number: QTBUG-38209 Change-Id: If4a2f65d0e7cb620b9af21f8a25a8a8797976125 Reviewed-by: Martin Jones <martin.jones@jollamobile.com>
| * Schedule layout changes to avoid refill() recursion.Mitch Curtis2014-07-242-0/+85
| | | | | | | | | | | | | | | | Otherwise we add duplicate item delegates. Task-number: QTBUG-40298 Change-Id: I8a2221d72f458c892720a71d87513808a5d725a6 Reviewed-by: Martin Jones <martin.jones@jollamobile.com>
| * Add autotest for incorrect steal of flick.Michael Brasser2014-07-242-0/+143
| | | | | | | | | | | | Task-number: QTBUG-37859 Change-Id: I86aa231ba264569a21d0b6cd109096eb5dd7a2fe Reviewed-by: Martin Jones <martin.jones@jollamobile.com>
| * shift and unshift fail for QQmlSequence typesMartin Jones2014-07-221-0/+37
| | | | | | | | | | | | | | | | | | QQmlSequence is a Custom array type, so must use the generic shift/unshift implementation. Task-number: QTBUG-40244 Change-Id: I491d9dc87a3a204daad4cf7460ffac81165056a5 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | qmlRegisterCustomExtendedType, qmlRegisterExtendedUncreatableTypePaul Lemire2014-07-258-0/+148
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There are cases in Qt3D where we'd like to be able to register uncreatable extended types. The main use case is having an abstract class that has an extension class so as to have a clean separation between the C++ and QML API. Implementations of the abstract can then be easily registered to QML and rely on the extension class for QML specific properties. The other feature we'll need in the near future is the ability to create extended QML types that use a custom parser. Two new type registration method were added to qqml.h to fulfill those needs. Unit tests for those are present in qqmlecmascript and qqmllanguage. Change-Id: I15b2cd791ffd36b537305af1873491c079d4094e Reviewed-by: Sean Harmer <sean.harmer@kdab.com> Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | Add Sha1.jsAlbert Astals Cid2014-07-251-0/+146
| | | | | | | | | | | | | | | | | | Contains a self test that does some interesting JS that was causing an assert when run on i386 (QTBUG-38451) so it seems interesting to keep around for the future Change-Id: I98d0892d281360425ad2c0b28f34feb6c0945dd2 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | QQmlError::toString: improve handling of empty urls.David Faure2014-07-2412-39/+39
| | | | | | | | | | | | | | | | | | | | | | | | "file::2:23: ..." is strange to read. Show "<Unknown File>:2:23: ..." instead, by treating empty urls (including "file:") as unknown, and by still showing line and column numbers in such a case. This change makes it possible for QUrl::fromLocalFile("") to return an empty url rather than "file:", which this module was relying upon in the tests. Change-Id: I91918090fd4e0aa9a25dbbb18893a0ce94140e21 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | Fix incorrect acceptableInput value on construction.Aaron McCarthy2014-07-241-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The value for acceptableInput was being calculated every time the property value was read. This can lead to situations where the value returned from successive property reads is different even though no acceptableInputChanged() signal is emitted between the two calls. This can be seen during QML component construction where emission of the changed signal is suppressed until the component completes and the value of acceptableInput changes as the other properties are set. If the property is read during binding evaluation an intermediate value can be seen and the QML engine will not re-read the property until after the changed signal is emitted. This doesn't happen until the true value of the acceptableInput property is toggled. Fixed by changing the property getter to returned the precalculated value of acceptableInput and ensuring that this value is set when correctly. Change-Id: Id3ba3a34988ff50f590e4f8330b873f390eaa025 Reviewed-by: Martin Jones <martin.jones@jollamobile.com>
* | Change the object allocation schemeSimon Hausmann2014-07-221-2/+2
| | | | | | | | | | | | | | | | | | Instead of allocating the data directly, centralize the object and its ::Data allocation in one place in the memory manager. This is in preparation for additional pointer indirection later. Change-Id: I7880e1e7354b3258b6a8965be378cd09c9467d25 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | Remove unused methodLars Knoll2014-07-221-1/+1
| | | | | | | | | | Change-Id: I3830de8c4f01cc7340ab37673024ceea93585a9e Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | Fix QQmlDelegateModelChangeArrayLars Knoll2014-07-221-18/+18
| | | | | | | | | | | | | | | | | | | | | | | | The class had a vtable, clashing with assumptions about Managed objects. The derived classes where actually only cosmetic sugar on top of the basic change class. Clean this up and unify the functionality in the base class. In addition adjust the class to the new data layout. Change-Id: I8677f6c71465381f7ebdf82eb6025fda6d137ec3 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | Remove XFAILs from tst_QQuickTextEskil Abrahamsen Blomfeldt2014-07-221-4/+0
| | | | | | | | | | | | | | | | The bug for these has been fixed. Task-number: QTBUG-39961 Change-Id: I306dff766f048faf527a18f21b69996641fd8b79 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | Don't allow a filtering item to block other filtering items.Andrew den Exter2014-07-222-0/+85
| | | | | | | | | | | | | | | | | | | | | | | | | | With delayed press it's possible for a filtering item to not accept a press on the first go around but to later steal mouse grab and accept future events. This means outer items which also filter will have received the mouse press, but don't receive release events leading to phantom long presses or inadvertent drags. Task-number: QTBUG-37316 Change-Id: I2ff18df2a019f8d3a5e81a0adc2c5b5994799862 Reviewed-by: Michael Brasser <michael.brasser@live.com> Reviewed-by: Martin Jones <martin.jones@jollamobile.com>
* | Remove QWidget include from QQmlProperty test.Andrew den Exter2014-07-171-1/+0
| | | | | | | | | | Change-Id: I1a23816b65273c920b319836f015f6746aa3ad06 Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
* | Add QQuickFontMetrics.Mitch Curtis2014-07-173-0/+161
| | | | | | | | | | | | | | | | | | | | | | | | This will be a private C++ type that is exposed to QtQuick 2.4 as FontMetrics. [ChangeLog][QtQuick] Added QQuickFontMetrics, which provides a subset of QFontMetricsF's API. Change-Id: Iac31e5a555bd8f1dc0904b8de0408e5f1a402b25 Reviewed-by: J-P Nurmi <jpnurmi@digia.com> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* | Add containsPress property to MouseAreaMartin Jones2014-07-162-0/+85
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It is very common to use pressed and containsMouse properties together to highlight a pressed item, e.g. property bool highlighted: pressed && containsMouse The containsPress property allows simplification and optimization of user code. [ChangeLog][QtQuick] Add containsPress property to MouseArea Task-number: QTBUG-40130 Change-Id: Ie286d431154eb37a99e57e4cf881d68d7cbbe31d Reviewed-by: Martin Jones <martin.jones@jollamobile.com>
* | Merge remote-tracking branch 'origin/5.3' into devFrederik Gladhorn2014-07-101-1/+1
|\| | | | | | | Change-Id: Iba61035910c46627e5e1c3824757da7b3d573657
| * Fix role for generic Accessible itemsFrederik Gladhorn2014-07-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | Currently QQuickItem specifies Pane as default role which at least on linux leads to big confusion. Instead use QAccessible::Client which is in line with QWidget. Change-Id: I06b287843a0bf1546f16e67c53ea5d2321ba214b Task-number: QTBUG-40136 Reviewed-by: J-P Nurmi <jpnurmi@digia.com> Reviewed-by: Caroline Chao <caroline.chao@digia.com>
* | Add findChild to TestCase.Mitch Curtis2014-07-041-0/+112
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is useful for auto tests where it's necessary to have access to dynamically created child items. For example: property Component threeItemDelegate: Text { objectName: "delegate" + styleData.index text: styleData.value } ... function test_stuff() { ... var delegate0 = findChild(item, "delegate0"); // check delegate0 for some condition... } [ChangeLog][QtTest][TestCase] Added findChild function to TestCase. Change-Id: I04a8b07c9904768c07ec12f4b03f1afb1989e054 Reviewed-by: Liang Qi <liang.qi@digia.com> Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
* | Merge remote-tracking branch 'origin/5.3' into devFrederik Gladhorn2014-07-023-2/+52
|\| | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf examples/quick/scenegraph/openglunderqml/squircle.h src/quick/doc/src/qmltypereference.qdoc src/quick/scenegraph/qsgthreadedrenderloop.cpp Change-Id: Ife4f4b897044a7ffcd0710493c6aed1d87cf1ef9
| * Avoid double deletion of QQuickWindowShawn Rutledge2014-06-302-0/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | It's uncertain why 4fc0df58b8458052a818e3e970a97457882808e6 added the call to sendPostedEvents(0, QEvent::DeferredDelete) but now we can see that it easily results in the destructor calling itself, and therefore double-deleting its own d_ptr. removePostedEvents seems safer to ensure that the window cannot be doubly deleted, in spite of the qdoc warning that "You should never need to call this function." Task-number: QTBUG-33436 Change-Id: I4873ebe179dde551407eba1f6baac5f03ca7f177 Reviewed-by: J-P Nurmi <jpnurmi@digia.com> Reviewed-by: Alan Alpert <aalpert@blackberry.com>
| * Use QSignalSpy instead of waitFor in tst_qpacketprotocolUlf Hermann2014-06-191-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QTcpServer::waitForNewConnection() blocks the event loop and prevents the client, that runs in the same event loop, from sending anything. Also, if the connection is established before waitForNewConnection() is called we're going to wait for another connection, which will never happen. It's not clear if this is actually the cause of the test failures but blocking the event loop is generally a bad idea and the last change to the test that actually made a difference to the functionality added exactly that line, see b36bbe3626bc68ac267d7653fa6408a8f258251d. Task-number: QTBUG-39655 Change-Id: Ic03a4e7cac78155532588476b99449664c343ee2 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | Add grabFramebuffer() to QQuickWidget and use it in the autotestLaszlo Agocs2014-07-018-0/+330
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This introduces the need for a grab function in QQuickWidget. The render control has one already so there is no reason for not exposing this in QQuickWidget too. This also means that a relatively meaningful autotest can be now be added. [ChangeLog][QtQuick] Added QQuickWidget::grabFramebuffer() for capturing the content into a QImage. Task-number: QTBUG-37589 Change-Id: I5ca8192c0ef8dab4f076a4db27b64aebe3359bb8 Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
* | Avoid direct GL calls in Qt Quick examples and testsLaszlo Agocs2014-07-013-11/+19
| | | | | | | | | | | | Change-Id: I204a5513708aeff5cae00d06d4f0c27c20a13ace Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
* | Mark failing testcases with QEXPECT_FAIL for windowsGunnar Sletta2014-07-011-0/+4
| | | | | | | | | | | | Task-number: QTBUG-39961 Change-Id: I981159921b38ac2af37e8a6d715f0d67d6f01da8 Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
* | Allow integer values to be assigned QList<qreal> propertiesOleg Shparber2014-06-255-8/+8
| | | | | | | | | | | | | | | | Before this patch it was not possible to assign an integer value to QList<qreal> property, while it worked for non-list properties. Change-Id: Iab00288f7d78f4f76056ab4291700d7f51626de4 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | Fix crash in QQmlDelegateModel during destruction phaseSimon Hausmann2014-06-242-0/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | It has been reported multiple times (with different back traces) that the QQmlDelegateModel tries to access a dangling QQmlContext pointer. The scenarios for reaching this point differ slightly, one such scenario is very late model activity during the scene destruction. The provided test-case simulates that and the provided patch guards the QQmlContext in a QPointer. Task-number: QTBUG-39780 Change-Id: I594ee4918cd1b78c5db5c164314e85e9eea99fbd Reviewed-by: Alan Alpert (Personal) <416365416c@gmail.com>
* | Exclude private methods and QObject::deleteLater from enumerable propertiesSimon Hausmann2014-06-241-0/+37
| | | | | | | | | | | | | | | | | | | | | | This is a regression from Qt 5.1/5.0 introduced with 5.2. Private slots/methods such as QObject::_q_reRegisterTimers() as well as QObject::deleteLater() are not suitable for calls from JavaScript. deleteLater() in particular is covered by the destroy() replacement slot. Task-number: QTBUG-39744 Change-Id: I9b25f3c0d4095ba8e2e8e5ee47e37903b5def1f9 Reviewed-by: Michael Brasser <michael.brasser@live.com>
* | Test the javascript heap profilerUlf Hermann2014-06-181-3/+64
| | | | | | | | | | Change-Id: I6ac08e520e263ae1cda9eeccd08dea997f6bdd2f Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | Merge remote-tracking branch 'origin/5.3' into devSimon Hausmann2014-06-139-51/+520
|\| | | | | | | | | | | | | Conflicts: src/quickwidgets/qquickwidget.cpp Change-Id: Id4b080aea713df68608847bb82570231e37ce536
| * Fix forwarding of keyboard events to multiple target itemsJoni Poikelin2014-06-111-1/+5
| | | | | | | | | | | | | | | | | | | | Fix regression when multiple items are set to Keys.forwardTo attached property. QML items accept key events automatically and event should be by default in accepted state when entering handler. Task-number: QTBUG-39168 Change-Id: Ibf6c163c4059269996113634efa48ad2fe4d838d Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
| * Keep QML and JS messages separate in QQmlProfilerService testUlf Hermann2014-06-061-46/+52
| | | | | | | | | | | | | | | | | | Like that we can deal with misbehaving clocks in the tested application. Task-number: QTBUG-39169 Change-Id: Ia9f9844efb6f20508bccac3ca2d593d01d55fc83 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
| * Fix opacity issue in the renderer.Gunnar Sletta2014-06-052-4/+95
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Given the following tree: OpacityNode | TransformNode (which is a batch root) | GeometryNode If both opacity and transform nodes were changed this frame, we would hit the optimized "scrolling" path while traversing the tree and abort updating that subtree. As a result the opacity change was not propegated to the geometry node and it would be rendered incorrectly. Fix this by skipping the optimized path when there are opacity changes in an ancestor. Task-number: QTBUG-39190 Change-Id: Ieaebfe3de62b961204bd3103fe9913d60e75e412 Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>