aboutsummaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
...
* | | Support 32-bit color bitmap glyphs in native text rendering.Eli Fidler2015-06-234-6/+67
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We had been accidentally using the 8-bit alpha glyph shader, which resulted in rendering solid black outlines of the glyphs. Task-number: QTBUG-37986 Task-number: QTBUG-45514 Change-Id: Ie8728d50068f58d659e24bc5db2d73e01ca8db75 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
* | | Doc: document work-around for static builds using dynamic object creationRichard Moe Gustavsen2015-06-181-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | Currently we have no system to detect import dependencies that are not explicitly added to a QML file (other than qmldir "depends", which is for plugins only). Until we do, document the work-around. Change-Id: Ic7244728b63bd1f2eb4bf9734474b3e6e48e26fe Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | | QSGDefaultRectangleNode: Fix gradient position calculationsSanttu Lakkala2015-06-171-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change the gradient position calculations to consider full border, not just half of it, because the border is fully drawn inside the rectangle, not half outside, half inside. Task-number: QTBUG-36059 Change-Id: Ie7dec94d9f6e03ae07c612c6e3b1950781973dc7 Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
* | | Android: Another work around bug of Vertex ShaderTakumi ASAKI2015-06-121-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | Just like commit fd565ec6, this fixes another vertex shader compilation issue on certain OpenGL drivers. Change-Id: Ided3d6082fa0790659e9c242d0b43d7de5a2ae4d Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
* | | Improve qml error message "invalid alias location"Aleix Pol2015-06-101-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Specify we're talking about the target itself rather than talking location, which I always doubt about whether it's the location within the file. Also specify the offending property, so we get a clue about what to look into. [ChangeLog][QtQml] Improve "invalid alias location" error message by specifying what's the offending property and by calling it "invalid alias target location" Change-Id: I7a9390089ee8986872c119df44d8036bf267ab99 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | | Fix performance regression in Image construction.Gunnar Sletta2015-06-084-5/+9
|/ / | | | | | | | | | | | | | | Setting up the signal leads to a significant memory and performance overhead. This patch improves the benchmark by almost 10%. Change-Id: Ib0a76ba42fdce1ca707044a8f8b6bdc6405f20c3 Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
* | Fix flickering when QQuickWidget becomes visibleJoni Poikelin2015-06-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | QQuickWidget used short delay before rendering. This caused black area to flash on the widget briefly. Instead of scheduling redraw, render scene immediately. Task-number: QTBUG-46387 Change-Id: I342d96a1aaef3244190221807b0d816815697623 Reviewed-by: Gunnar Sletta <gunnar@sletta.org> Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* | Document the render loops a bit moreLaszlo Agocs2015-05-281-6/+29
| | | | | | | | | | | | | | Task-number: QTBUG-42699 Change-Id: Ib8a1690bfe38bd0686799fac390207c26e5a6812 Reviewed-by: Topi Reiniö <topi.reinio@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
* | Purge use of VisualDataModel from docs where DelegateModel is requiredAlex Blasche2015-05-284-9/+12
| | | | | | | | | | | | | | | | | | They are the same types except that VisualDataModel is deprecated and uses a different import statement. Now, references to VisualDataModel are only used where we explicitly refer to the replacement/deprecation. Change-Id: I1e68eb5784235a00233b3882c3d91e21e32af7d1 Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
* | Makes it possible to extract all data from a QML DropAreaAleix Pol2015-05-233-0/+23
| | | | | | | | | | | | | | | | | | | | | | | | There's many types that aren't being covered by DropArea API, such as images. getDataAsString is not acceptable, since fromUtf8 chokes on reading non-utf8. This patch introduces getDataAsArrayBuffer method that won't try to convert the data into a QString and simply pass a QV4::ArrayBuffer, that internally keeps a QByteArray. Change-Id: I65411b3d365ee6c5e13effd9167156771ee08a05 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | Fix the implicitSize of SVG Images on retina displayJocelyn Turcotte2015-05-221-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the user relies on the Image implicitSize to do the layout but still sets sourceSize to the image, the sourceSize might be (0, 0) instead of (-1, -1). readImage checks that the size is > 0 to use the requestedSize and this would cause us not to use the requestedSize, but still divide by the devicePixelRatio in QQuickImageBase::pixmapChange, which would give a different implicitSize on retina display. Make sure that we get the same implicitSize on both by only keeping the targetDevicePixelRatio if sourceSize is > (0, 0) like readImage does. Task-number: QTBUG-38991 Change-Id: Ib93f57efa47d096f88883845985b44f62db4ad74 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* | qquickwindow: ensure we delete the correct delayed touch event after deliveryRichard Moe Gustavsen2015-05-222-16/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Delivering a delayed touch event from QQuickWindow can cause the event loop to recurse (e.g if it starts a drag'n'drop). This again can cause new touch events to be delivered to QQuickWindow, and new delayed touch events to be stored. This results in the following: (1) Receive new touch press event in QQuickWindow, and set delayedTouch to be a copy of it (2) Deliver delayedTouch to items. This can cause an event loop recursion. (3) While inside the recursion, QQuickWindow receives another new touch press event. We then redeliver and delete the current delayedTouch event created in (1), and set delayedTouch to be a copy of the new event. (4) Later we return back from (2), and try to access delayedTouch (or actually a reference to the touchpoints inside it, qquickwindow.cpp:1958). Since the event was deleted in (3), we have a crash. This patch will ensure that we set delayedTouch to 0 before delivering it (so it cannot be redelivered), and that we safely delete it afterwards when it goes out of scope. By converting delayedTouch to a QScopedPointer we also ensure that the event is not leaked upon destruction. Task-number: QTBUG-45877 Change-Id: Ic372a39a0eb127abfd12cec2d51b3743ad83194d Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | Fix basic and windows render loops to use the correct screenLaszlo Agocs2015-05-212-0/+2
| | | | | | | | | | | | | | | | | | | | | | GLX, and potentially other platforms too, require that compatible contexts and surfaces are created with the same screen. This makes Quick functional on X.org configurations where each physical screen represents a separate X screen on the same X display. Change-Id: I03c87819e1aee148c880a3caca13d4a0c5409056 Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
* | Fix null pointer dereference in QQmlImportNamespaceVishesh Handa2015-05-201-4/+6
| | | | | | | | | | Change-Id: Iaf61f38790b0dfddb924043e0a25eb8a882571c8 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | Optionally apply orientation on imagesAllan Sandfeld Jensen2015-05-199-38/+131
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adds the option to follow EXIF orientation. This was previuosly automatically applied to TIFF images, but not JPEGs except in Qt 5.4.1. [ChangeLog][Image] An autoTransform property has been added to control whether metadata image transforms such as EXIF orientation are automatically applied. By default it enabled for TIFF images and disabled for JPEG. Change-Id: I8a4cf204985b2a7d158a0e046e52db7cda970d20 Task-number: QTBUG-37946 Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
* | WinRT: fix warningsMaurice Kalinowski2015-05-193-1/+6
| | | | | | | | | | | | Change-Id: If11db499d743cbe79959145ecfcbcfec896a6845 Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com> Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
* | Fix render loop warning about invalid geometry of exposed windows.Friedemann Kleint2015-05-191-2/+4
| | | | | | | | | | | | | | | | | | Do the screen check only for toplevel windows and make warning more verbose. Change-Id: Ie25271fe34c72c1410022afe8a1a9bdccdf7a12f Task-number: QTCREATORBUG-10814 Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
* | Fix MSVC warning about unused variableSimon Hausmann2015-05-191-0/+1
| | | | | | | | | | Change-Id: I9b2f21dd7cfc82a9da9aa3e4c60d47fa07fdceaf Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | MSVC: Fix compiler warningKai Koehne2015-05-191-0/+1
| | | | | | | | | | | | | | | | | | Fix compiler warning introduced in commit d76921e3082cd31: jsruntime\qv4engine.cpp(1626) : warning C4100: 'v' : unreferenced formal parameter Change-Id: I1f2b74f8e3fb14019f6e28b407d0336b0812c573 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
* | QtQuick: Fix const correctness in old style castsThiago Macieira2015-05-1310-24/+29
| | | | | | | | | | | | | | | | Found with GCC's -Wcast-qual. Change-Id: Ia0aac2f09e9245339951ffff13c9589afabc7ade Reviewed-by: Alan Alpert (Personal) <416365416c@gmail.com> Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | Create contexts and pbuffers with the correct screen in QQuickWidgetLaszlo Agocs2015-05-121-2/+12
| | | | | | | | | | Change-Id: I8e9db998eee0af5f62c1384f2dcb2028254cc642 Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
* | QML: fix mixed debug/release build on OSX.Erik Verbruggen2015-05-122-7/+1
| | | | | | | | | | | | | | | | | | | | Dyld will take the debug library and link it against the release versions of the frameworks. (Using the debug versions is an option to dyld when starting an application.) This requires all symbols in both debug and release libraries in frameworks to be the same. Change-Id: I6d96bcdf8577f1dffc63c508cb7adc0db2acc486 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | Hide cursor when text fields becomes read onlySanttu Lakkala2015-05-122-4/+17
| | | | | | | | | | | | | | | | | | | | Clear the cursor node in TextEdit if field is read only. Otherwise the cursor stays visible indefinitely, if it were at the moment the flag was set. Task-number: QTBUG-44735 Change-Id: Ib39138260ad8a4d7e5ed2185b8a04c577ee1eff0 Reviewed-by: Alan Alpert <aalpert@blackberry.com>
* | Add QtQuick::Text::font.weight enum valuesShawn Rutledge2015-05-115-5/+33
| | | | | | | | | | | | | | | | | | | | Followup to 517da68893be9e6d97c7993922c573de9560604d in qtbase: make all possible font weights available in QML. Task-number: QTBUG-38482 Change-Id: I4f821d2fadbcd42fbb237903be474d67a0a5a7c9 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
* | Add protection against "wrong" marking in debug buildsSimon Hausmann2015-05-082-0/+16
| | | | | | | | | | | | | | | | | | | | | | To protect against situations where we accidentally mark an object that belongs to a different engine - there are many possible entry points - this patch adds an assertion in debug builds for this situation. When it happens, it will point more or less directly to the code that tries to push an object to the wrong JS stack for marking. This helped in the investigation of QTBUG-44895 Change-Id: I311b9ff6d282d52e725044b03a62cd77085536be Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | Fix memory corruption when sharing QObjects between different QML enginesSimon Hausmann2015-05-084-12/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | When marking the JS wrappers for QObject manually, we cannot use ddata->jsWrapper directly but we must respect the case where the same object is exposed to different engines and then we must mark the wrapper that belongs to the engine that is currently collecting garbage. Change-Id: If82883c762ccaf3431e7074243ff2ff703234d66 Task-number: QTBUG-44895 Reviewed-by: Marco Martin <mart@kde.org> Reviewed-by: Jan Kundrát <jkt@kde.org> Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Aleix Pol Gonzalez <aleixpol@kde.org>
* | Avoid uninitialized bytes in QV4::CompiledDataSimon Hausmann2015-05-081-0/+1
| | | | | | | | | | | | | | | | | | | | | | When populating the QV4::CompiledData for a JS unit, we memset the malloc'ed data to zero. We should do the same when creating a unit for QML files. We do write all the fields that we use, but due to padding we may end up with bytes that are neither used nor written but still uninitialized. Consequently they should be zero'ed, otherwise serialization will write garbage. Change-Id: I0b093e4dde6789d7236247507221f4f3476ba89d Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | Fix memory corruption in array handlingSimon Hausmann2015-05-081-3/+2
| | | | | | | | | | | | | | | | | | | | SimpleArrayData's markObjects() implementation did not mark the entries correctly. When the dequeue offset was non-zero, we would end up marking values that may have been garbage collected earlier. Task-number: QTBUG-45888 Change-Id: Iacec350ccc76399ad4d16138af50acf22b2809db Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | Fix memory corruption when multiple QML engines have JavaScript wrappers for ↵Simon Hausmann2015-05-084-21/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | the same QObject It's possible that the same QObject is exposed to multiple JavaScript environments, for which we have this "extra" hack in the form of a QMap. The common case is that QQmlData has a QV4::WeakValue that points to the JS wrapper for the object. However in the rare case of multiple exposure, a map in the other engines stores those references. That map was erroneously storing pointers to temporary values on the JS stack instead of heap pointers. Change-Id: I8587f9921a9b4f9efd288326d00cebc25ad0bc12 Task-number: QTBUG-45051 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | BorderImage support for @2x assetsAndy Nichols2015-05-061-32/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Despite being a subclass of QQuickImageBase, BorderImage components did not support using @2x assets like Image components. The 9 patch image logic now accounts for device pixel ratio when needed. Manual tests added for stretch, repeat and round tiling modes. [ChangeLog][BorderImage] Add support for @2x HiDPI border images. This means, no more need to multiply the border sizes by the device pixel ratio. Change-Id: I79958739929964c816ba5dacedd9eaf93a60a183 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@theqtcompany.com> Reviewed-by: Morten Johan Sørvig <morten.sorvig@theqtcompany.com>
* | Enhance QQuickFramebufferObject docs regarding the stateLaszlo Agocs2015-05-061-0/+11
| | | | | | | | | | | | | | | | | | Add a note about resetOpenGLState() and the initial state to render(). This tries to tackle the common issue of forgetting to set or reset the state the custom OpenGL code relies on. Change-Id: I706b2b1eac76468a9b35cfb7cd99bd5483f2912c Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
* | QQuickWindow: Replace assert() on unreleased touch points by warning.Friedemann Kleint2015-05-061-1/+6
| | | | | | | | | | | | | | | | | | | | Output a warning message and clear QQuickWindowPrivate::itemForTouchPointId should unreleased touch points exist when QEvent::TouchEnd is received. Task-number: QTBUG-45856 Change-Id: I8a05220e4258c0ca401f79a2c32ec4f1d43fa444 Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* | Fix implicitHeight for Text items bindings dependent on implicitWidth.Andrew den Exter2015-05-041-0/+35
| | | | | | | | | | | | | | | | | | | | | | | | Recalculate the implicitHeight on the second layout if the width changes after setting the implicitWidth, and potentially do another layout if the updating the implicitHeight changes the height. Change-Id: Ib6a637452013b56dba7ae8a6862cd92156386578 Task-number: QTBUG-45546 Reviewed-by: Michael Brasser <michael.brasser@live.com> Reviewed-by: Albert Astals Cid <albert.astals@canonical.com> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
* | Merge "Merge remote-tracking branch 'origin/5.4' into 5.5" into refs/staging/5.5Simon Hausmann2015-05-042-19/+10
|\ \
| * | Merge remote-tracking branch 'origin/5.4' into 5.5Simon Hausmann2015-05-042-19/+10
| |\| | | | | | | | | | Change-Id: Ie8ea118ed0a1a9a1c3d81e1e34d85c03c695c9a4
| | * Fix passing of locals as function arguments with side-effectsSimon Hausmann2015-04-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit 75c22465cf8fe262edfe6178bb9ca19661fb710e regressed in allowing locals and arguments to be passed directly as further arguments to function calls, but that's incorrect when considering var i = 2; testFunction(i, i += 2) where it is instrumental to place the first argument into a temp (making a copy) instead of passing it directly. Change-Id: Iffcf6c6eda92a8fb665982cda1db0b96359cd092 Task-number: QTBUG-45879 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
| | * Avoid calling potentially pure virtual methodDavid Edmundson2015-04-271-18/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In Qt 5.4 screenChanged is called indirectly from the destructor of QPlatformScreen. By comparing new values against the oldScreen we call call virtual methods of QPlatformScreen from it's own destructor which results in a crash. This patch simply emits change signals whenever a screen change regardless of whether the value differs from the previous screen. Arguably less efficient, but better than crashing. This fix is not needed in Qt 5.5 where the QPA architecture has changed. Task-number: QTBUG-45753 Change-Id: Ic155906928855a377add9b21bff9e72b31f4667e Reviewed-by: Alan Alpert <aalpert@blackberry.com>
* | | Avoid QQuickItem in materials's compare() on the render threadGunnar Sletta2015-05-041-5/+21
|/ / | | | | | | | | | | Task-number: QTBUG-44664 Change-Id: I4438e666b75fdf2e8d4353e64454d4c665a24350 Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* | Fix default value for XMLHttpRequest.response propertySimon Hausmann2015-05-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The default value for responseType is the empty string, for which the expected data type for the response property is a string - same as when the response type is set to "text". In other words: By default the response property should contain the string representation of the data. Task-number: QTBUG-45862 Change-Id: I563160e5cdfbf93aca7e283e455d77a6b9deceb4 Reviewed-by: Pasi Keränen <pasi.keranen@digia.com> Reviewed-by: Valery Kotov <kotov.valery@gmail.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | Create QOpenGLContext with the correct screenv5.5.0-beta1Jan Arne Petersen2015-05-021-0/+1
| | | | | | | | | | Change-Id: I91169e719ac97b8e32805e08d6a1f43caa897f73 Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
* | Fix uninitialized variables/dataSimon Hausmann2015-04-293-2/+3
| | | | | | | | | | | | | | | | | | | | * Initialize the indexOfRootObject member * When creating the QV4::CompiledData::String objects, don't include the one ushort _beyond_ the QString, which is random data. Change-Id: I8fe8a465e2713a385504f217b367a62b70ee5fdf Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | Doc: Fix linking issues in Item QML type documentationTopi Reinio2015-04-291-5/+5
| | | | | | | | | | | | | | | | | | Use explicit link commands as QDoc cannot create links to single-word QML type names automatically. Task-number: QTBUG-45827 Change-Id: I048300728356d3ae9901c5c57febc683137ce090 Reviewed-by: Martin Smith <martin.smith@digia.com>
* | Fix rendercontrol example for screens with different dprLaszlo Agocs2015-04-281-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | renderWindow() was not reimplemented in the example. This is pretty bad since renderWindowFor() fails to find a window and thus falls back to using the default device pixel ratio (which is the highest dpr present in the system). The result is broken content from Quick because it operates with a dpr of 2 any time a retina screen is connected, even when the example's own QWindow is placed on a normal screen. Add also a note to the QQuickRenderControl docs because it is easy to overlook. Task-number: QTBUG-45613 Change-Id: I31bf92ec285f3d9867a5604a4b4e3bea73791932 Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
* | Merge "Merge remote-tracking branch 'origin/5.4' into 5.5" into refs/staging/5.5Simon Hausmann2015-04-273-3/+11
|\ \
| * | Merge remote-tracking branch 'origin/5.4' into 5.5Simon Hausmann2015-04-273-3/+11
| |\| | | | | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf tests/auto/qml/qqmlxmlhttprequest/tst_qqmlxmlhttprequest.cpp Change-Id: I715b8a78b74cbe0dcaf599367fd6e08af4858e11
| | * Doc: corrected error on return value qmlRegisterTypeNico Vertriest2015-04-241-1/+1
| | | | | | | | | | | | | | | | | | Task-number: QTBUG-45584 Change-Id: I97508aabe47c49d8e27329a7856dd921ee0505dd Reviewed-by: Martin Smith <martin.smith@digia.com>
| | * QML: do not check stack size if stack grows upRolf Eike Beer2015-04-211-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On architectures where the stack grows upwards (i.e. HP PA-RISC) the stack limit calculation fails because the variables used to check the offset are usually close to the bottom of the stack, which is in this case the origin of the stack grows. Since these machines are a rare obscurity simply assume that everything is fine on these machines. The few people that are indeed running QML on such machines will probably be able configure their stack size properly by default. Task-number: QTBUG-44268 Change-Id: Ia83a39179a0f6e0602ba7a5032d386e12d8d1ba3 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
| | * fix model leak in QQmlInstantiatorAlexandr Rekunkov2015-04-181-1/+1
| | | | | | | | | | | | | | | | | | | | | Change-Id: Ieb6ef229bc999f1a35adc2a157bd42a38908f7d7 Task-number: QTBUG-45271 Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com> Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | | Only heap allocate binding bits storage if needed.Aaron Kennedy2015-04-272-15/+43
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For samegame, this has the following change on the total bytes allocated: Startup (main page): Before: 1636 After: 1072 Difference: 564 bytes (-34%) Actual game (single player): Before: 14120 After: 10432 Difference: 3688 bytes (-26%) Done-with: Robin Burchell <robin.burchell@viroteck.net> Change-Id: I10fd1e9f1440dcff93aed06e2c77c2912bc7dd39 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com> (cherry picked from commit 54a19db8d00b67044861c8ffd1d5b1e646658609) Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | Instantiator: Make asynchronous mode workGabriel de Dietrich2015-04-252-7/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch proceeds in two steps. First, and the most trivial, we make sure not to offend the Instantiator's objects container since asynchronous creation also means the objects can be created in any order. We do so by ensuring the objects container has always the necessary size. The second step is to make sure the objects don't get destroyed by the delegate model when their incubation tasks are asynchronous. We force to keep an extra reference calling the object() function on the instance model, but only if the creation was asynchronous. However, it's not enough to check for the Instantiatior async value since the incubation tasks in QQmlDelegateModel are async-if-nested. Therefore, we need to keep track of the object index requested to the model and see if it matches when the createdItem() signal gets emitted. Task-number: QTBUG-36410 Change-Id: I180b03b6a7468d6521827a9631755577e9e6d357 Reviewed-by: Andrew den Exter <andrew.den.exter@qinetic.com.au>