aboutsummaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
...
| | * | 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>
| | * | Fix exception thrown in slot without Qml EngineSimon Hausmann2014-02-071-5/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Don't crash when an exception is thrown in a JS slot but we don't have a Qml engine. Change-Id: I1530d5c1c8cb9b9b33b9fdd0d45639fd4a0516f7 Reviewed-by: Karsten Heimrich <karsten.heimrich@digia.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
| | * | Updated documentation for QML Locale.measurementSystemAnders Gunnarsson2014-02-071-3/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Added documentation for ImperialUSSystem and ImperialUKSystem. Change-Id: I1a628121dce4a7566bd8769843c487e28f3dd6fe Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
| | * | Fix scenegraph backend API for material shaders.Michael Brasser2014-02-063-1/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Without this change, it is not possible to implement a custom renderer (it has no way to compile or initialize material shaders). Change-Id: Ie8778f739f3551f88f0d44ccb9769063a87ff276 Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
| | * | Doc: Merge duplicated example directoriesSze Howe Koh2014-02-064-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | examples/quick/customitems contains all the examples found in examples/quick/ui-components, plus 2 more (maskedmousearea and painteditem). There are some very minor differences between the duplicated files, regarding the "smooth" property. Apart from that, the examples are identical. The only file that is unique to examples/quick/ui-components is example-slideswitch.qdoc. Moving it does not change the generated HTML filename. The other examples do not produce any documentation. Change-Id: I507d9064a60fd1f3a1469c1e423d4c0a72c7dc41 Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
| | * | Avoid renderlist rebuilds in the scene graph renderer.Gunnar Sletta2014-02-062-30/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Transform, material, opacity and geometry changes all used to trigger full rebuilds, which meant that very little geometry could be retained between frames. For instance, a rotating spinner on top of a gridview this would cause a full rebuild where nothing is retained. This change introduces new concept to the renderer: partial rebuilding based on render order ranges. Since the render order of nodes is strictly defined by their position in the tree and nothing else, we should use that for the majority of rebuilds. When a change comes in for a node, we invalidate its batch and all batches which it has overlapping render orders with. Render order rebuilds only happen when nodes are added and removed. Change-Id: Ib4cb284164892b409e3fff5c492a54d60a5de2d7 Reviewed-by: Michael Brasser <michael.brasser@live.com>
| | * | Fix alignment exception in newCallContext on ARMSamuli Piippo2014-02-062-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | CallContext::locals was not at multiple of 8, which caused an alignment exception on ARM. Size for the context is also increased. Change-Id: I136418f89945cd3fec74463659107c6dab7cad0a Reviewed-by: aavit <eirik.aavitsland@digia.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
| | * | [Regression] Fix lazy binding evaluationSimon Hausmann2014-02-063-3/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit 04774bb14c81688f86a2b31b8624bde8ebf59062 long time ago introduced the concept of fixed order binding initialization with lazy evaluation, where a bit is reserved for each binding that indicates whether it's been initialized the first time or not. When reading a property on a QObject, we'd check if the corresponding binding for the property has been initialized or not and flush (i.e. execute) the binding if necessary. As part of the V4/V8 clean-up, commit 1eb41200948ab414f1c47d93123b41c547a993df removed the StoreV8Binding instruction, which made the call for setting the this-binding-is-not-evaluated-yet bit. Nowadays we only use StoreBinding, for which this optimization was never implemented (and not needed really). Now that we have a unified JS code path, we need to set the pending binding bit and also make sure that we call flushPendingBinding for any JS side property access (accelerated or not). Also flushPendingBindingImpl had two bugs: * In an attempt of trying to find the binding to flush, it could happen that we'd try to flush a previously destroyed binding (m_mePtr is null), so the b variable would remain the first binding in the object and we'd flush the wrong one (instead of none). Added a missing check to verify that the property index matches. * Also resetting the mePtr must be done through clear(), to ensure that the pointer in bindValues in the VME is also cleared, to avoid re-enabling the same binding again in complete(); Task-number: QTBUG-36441 Change-Id: Icdb0c8fb036051fd5d6c4d33b10cd0c0ed9a9d5c Reviewed-by: Lars Knoll <lars.knoll@digia.com>
| | * | Fix backend API, broken since 5.2.0Gunnar Sletta2014-02-045-3/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Without this change, it is not possible to implement a custom context without also implementing a renderloop. Change-Id: Iac2aa732251cdf7221b28f665394cdd336a3d846 Reviewed-by: Michael Brasser <michael.brasser@live.com>
| | * | V4 regalloc: fix interval splitting when register pressure is high.Erik Verbruggen2014-01-311-7/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a register is needed for an interval, but none is available, one of the used registers will be chosen and spilled to the stack (meaning it will be split) before the current position. However, if a register is used at the current position for an incoming parameter, its interval has to be split after the current position. This patch adds/fixes the latter case. This fixes crypto.js on x86. The specific problem there was that the result of an operation needed a register, and chose the one from one of the incoming parameters (which then should get spilled/split). However, this interval was already split, and started exactly at that the current position. So splitting before the current position did nothing, resulting in it staying alive and using the same register as the result. So any subsequent use of would have the invalid value. Task-number: QTBUG-36430 Change-Id: I228fc210b009aa0b16b08a374fc955fabfbb6d12 Reviewed-by: Albert Astals Cid <albert.astals@canonical.com> Reviewed-by: Simon Hausmann <simon.hausmann@digia.com> Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
| | * | V4: fix range sortingErik Verbruggen2014-01-311-3/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a life-time interval is split from another interval, it has to come before an interval that starts at the same position but is not split. This also means that a means that the all ranges in a split interval are uses, which is important for allocation: all incoming parameters for an operation need to be allocated before allocating a register for the result as the result will only start its life "at the end" of the operation. This patch fixes a problem register allocation is done in a function where register pressure is high (e.g. on platforms that have few registers to start with). Specifically, crypto.js on x86 triggered it. Change-Id: Iee3e5d82a887b8de573dfc23513844143d0c8073 Reviewed-by: Albert Astals Cid <albert.astals@canonical.com> Reviewed-by: Simon Hausmann <simon.hausmann@digia.com> Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
| | * | V4 JIT: save/restore ebx (GOT ptr) on linux/x86.Erik Verbruggen2014-01-312-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On linux/x86, ebx is used to store the global offset table. When using this register for temporary values, we have to save it at the entry of a generated function, and restore it before doing calls and at the end. Task-number: QTBUG-36289 Change-Id: I30194be3ce44f58b793ee52f6201906bcb68d46a Reviewed-by: Albert Astals Cid <albert.astals@canonical.com> Reviewed-by: Simon Hausmann <simon.hausmann@digia.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
| | * | Fix crash in header when regenerating view.Michael Brasser2014-01-301-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Unregister for geometry changes before reparenting, as reparenting may trigger those changes. Task-number: QTBUG-36481 Change-Id: Ia94f1f88880b232dd583b7e63e5da73fb338f7c6 Reviewed-by: Martin Jones <martin.jones@jollamobile.com>
| | * | V4: remove unused field.Erik Verbruggen2014-01-292-9/+6
| | | | | | | | | | | | | | | | | | | | | | | | Change-Id: Id1edc073db349cfc7e4b5a9dca045760016ebacf Reviewed-by: Simon Hausmann <simon.hausmann@digia.com> Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com>
| | * | Docs: add a working example to Text::fontSizeMode docsJ-P Nurmi2014-01-291-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It's easy to miss the maximum bound specified by either the font.pointSize or font.pixelSize properties. Task-number: QTBUG-30005 Change-Id: If1dadebd6673f0e945a1ca95b64521f27d30f5a9 Reviewed-by: Alan Alpert <aalpert@blackberry.com>
| | * | Fix leak-on-exit of QSGRenderLoop::s_instanceAlex Montgomery2014-01-282-13/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | s_instance is created with new and never deleted which causes several destructors to never be called. Task-number: QTBUG-35731 Change-Id: Icccb19186958f8bb74c5fd2b4b41165255debc46 Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
| | * | V4: Array.push() on QStringList should invoke putIndexed()Alberto Mardegan2014-01-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Wrapped sequence types should cause putIndexed() method to be called when Array.push() is used. Fix suggested by Simon Hausmann. [ChangeLog][QtQml] Fix JavaScript Array.push() not working on QStringList properties. Task-number: QTBUG-36491 Change-Id: Id04409dd7466a943d8ea8d57cd0514e8de732480 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | | | Add a function dumping out a GBMI stack trace of the V4 engine.Friedemann Kleint2014-02-121-0/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add an exported C-function dumping the JS stack trace which can be invoked by a debugger with the address of an execution context it finds in a complete stack trace. Task-number: QTCREATORBUG-11144 Change-Id: I5314f6b24868f12d4f9dedd1c261658957e581ba Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | | | Add Image::mipmap to support mipmapping of images.Gunnar Sletta2014-02-1211-22/+57
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [ChangeLog][QtQuick] New feature: Image.mipmap Task-number: QTBUG-19961 Change-Id: I13acb2408d5b126790adaf9d324ad4beda1e3646 Reviewed-by: Michael Brasser <michael.brasser@live.com>
* | | | Fixed wrong baseline alignment for TextInputJan Arve Saether2014-02-121-0/+12
|/ / / | | | | | | | | | | | | | | | | | | | | | [ChangeLog][QtQuick][Fixed wrong baseline alignment for TextInput] Task-number: QTBUG-36749 Change-Id: I6920fb0681f30d9e9943d1bd01f76cc3ae204f30 Reviewed-by: Alan Alpert <aalpert@blackberry.com>
* | | Add a debug service for controlling qml enginesUlf Hermann2014-02-104-2/+249
| | | | | | | | | | | | | | | | | | | | | | | | Like this we can control the starting and stopping of qml engines from the client without having to extend each of the other debug services. Change-Id: I5f1c077b6cfa0e628c32e8bcdea2ec053e310509 Reviewed-by: Kai Koehne <kai.koehne@digia.com>
* | | Unify initial waiting of debug servicesUlf Hermann2014-02-1015-89/+363
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The debug services generally behave in one of two ways when initializing: Either they block the initializing thread until some configuration is passed over the network or they just go on. By introducing a generalized configurable debug service the various ways of waiting on initialization are cleaned up. The API defined for it also allows for engine-specific initialization. Change-Id: Id5685ef17d2a7eb1222629f7caa5ec53076d47b2 Reviewed-by: Kai Koehne <kai.koehne@digia.com>
* | | Merge "Merge remote-tracking branch 'origin/stable' into dev" into ↵Simon Hausmann2014-02-075-25/+73
|\ \ \ | | | | | | | | | | | | refs/staging/dev
| * | | Merge remote-tracking branch 'origin/stable' into devSimon Hausmann2014-01-265-25/+73
| |\| | | | | | | | | | | | | | Change-Id: If45606c96ef130588004598c560aa790373f0a78
| | * | Flickable: fix crash in delayed press handlingJ-P Nurmi2014-01-251-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-31328 Change-Id: Ic87e9b4db09242b49f104a8f38e4e420c62db75c Reviewed-by: Robin Burchell <robin+qt@viroteck.net> Reviewed-by: Martin Jones <martin.jones@jollamobile.com>
| | * | Positioners: fix layout mirroringJ-P Nurmi2014-01-253-22/+70
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Listen to positioner geometry changes when the _effective_ layout direction is RTL. Task-number: QTBUG-35095 Change-Id: If06955c6bb04e5bed2126b05489229278c192173 Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
| | * | Fix QNX 6.6 buildFrank Osterfeld2014-01-241-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The stdlib of the upcoming QNX 6.6 has this abs overload, so check for the version when redefining it. Change-Id: Ib5650226c65417b42d8d7a79fac7ca53d3f315f1 Reviewed-by: Fabian Bumberger <fbumberger@rim.com> Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com> Reviewed-by: Bernd Weimer <bweimer@blackberry.com> Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
* | | | [new compiler] Fix component attachment linking across sub object creatorsSimon Hausmann2014-02-073-6/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This brings up the list view in the components gallery. Change-Id: Ib91ca3b30b8093acad0343b47be60cf4b51e4da7 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | | | [new compiler] Fix tst_qqmlincubator::deleteContextSimon Hausmann2014-02-074-2/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Protect against QQmlContext deletion during incubation re-using the existing QQmlContextGuard. Change-Id: Ia1c0241029765cc2e00a9b0ffcf484127de20606 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | | | [new compiler] Allow for interruption during object finalizationSimon Hausmann2014-02-077-53/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The object tree construction and binding allocation remains synchronous, but the initial evaluation of the bindings is now cooperatively interruptible again, like in the VME. Change-Id: Idd037dd481782c81ad43e20e93d922eb12ac8b85 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | | | [new compiler] Fix parser status and created bindings allocationSimon Hausmann2014-02-076-57/+100
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Pre-calculate the amount of space we need for binding and parser status callbacks at compile time and therefore use a much simpler data structure (vector) to store the points to the bindings and callbacks. They need to be stored because during object construction and binding enabling phase, it may happen that they get destroyed and thus their m_mePtr pointing into the array gets deleted. The contiguous vector will also make it possible to interrupt the completion phase. Change-Id: Ic7c985bb8325ab355112e30e9d33d6ae4e7476d1 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | | | [new compiler] Fix memory management of newly created objectsSimon Hausmann2014-02-071-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It may happen that QML created objects get garbage collected, as they'll be initially JS owned. We don't want that to happen, so we have to protect them, similar to the qmlBindingWrappers array in the VME. Change-Id: Iec541dccced46ac8aab447cd0558d22b84e3eac0 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | | | Protect list of client plugins from concurrent accessUlf Hermann2014-02-071-41/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously the list of client plugins in the QQmlDebugServer could be accessed concurrently from receiveMessage() and addService() either when in non-blocking mode, or if the client uses service discovery or sends additional hello messages after the first one. Change-Id: I946243957184210d40ebca728143714c341b1226 Reviewed-by: Kai Koehne <kai.koehne@digia.com>
* | | | V4: stack slot allocator for the interpreter.Erik Verbruggen2014-02-074-15/+205
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use the life-time intervals to track which temps go out of scope, in order to re-use the stack-slots they occupied. This reduces the memory consumption on the JavaScript stack and allows for deeper call stacks. For the ECMA tests, this reduces the number of slots needed for the main/entry function from more than 650 to about 10 (depending on the test). Change-Id: Iff4044f5ff7f25e1f88ff1a04f4e80dd99a67590 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | | | V4: fix life range for phi node target that is never used.Erik Verbruggen2014-02-071-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a temp is defined by a phi-node, but never used, still insert the (very short) life range. Change-Id: Ia976f496736a1606108fab7597c5d90048d9d55a Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | | | Remove add/sub/mul instruction specializations for numbersLars Knoll2014-02-073-73/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These instructions did hurt more than help, as they converted ints to doubles. Since the regular add/sub/mul runtime methods have fast paths for both ints and doubles, we're better off using those instead. Change-Id: I0b7a6f95818943bfc8a0669c1c56f7db4e7246e0 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | | | Specialize CJump into JumpEq and JumpNeLars Knoll2014-02-073-15/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This avoids the bool invert in the instruction stream, and some additional code in the VME. Change-Id: I0ea675a2e3d07c1b8c5234b888d8d9683bcee330 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | | | Avoid some unary plus instructionsLars Knoll2014-02-071-1/+1
| | | | | | | | | | | | | | | | | | | | Change-Id: Ie01ef2be8beb890b1ca56bbdc990ccea87c1d91e Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | | | Remove a memset that is not requiredLars Knoll2014-02-071-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Keep it in debug builds to ease debugging. Change-Id: I334872d3c0ef30b5f09fb5febfc2129a3b450bca Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | | | Add specialized instructions for right and left shiftLars Knoll2014-02-073-0/+80
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These give a measurable speedup as the critical code paths are now inline. Change-Id: I3cee8a432fbe96d66ba1e6bd277a38e624a50c14 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | | | Simplify some runtime methodsLars Knoll2014-02-071-15/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This gives as performant but simpler code, as the first line in toInt() checks if the value is integercompatible. Change-Id: I15d0ade231719116ca1c6c03a86106b7f5aaa9aa Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | | | Remove two unused parameters from VME::run()Lars Knoll2014-02-072-5/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These parameters are not used outside the function itself anymore, so we can safely remove them. Change-Id: I1694481c05a9927fc78a59ffb7fec43a88e85ac8 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | | | Add a MoveConst instruction to the interpreterLars Knoll2014-02-073-14/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This simplifies and speeds up loading of constants Change-Id: I05b4f7a34abd4ed6416fa800a31debbb28b37104 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | | | Make the Ref classes not template basedLars Knoll2014-02-0722-140/+167
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Move to a class hierarchy that mirrors the main classes. This will allow moving functionality over into the Ref classes, as the current Managed classes become mainly something that holds the data. This is required to make objects movable by the GC. Change-Id: I4ca88ab0e5d8c88c8dc56d51937990500a33e0d9 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | | | Rename Referenced to ManagedRefLars Knoll2014-02-0713-72/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | First step of removing the templates here and turning this into a class hierarchy. This is required, so we can move all member methods into the Ref classes and make objects movable during GC. Change-Id: Ie14af07fd3e72a7d84a528d0042189ff12ba21bb Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | | | Move Referenced together with ManagedLars Knoll2014-02-072-81/+90
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The two classes belong logically together (as the Managed base type and a generic pointer to a Managed object). Change-Id: I65691669a7169a4514cadf7ab3e744c090851c6b Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | | | Accessibility: respect password stateFrederik Gladhorn2014-02-071-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Better don't leak passwords via accessibility Change-Id: Ibdb0f63101dbd71f51de6f1b8ddaceb359f01e30 Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
* | | | Android: Fix crash when using images in QMLEskil Abrahamsen Blomfeldt2014-02-072-6/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Because qtdeclarative was merged back from stable and qtbase is still lagging behind, they have become unsynchronized, causing crashes when trying to get the device name from the platform plugin and failing. To work around this until the merge goes through, I've added a simple guard. Task-number: QTBUG-36658 Change-Id: Ibc399ed325a1fbdeccad85ed8d4841edb7b2ba5d Reviewed-by: BogDan Vatra <bogdan@kde.org> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
* | | | Fix memory management issue with accessorsSimon Hausmann2014-02-074-20/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The earlier pattern of Property p; p.setSetter(new (mm) setterFunction); p.setGetter(new (mm) getterFunction); carries the risk of the second allocation garbage collecting the first one. Consequently we need to put these values onto the JS stack, using a simple ScopedProperty wrapper. Change-Id: Ib29ea3b1eab95595dd6dfbb86fea282d23e3d899 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | | | [new compiler] Fix crash in qml delegate modelSimon Hausmann2014-02-051-6/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | qmlContext(this) is expected in re-implementations of classBegin(), so just like the VME we have to be careful that we call it after setting the context on the ddata. Change-Id: I38ad8d1a4e4093368f62f9d57718de3b8cd0cfd2 Reviewed-by: Lars Knoll <lars.knoll@digia.com>