aboutsummaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Don't evaluate the expression in switch() multiple timesLars Knoll2015-03-111-3/+4
| | | | | | | | | | | | The old code would evaluate the expression in the switch statement once for every case label. This is not only slower than it should be, but can also lead to unexpected results in case the expression doesn't always evaluate to the same value or has side effects. Task-number: QTBUG-41630 Change-Id: Id93baca7e3aa09ce884967ef6524d4c4f055bcd6 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* Fix flickable stealing gestures when height >= contentHeight.Andrew den Exter2015-03-111-4/+4
| | | | | | | | | | | | | | | Or width >= contentWidth. If newY is equal to both maxY and minY then the second assignment to rejectY can clobber the first. Changing the second assignment to an |= means rejectY is true if either is true. Secondly maxY became positive when height was greater than contentHeight instead of having a maximum of 0, which ensured rejectY evaluated to false in the case newY <= maxY and the mouse was stolen. Change-Id: I6416d0e23c3ef898887a7b3e3fcdc1dc12853548 Reviewed-by: Martin Jones <martin.jones@qinetic.com.au>
* qt quick particles: Fix const correctness in old style castsThiago Macieira2015-03-101-5/+5
| | | | | | | Found with GCC's -Wcast-qual. Change-Id: Ia0aac2f09e9245339951ffff13c958e1d7c929c0 Reviewed-by: Jørgen Lind <jorgen.lind@theqtcompany.com>
* Fix clang warningAndrew Knight2015-03-101-0/+4
| | | | | | | | | Removes "warning: first declaration of static data member specialization of 'static_vtbl' outside namespace 'QV4' is a C++11 extension" by placing the declarations inside the QV4 namespace. Change-Id: I9a31874430900a200e83c42ff6c1afc36f0431e1 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* QML Engine: ArrayBuffer XHR response type supportValery Kotov2015-03-093-0/+88
| | | | | | | | | | | Support for "arraybuffer" response type for QQmlXMLHttpRequest was added. [ChangeLog][QtQml][QQmlXMLHttpRequest] QQmlXMLHttpRequest now supports "arraybuffer" binary response type. Change-Id: I866e543cc7bc6ab037ffff1ef6628057b73daf90 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* testlib: Fix qml objects not deleted between data testsCaroline Chao2015-03-091-3/+6
| | | | | | | | | | | | Call wait(0) after the cleanup() function and not only at the end of the test run (wait(0) is used to call processEvents()). Otherwise, eventual destroy() calls in test function are not executed between data tests. Task-number: QTBUG-30523 Task-number: QTBUG-42185 Change-Id: I1d588ee28c61cda835e25307bc1c565d68b741fe Reviewed-by: Jan Arve Sæther <jan-arve.saether@theqtcompany.com>
* Doc: Removed the release notes for Qt Quick and Qt QmlVenugopal Shivashankar2015-03-093-586/+2
| | | | | | | | | | | | These pages were not maintained and were duplicating info. provided in the what's new page provided for each release. Change-Id: I2ee4010de22ef3fb394e3bcdb6adb15db59a2cc9 Task-number: QTBUG-43235 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@theqtcompany.com> Reviewed-by: Sami Makkonen <sami.makkonen@digia.com> Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
* Add missing flush for multisampled QQuickWidgetLaszlo Agocs2015-03-091-1/+2
| | | | | | | | | Otherwise we might be using a half-ready texture when performing compositing. The issue was very visible on OS X at least. Task-number: QTBUG-39917 Change-Id: I71326cb99567f458a6ca7a2cad322a315ee6674f Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* Reduce number of allocations when constructing text nodesEskil Abrahamsen Blomfeldt2015-03-092-36/+90
| | | | | | | | | | | | | | | | | | | | | In cases where you have a huge number of text elements that can be merged, we would do a lot of reallocations (one per node that would be merged into another). As the number of merges grew, this seemed to converge at about 50% of the time spent in updatePaintNode() in the text classes. We can almost eliminate this cost by only doing one realloc per node that will actually end up in the scene graph. This patch does a first pass where it simply bundles together nodes that can be merged. Then it does a second pass where it actually merges the nodes. In this second pass it can easily precount the required size of the arrays and we can limit it to a single realloc. Task-number: QTBUG-37365 Change-Id: I4e44c01cd83df39304cbbce34f3b8f773763e091 Reviewed-by: Michael Brasser <michael.brasser@live.com>
* Implement cache property for QQuickAnimatedImageDaiwei Li2015-03-062-2/+32
| | | | | | | | | | | | | | | | Some longer and larger .gifs can consume a lot of memory if every decoded frame is cached. Just as the backing QMovie provides the ability to not cache frame, so should AnimatedImage. This also allows a workaround for some animated image types that can contain loops that aren't handled correctly (QTBUG-24869) to not leak memory. Change-Id: I0639461d75bb2c758917893e7a6ae5c215fffa9d Task-number: QTBUG-44447 Task-number: QTBUG-24869 Task-number: QTBUG-28844 Reviewed-by: Alan Alpert <aalpert@blackberry.com>
* Merge "Merge remote-tracking branch 'origin/5.4' into 5.5" into refs/staging/5.5Frederik Gladhorn2015-03-064-5/+17
|\
| * Merge remote-tracking branch 'origin/5.4' into 5.5Frederik Gladhorn2015-03-034-5/+17
| |\ | | | | | | | | | | | | | | | | | | Conflicts: src/qml/jsruntime/qv4numberobject.cpp Change-Id: I4e66a03ef4d99cec192c9da30c028fd8c1f4ac0d
| | * V4: fix ToFixed rounding for 0 fraction digits.Erik Verbruggen2015-03-031-3/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | (12.5).toFixed() should return 13, not 12. Task-number: QTBUG-43885 Task-number: QTBUG-44039 Change-Id: Id2b19641e8c12dd5755d8447508b74567e4a2b9b Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
| | * Fix crash in overdraw and change visualizersDaiwei Li2015-02-251-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | It appears to be possible for node->element()->batch to be NULL Task-number: QTBUG-43129 Change-Id: If6e4e265a02ee305bf3aa9cad387b7a73648367a Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
| | * Fix memory leak of QSGContext object in QSGThreadedRenderLoopjian liang2015-02-242-0/+6
| | | | | | | | | | | | | | | | | | | | | Add destructor for QSGThreadedRenderLoop to destory QSGContext object. Change-Id: I479947eb35a5d7888d45655a9b8e2ece5e30bc33 Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
* | | QV4::Primitive: Help clang disambiguate symbolsGabriel de Dietrich2015-03-061-0/+3
| | | | | | | | | | | | | | | Change-Id: Ie20e6081b80e8f177991ac8aafda054c11b1620c Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | | Fix build: QString needs to be fully-defined for QString()Thiago Macieira2015-03-051-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | qqmldebug.h:46:71: error: invalid use of incomplete type ‘class QString’ qglobal.h:651:7: error: forward declaration of ‘class QString’ Change-Id: I1a800c709d3543699131ffff13c3797acbc19956 Reviewed-by: Ulf Hermann <ulf.hermann@theqtcompany.com>
* | | TextEdit: Block's update should update paint nodeRuslan Nigmatullin2015-03-051-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QQuickTextEdit::invalidateBlock method marks nodes as dirty but doesn't call QQuickItem::update(). Because of that it's impossible to rehighlight text by QSyntaxHighlighter. Task-number: QTBUG-44765 Change-Id: Ibfd973430cf00927dbec027d129c6d722634575e Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
* | | WinRT: Set alignment boundary to page sizeMaurice Kalinowski2015-03-051-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | This is a hard requirement from the QQmlEngine internals since 5.5 and otherwise causes crashes inside the engine. Change-Id: Id25f465576a0095f5b34da469abe761d3f3bd866 Reviewed-by: Andrew Knight <andrew.knight@intopalo.com>
* | | Work around QPersistentModelIndex being a built-in meta-typeGabriel de Dietrich2015-03-051-3/+27
| | | | | | | | | | | | | | | | | | | | | | | | This is a temporary work-around and will be removed once I63d733d1eb66aa61691e7afce27fe7372a83ac00 is merged in qtbase. Change-Id: I6cfcf1ddc2c9d408c26c171be865d40141de7fa0 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* | | Fix invocations of static methods of QGuiApplication/QCoreApplication.Friedemann Kleint2015-03-0518-58/+59
|/ / | | | | | | | | Change-Id: I7bcc209b0c6e77cf6d974af85a19487345a48975 Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
* | Use of fullsize distance field textures should be font-dependent.Michael Brasser2015-03-031-7/+1
| | | | | | | | | | | | | | | | | | | | This shouldn't be a static decision as the glyph count depends on the font. Change-Id: I67ea98595505df4a3a30b16e867e76f89b28c1ef Task-number: QTBUG-29264 Reviewed-by: Gunnar Sletta <gunnar@sletta.org> Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
* | V4: fix regalloc for loops with many life&changing vars.Erik Verbruggen2015-03-031-5/+10
| | | | | | | | | | | | | | | | | | | | | | When all registers are in use, and one needs to be spilled, the register whose use is the furthest in the future will be chosen. What needs to be taken into account is that any use that can also work from the stack can be skipped, because it does not require the value to be in a register. Task-number: QTBUG-44687 Change-Id: Ide624b190603d9a22f992d4ae5daa3ce8d94472c Reviewed-by: Fawzi Mohamed <fawzi.mohamed@theqtcompany.com>
* | V4: fix phi node use position calculation.Erik Verbruggen2015-03-032-18/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | As phi-nodes get transformed into moves, and the moves end up right before the terminator of the basic block of the incoming edge, the use by that phi-node is the position of that terminator minus one. However, when checking if uses need a register, this was not taken into account, resulting in an invalid life-time interval split position calculation. Task-number: QTBUG-44687 Change-Id: I0edd416f7ee5c8ea16bf7133870be45d0e6efea9 Reviewed-by: Fawzi Mohamed <fawzi.mohamed@theqtcompany.com>
* | Avoid assert in rich text when img width is invalidEskil Abrahamsen Blomfeldt2015-03-021-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | If you set the width or height of an <img> tag to something invalid, this will be registered as -2 by the HTML parser. We should treat this case the same as if there is no width/height specified and use the implicit size instead. [ChangeLog][Text] Fixed assert when setting an invalid width or height on an <img> tag in a text element. Change-Id: Iae8c33fa184316632f72318e71f26ab005645a21 Task-number: QTBUG-44743 Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
* | testlib: Introduce MouseDoubleClickSequence() methodCaroline Chao2015-03-023-10/+73
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The existing method MouseDoubleClick() emulates the mouse double click event only. The added method MouseDoubleClickSequence() emulates the full sequence of mouse events a physical double-click would generate: Press-Release-Press-DoubleClick-Release Introducing a new method in order to provide convenience when a test requires to simulate a complete double-click action without changing the behavior of MouseDoubleClick() and risking to break existing tests. Add autotest. Task-number: QTBUG-42185 Change-Id: I1cdddd9e21d3b1d8a818f6d4e3717b06b7d70e08 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* | QQuickWindow: rename deliverGestureEvent to deliverNativeGestureEventShawn Rutledge2015-02-272-4/+4
| | | | | | | | | | | | | | | | | | Native gestures are distinct from QGestureEvent, and we might need another deliver method for those eventually. Change-Id: I969c9b830d1dc7a91ffbc6cae2bdb68552a58344 Reviewed-by: Andrew Knight <qt@panimo.net> Reviewed-by: Morten Johan Sørvig <morten.sorvig@theqtcompany.com>
* | QQuickWindow: move deliverGestureEvent outside QT_NO_WHEELEVENT sectionShawn Rutledge2015-02-271-17/+16
| | | | | | | | | | | | | | | | Turning off support for wheel events does not affect gesture support. Change-Id: I64a110327179d62a69864979396b92472c53285e Reviewed-by: Morten Johan Sørvig <morten.sorvig@theqtcompany.com> Reviewed-by: Andrew Knight <qt@panimo.net>
* | QtQuick: Micro-optimize iterator loops.Friedemann Kleint2015-02-2612-37/+43
| | | | | | | | | | | | | | Avoid repeated instantiation of end() in loops, use variable instead. Change-Id: I6ab1fe2b82406d5ee91710a0333587ffb82c04d4 Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
* | QtQml: Micro-optimize iterator loops.Friedemann Kleint2015-02-2611-27/+31
| | | | | | | | | | | | | | Avoid repeated instantiation of end() in loops, use variable instead. Change-Id: I3bb1c6918cfd16a5dcefbcc03c442e99fe9bf76b Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
* | Optimize distance field construction.Michael Brasser2015-02-252-4/+13
| | | | | | | | | | | | | | | | | | | | Reduce the number of times we construct a painter path from a glyph. Change-Id: Ic1f32c78ab5dfd3b75d5442da163cda1dedab3ee 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>
* | Include <limits> in qqmlprofilerservice_p.hUlf Hermann2015-02-251-0/+2
| | | | | | | | | | | | | | | | As we use std::numeric_limits in that file we should do this. Change-Id: Idd8da16ce062b2ef24f926bcf33de95559464bb9 Reviewed-by: Pasi Petäjäjärvi <pasi.petajajarvi@theqtcompany.com> Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | Allow glyph cache textures to be created at full size.Michael Brasser2015-02-252-3/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On embedded hardware, texture resizes can be quite slow. The glyph cache currently often needs to resize when new glyphs are added, and glyph additions are very frequent when using a language with a large set of glyphs (such as Chinese). The current glyph cache design minimizes the amount of memory used. When QSG_PREFER_FULLSIZE_GLYPHCACHE_TEXTURES is set, and we are using a font with a large number of glyphs, we can instead allocate max-sized textures. This leads to significantly less time when inserting glyphs into the cache (often incurred over a span of time), at the cost of higher initial memory and creation times (often incurred at application startup). Change-Id: Id1021b9d213e5f8635c4197b624474f28c6f44ff Task-number: QTBUG-29264 Reviewed-by: Robin Burchell <robin.burchell@viroteck.net> Reviewed-by: Gunnar Sletta <gunnar@sletta.org> Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
* | Merge remote-tracking branch 'origin/5.4' into 5.5Frederik Gladhorn2015-02-2443-115/+159
|\| | | | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf LICENSE.GPLv2 examples/qml/networkaccessmanagerfactory/view.qml src/qml/jsruntime/qv4runtime.cpp src/qml/jsruntime/qv4stringobject.cpp Change-Id: I5d12f436d60995e51d5c2f59d364e9cbc24f8e32
| * docs: Add a link to Drag and DropArea in MouseArea's drag sectionSérgio Martins2015-02-171-0/+2
| | | | | | | | | | | | | | They are related subjects so deserve a mention. Change-Id: I52f338402c8568f54dfd4b91845f9fafa762ca4d Reviewed-by: Alan Alpert <aalpert@blackberry.com>
| * Doc: fix exampleJoerg Bornemann2015-02-161-1/+2
| | | | | | | | | | | | Change-Id: I818e0a3235060fa48c61d4f21f1202d976b15d5e Task-number: QTBUG-38456 Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
| * Fix width/height property assignment during animations.Aaron McCarthy2015-02-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | During animations the behavior of anchors.fill: parent and width: parent.width height: parent.height can be different resulting in subtle UI bugs where the final value of a property is not applied because it is within epsilon of the previous value. Fixed by directly comparing the width and height instead of using operator==(QSize, QSize) which does a fuzzy comparison. Change-Id: I4288b93db2b7baacd9f71ae1932ae743a428313a Reviewed-by: Andrew den Exter <andrew.den.exter@qinetic.com.au> Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
| * Fix QML Timer running not being updated together with triggered signalTroels Nilsson2015-02-111-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The running property of the QML Timer should be updated at the same time as the triggered signal is emitted, otherwise code like e.g. the following: if (qmlTimer.running) { qmlTimer.stop() } doesn't work as expected. In addition if the timer is stopped or restarted between posting the QEvent_Triggered event and receiving it, the triggered event should not be emitted. This avoids the issue of stopped timers still emitting the triggered signal which can potentially cause problems in existing code. Task-number: QTBUG-44026 Change-Id: Ia14d80d152967d09adc1586467715b2e1c6662cc Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
| * Merge "Merge remote-tracking branch 'origin/5.4.1' into 5.4" into ↵Frederik Gladhorn2015-02-101-1/+1
| |\ | | | | | | | | | refs/staging/5.4
| | * Merge remote-tracking branch 'origin/5.4.1' into 5.4Frederik Gladhorn2015-02-101-1/+1
| | |\ | | | | | | | | | | | | Change-Id: I127c746c4131fc907ea4b6713d307f12a4760666
| | | * QQuickTextItem: fix crash on polishingGiuseppe D'Angelo2015-01-291-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The "d->extra" pointer is lazily allocated, hence we must check if it's valid before dereferencing it. Task-number: QTBUG-44128 Change-Id: Id69c91e889193b0e9b73ed178c0ff3b13003227f Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com> Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
| * | | Update C++11 warning logic from QtWebKitAllan Sandfeld Jensen2015-02-101-9/+7
| |/ / | | | | | | | | | | | | | | | | | | | | | Fixes compatibility with gcc 5.0. Change-Id: I017c6d690c1f64359c3bac6c8b6b0f5e089861eb Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * | Fix crash when invalidating qqmltypeloaderDaiwei Li2015-02-061-4/+7
| | | | | | | | | | | | | | | | | | Change-Id: I16db2ea9a6c25d26e2b803b9bb8d9ef7156e254d Reviewed-by: Gunnar Sletta <gunnar@sletta.org> Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
| * | Doc: fix a file name of an imageLiang Qi2015-02-061-0/+0
| | | | | | | | | | | | | | | Change-Id: I6c93fd9d97649eee819a48863b92bde533dabe63 Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
| * | Fix regression where QQuickScreenAttached overwrites QScreen valuesAlbert Astals Cid2015-02-062-2/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Up to Qt 5.3 it was fine setting the orientationUpdateMask in QScreen in C++, with 5.4 that value is always discarded and overwrote with 0, this change makes it possible to still set the orientationUpdateMask value in C++ and not have it overwritten unless specifically changed from QML Change-Id: I134290ce91be8b91df4e9e8e71120753813f48d7 Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
| * | Fix crash when QQuickWindow::updatePolish() deletes QQuickItems.Gunnar Sletta2015-02-061-14/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When an item is deleted as a result of an updatePolish() call, it will be removed from the itemsToPolish set. However, updatePolish() internally works on a copy of the itemsToPolish set because changes to the set would invalidate its iterator. Because it is a copy will still contain the deleted item. Fix this by simplifying the algorithm to instead pick items one by one from the itemsToPolish set until it is empty. The recursion guard has been increased because we're not decrementing it for every single QQuickItem::updatePolish() call. Task-number: QTBUG-42913 Change-Id: If7ab7f7616b01daf4d3ed843f927c163dfb03843 Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
| * | Doc: link issues qtdeclarativeNico Vertriest2015-02-0412-39/+31
| | | | | | | | | | | | | | | | | | Task-number: QTBUG-43810 Change-Id: I154ffa83512435c3e455937a3f81931a45d9e368 Reviewed-by: Martin Smith <martin.smith@digia.com>
| * | TextInput: update the baseline offset when vertical alignment changesJ-P Nurmi2015-02-031-0/+1
| | | | | | | | | | | | | | | Change-Id: I2153e879c7ad8b770d5ca47dac68f994bb171b2d Reviewed-by: Alan Alpert <aalpert@blackberry.com>
| * | Fix Text wrapping when growing from 0 width.Michael Brasser2015-02-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | The fix for QTBUG-30896 caused a regression in the test case. Now check both width and implicit width validity before resetting widthExceeded. Change-Id: I4aba2aad299746906cfe20e288fa60cfe2acc64f Reviewed-by: Andrew den Exter <andrew.den.exter@qinetic.com.au>
| * | qquicktest: Wait for the view to finish loadingDaiwei Li2015-02-031-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Tests can be skipped if the view is still loading by the time we get to the end of the loop. There is a case where the window is active but the QML hasn't been loaded. Change-Id: I4e8346ee547653810458d042925d673748c1fec8 Reviewed-by: Caroline Chao <caroline.chao@theqtcompany.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>