aboutsummaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Do not add Images with invalid geometry to the scene graph.Gunnar Sletta2014-02-191-0/+8
| | | | | | | | | Task-number: QTBUG-35656 Task-number: QTBUG-36050 Change-Id: Iea2d5303bdeb9c523e59ebcdc9f97288060be022 Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com> Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* Guarantee event's default state as not acceptedArthur Mello2014-02-191-0/+2
| | | | | | | | | | | | Before starting the evaluation of the event to check if it should be accepted or not, set the state of the wheelEvent to not accepted. That way, if the event is not accepted it will be propagated to others elements. Change-Id: I13a71db8e26c888adc03f1bfd3e46480d3b22b6f Task-number: QTBUG-36774 Reviewed-by: Gustavo Pichorim Boiko <gustavo.boiko@canonical.com> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
* Merge "Merge remote-tracking branch 'origin/stable' into dev" into ↵Simon Hausmann2014-02-1817-103/+157
|\ | | | | | | refs/staging/dev
| * Merge remote-tracking branch 'origin/stable' into devSimon Hausmann2014-02-1817-103/+157
| |\ | | | | | | | | | | | | | | | | | | | | | Conflicts: src/qml/jsruntime/qv4functionobject.cpp src/quick/scenegraph/coreapi/qsgbatchrenderer_p.h Change-Id: Id164f6c3b45501aa466908659ec4e3b957323753
| | * Fix spurious binding loop errors in QtQuick Controls and other placesSimon Hausmann2014-02-161-7/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit 5dc7649f5ad7dca6e13707e827d001c3f118a6ef caused this regression, as a result of lazy binding evaluation and self-referencing objects: import QtQml 2.0 QtObject { property QtObject objectRef : subObject property QtObject blah: QtObject { id: subObject property int value: 42 property int blah: objectRef.value } } When blah is evaluated, we now lazily initialize objectRef - as opposed to previously throwing an exception and then when objectRef gets initialized we re-evaluate blah due to its dependency. So while evaluating "objectRef.value" for blah, we initialize objectRef by evaluating "subObject", and after doing that we write the "objectRef" property. That triggers a change notification, and since the objectRef reference for blah is a compile-time known dependency, the change notification triggers a re-evaluation of "blah", which is the binding loop. What's wrong here is that we register the pre-defined captures before the code execution, when we should register them after the evaluation, or strictly speaking after flushing pending bindings, like it is the case for individual properties in bindings where we could not pre-determine the depenencies. Change-Id: I9fb0c7583cba9d9b71c9ada2791fe87574f6ef44 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
| | * Fix crash when the currently running binding is deleted.Michael Brasser2014-02-152-57/+61
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Stop capturing properties once the expression is deleted. The following example triggers invalid read/write memcheck errors when trying to capture propFromParentScope: Item { property real testProp: { if (x == 0) testProp = 7 return propFromParentScope } } Which can eventually lead to a crash. Task-number: QTBUG-36798 Change-Id: I233de2c81498884df0563e8ce155752845aafcfb Reviewed-by: Simon Hausmann <simon.hausmann@digia.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
| | * Ensure m_opacityChange is cleared at the beginning of each frame.Michael Brasser2014-02-151-0/+1
| | | | | | | | | | | | | | | Change-Id: Ic5eb5e1955e09884f98975a8ac74b42f00e233d7 Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
| | * Update scenegraph docs to be in line with Qt 5.2 behavior changes.Michael Brasser2014-02-152-10/+1
| | | | | | | | | | | | | | | Change-Id: Id21386e6dc85bb7e109d9bd03e80f306c0a99733 Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
| | * Provide scenegraph backend API for marking scenegraph nodes dirty.Michael Brasser2014-02-152-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Prior to Qt 5.2 tracking of dirty state was automatically handled by QSGNode. With Qt 5.2 this approach has changed. Moving forward render state is ideally tracked outside of QSGNode; however, we continue to provide a way to track it in the node itself, to support custom renderers and the default node updater. Change-Id: I78907caee1b64b94a2bae2d8b577210f1955a431 Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
| | * Enable program binary support through QSGRenderContext API.Gunnar Sletta2014-02-134-16/+45
| | | | | | | | | | | | | | | Change-Id: I4eecff3c8a2c727d38d394305d248eddeef87e8e Reviewed-by: Michael Brasser <michael.brasser@live.com>
| | * Merge "Merge remote-tracking branch 'origin/release' into stable" into ↵Frederik Gladhorn2014-02-122-2/+4
| | |\ | | | | | | | | | | | | refs/staging/stable
| | | * Merge remote-tracking branch 'origin/release' into stableFrederik Gladhorn2014-02-112-2/+4
| | | |\ | | | | | | | | | | | | | | | Change-Id: I5ac68cc3ad3926190817f0d3d5b4526e70badff6
| | | | * Remove static initialization of QObjectsv5.2.1Eskil Abrahamsen Blomfeldt2014-01-292-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Statically initializing QObjects will cause e.g. the main thread pointer in QCoreApplication to be set when the library is loading. On Android, this is never the real main thread. The effect was a warning about QApplication not being initialized on main thread, and a race condition which sometimes caused apps to hang on startup. [ChangeLog][Android] Fixed possible hang on startup for Qt Quick applications. Task-number: QTBUG-36426 Change-Id: I7bd8a8f35ef1a2548949978563e3157f8dc854c7 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
| | * | | Fix wrong calculation of viewPort for transitionsFlorian Hänel2014-02-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Viewport is calculated wrong for horizontal layout in a second instance Task-number: QTBUG-29944 Task-Number: QTBUG-31546 Change-Id: I136ae4484278d14f796613505e3f38c65ec51ebe Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com> Reviewed-by: Florian Hänel <florian.haenel@basyskom.com>
| | * | | Doc: Added information about classname in qmldirVenu2014-02-121-1/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QML modules that depend on C++ plugins must provide the plugin class name information in their qmldir to support statically built Qt Quick applications. Task-number: QTBUG-35369 Change-Id: I15432fec4f8a72be4f851da061ac0c091696d8c9 Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com> Reviewed-by: Jerome Pasion <jerome.pasion@digia.com> Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
| | * | | Expose Qt Quick gradient conversion code privately.Mitch Curtis2014-02-122-9/+17
| | |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Rectangle is currently the only item that supports gradients, but other items have been introduced (within Qt Quick Enterprise Controls) which need QQuickGradient => QLinearGradient conversion, and it doesn't make sense to duplicate the gradient stop conversion code. The QQuickGradient and QQuickGradientStop classes need to be privately exported so that modules that use private Qt API can use the classes with quick-private. Change-Id: I8b130ff5384d9481d3f29510b3de61f7d8f775e2 Reviewed-by: J-P Nurmi <jpnurmi@digia.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
* | | | [new compiler] Report errors at type compile time for invalid group property ↵Simon Hausmann2014-02-181-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | access Change-Id: I36a945dd4e4c0e699a2b34af066eae4d4c73a588 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | | | [new compiler] Fix error reporting null object group property accessSimon Hausmann2014-02-183-1/+14
|/ / / | | | | | | | | | | | | | | | | | | | | | The new code path reported line and column, the latter was missing from the old code path and is easily added. Change-Id: I730e56f0fe4e99091dfb10e5f601faf1d3b8949c Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | | Properly export QQuickProfilerUlf Hermann2014-02-172-7/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | We want to access the profiler from quickwidgets as well as from quick itself. Also, use better syntax for includes in qquickprofiler_p.h Change-Id: Ifee04bae84521e8f028e7e2d272824449338b88a Reviewed-by: Simon Hausmann <simon.hausmann@digia.com> Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
* | | Introducing QQuickWidgetLars Knoll2014-02-1712-15/+1503
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Renders into an FBO, and provides a texture that is composed by the QPA/widget kernel compositor. Also introducing QQuickRenderControl, which is private API for now. Change-Id: I710c16e1506124a17f91e87344496471803a448b Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
* | | V4 JIT: enable register allocator on Linux/ARM.Erik Verbruggen2014-02-171-2/+29
| | | | | | | | | | | | | | | Change-Id: Ieab86edebcc265063904e78c8c8d0014ace64199 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | | V4 JIT: move registers for regalloc out of method.Erik Verbruggen2014-02-172-26/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | This is a clean-up: by moving the description of the registers available for allocation out of the run method, the method gets easier to read, and the lists are easier to extend when adding more platforms. Change-Id: I840a15cda0e02488b7e038aa23cedd23508ed736 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | | V4 ARM JIT: make CONFIG+=disassembler work on ARM.Erik Verbruggen2014-02-171-1/+1
| | | | | | | | | | | | | | | Change-Id: I164813c8939849e63103c447a7f64699003d00da Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | | [new compiler] Fix reported error location for unknown type assignmentsSimon Hausmann2014-02-171-1/+1
| | | | | | | | | | | | | | | Change-Id: Ib564002f790921d4e233bb56d1a6ff6ef6aa6c2b Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | | [new compiler] Compile time check for objects assigned to script stringsSimon Hausmann2014-02-171-0/+3
| | | | | | | | | | | | | | | Change-Id: I873bded73a0d2210910c496312fb3b7b04e4a65f Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | | [new compiler] Fix location of id property in error messagesSimon Hausmann2014-02-171-2/+2
| | | | | | | | | | | | | | | Change-Id: If7cde17acb1dd63a51e2e31415533a21302d8b41 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | | [new compiler] Implement compile time error handling for listsSimon Hausmann2014-02-172-1/+31
| | | | | | | | | | | | | | | Change-Id: Ic26e8a01995c296ab9cd4deb8714a5cf17cfdf2b Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | | [new compiler] Match class and file nameSimon Hausmann2014-02-1613-36/+36
| | | | | | | | | | | | | | | | | | | | | QmlObjectCreator -> QQmlObjectCreator Change-Id: I23da2d9c7fa0dcd760f5cc695c1759b44d1e72f0 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | | [new compiler] Cleanup object creator membersSimon Hausmann2014-02-163-91/+91
| | | | | | | | | | | | | | | | | | | | | | | | Collect variables shared across recursive instances in a SharedData structure, get rid of some other members. Change-Id: I8d52fbb34820ce17d754b91c3fdee9e534a95753 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | | [new compiler] Fix test with aggressive gcSimon Hausmann2014-02-161-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | We need a scope object protector right after creating the JS wrapper, which is right after creating the VME meta object. Change-Id: I76668027486a44bab35a3193b4c1c6fbab5c3e0e Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | | Reduce memory usage for object literals with integral keysSimon Hausmann2014-02-162-2/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Be more aggressive about using sparse arrays for object literals than for regular array handling, to reduce the memory usage in this use case. The current heuristic is that indices over 0x1000 switch to sparse, which means a simple { "3000" : "test" } creates a long vector instead of a sparse array. Task-number: QTBUG-36803 Change-Id: Id05c76f0f597cd016114cd27ec54effbebe26e48 Reviewed-by: Michael Brasser <michael.brasser@live.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | | Avoid Nearest mipmap filtering for BorderImage.Gunnar Sletta2014-02-161-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QSGOpaqueTextureMaterial has Nearest as the default mipmap filtering, which BorderImage inherited. That default value is not ideal, but I would prefer to not change behavior, so request None from borderimage instead. Change-Id: I9857f1434ae9f067c3b0e460ea552d3e854b9d64 Reviewed-by: aavit <eirik.aavitsland@digia.com>
* | | Reapply 612785f39e325b0578be89e09b0e32d7d08d471e fixing GCC warningsThiago Macieira2014-02-162-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | See 612785f39e325b0578be89e09b0e32d7d08d471e for details. The warning is exactly the same as before, with the exact same solution as before. Change-Id: I2f6cbc64234696f1d240611f376ab5daf8d0f89c Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | | Add dedicated QML profiler and adapterUlf Hermann2014-02-1512-528/+611
| | | | | | | | | | | | | | | | | | | | | | | | The remaining "profiling" parts of the QML profiler service are engine specific and are best accessed through their own adapter. Change-Id: Idb763104bdd80e4dabdf132ec1a496b9bc9f6f46 Reviewed-by: Kai Koehne <kai.koehne@digia.com>
* | | Move QtQuick profiling to own profiler adapterUlf Hermann2014-02-1516-121/+490
| | | | | | | | | | | | | | | | | | | | | | | | The QtQuick parts of the QML profiler service thus become a proper global profiler which can be independently enabled and disabled. Change-Id: Ifad03801cab2be66a264fc46fdebdae582fcc99b Reviewed-by: Kai Koehne <kai.koehne@digia.com>
* | | Fix polishItems bugFabian Bumberger2014-02-151-6/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | updatePolish is not called for items which are not visible. However if a polish is scheduled, updatePolish has to be called when the item becomes eventually visible. This patch makes sure, that invisible items are not removed from the itemsToPolish list. Change-Id: I1ad929dc6de8e61edbd1c4df88ae5bc951979ff1 Reviewed-by: Ulf Hermann <ulf.hermann@digia.com> Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | | V4: Do not reverse-propagate int32 conversion through unary minus.Erik Verbruggen2014-02-141-4/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | Conversion to int32 might truncate, and because int32 is two's complement, INT_MIN might get converted incorrectly. Change-Id: Iaf893d3bd619f4c5791654e609f96cffca5c6917 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | | V4 IR: remove unused phi targets.Erik Verbruggen2014-02-141-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | Remove all phi nodes whose target temps have no uses. This obvious optimization was missing. Change-Id: I24354e225ba7b01a3c2a6f4b2e40dd78d6ee3d7d Reviewed-by: Simon Hausmann <simon.hausmann@digia.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | | V4 IR: changed worklist used while doing optimizations.Erik Verbruggen2014-02-141-36/+138
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change the worklist in the optimizeSSA function to allow only one entry for a statement. This prevents re-processing a statement multiple times, and could lead to crashes when the statement was removed in an earlier pass. Change-Id: I2f09cf74525cfe19708ec7a8bc6d555218625e87 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | | Compile fix for MSVC2013Andrew Knight2014-02-141-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | This fixes an inclusion error caused by eb8a091 under WinRT x64 MSVC2013. Change-Id: I3ebae0788264f4e3ccc0ae9f2bb4dbc4cceaa155 Reviewed-by: Kai Koehne <kai.koehne@digia.com> Reviewed-by: Ulf Hermann <ulf.hermann@digia.com>
* | | V4 profiler adapterUlf Hermann2014-02-134-2/+199
| | | | | | | | | | | | | | | | | | | | | | | | This adapter attaches the V4 profiler to the QML profiling infrastructure. Change-Id: Ifaf77a3ba0790bc56d4b155260b0e05593ac799e Reviewed-by: Kai Koehne <kai.koehne@digia.com>
* | | Infrastructure for supporting multiple profilers in qqmlprofilerserviceUlf Hermann2014-02-137-137/+646
| | | | | | | | | | | | | | | | | | | | | | | | | | | The concepts of "global" and "engine" profilers are introduced. Profilers can either be attached to specific QML engines and run in their threads or they can be unspecific global profilers running in arbitrary threads. Change-Id: I3862fc65c07ccb33a1ca08cd2425e4079d3ffc02 Reviewed-by: Kai Koehne <kai.koehne@digia.com>
* | | [new compiler] Fix context ownership for anonymous componentsSimon Hausmann2014-02-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When instantiating an anonymous component, we must also set the context ownership to true. Fixes garbage collection of item view delegates, where when the destructor run, their context wasn't cleared properly and child items would re-evaluate bindings that use "parent" with null. Change-Id: I8c67c679c12ce987a0dec405571647270373881c Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | | Satellite profiler for V4Ulf Hermann2014-02-126-6/+293
| | | | | | | | | | | | | | | | | | | | | | | | Self-contained profiler for V4. By itself it doesn't have any connections to qqmlprofilerservice. Change-Id: I471a6119e07eab9c5f4712a16835be49c8886d1a Reviewed-by: Kai Koehne <kai.koehne@digia.com>
* | | V4 JIT: remove unused register constant.Erik Verbruggen2014-02-121-3/+0
| | | | | | | | | | | | | | | Change-Id: Ic456b680ab4ef9643a1ba85d0d62f8a116764cb0 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | | Merge "Merge remote-tracking branch 'origin/stable' into dev" into ↵Simon Hausmann2014-02-1228-78/+162
|\ \ \ | | | | | | | | | | | | refs/staging/dev
| * | | Merge remote-tracking branch 'origin/stable' into devSimon Hausmann2014-02-1128-78/+162
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/qml/compiler/qv4ssa.cpp src/qml/jsruntime/qv4arrayobject.cpp src/qml/jsruntime/qv4context.cpp Change-Id: Ied5b23bec4dc14abe51127c507aed668f855c1e1
| | * | Warn when attaching Keys to an invalid itemFrederik Gladhorn2014-02-111-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Using Window { Keys.onPressed: ... } does not work because window is not a QQuickItem. Warn at least. Change-Id: Ibd472f7b551ff2089cbc39ba43da27e6f8e0e97f Reviewed-by: Mitch Curtis <mitch.curtis@digia.com> Reviewed-by: Caroline Chao <caroline.chao@digia.com> Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
| | * | Fix origin for short reversed item viewsJohn Brooks2014-02-101-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Reversed (BottomToTop and RightToLeft) item views would report an impossible positive value for origin when contentHeight < height. The correct value will be effectively equivalent to the position of the footer, and always negative. Match other logic using lastPosition() by negating its value for reversed views. This fixes a bug with content disappearing in a Controls ScrollView on a BottomToTop view. Change-Id: Ieedbb64ce8fc7c0fb36e5256e437ddeb3e757761 Reviewed-by: Martin Jones <martin.jones@jollamobile.com>
| | * | Doc: note about visible and enabled in PropertyChangesFrederik Gladhorn2014-02-101-0/+5
| | | | | | | | | | | | | | | | | | | | Change-Id: I0928737f1651fa98213a84dc4f8b5225d5239502 Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>