aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Remove QT_DISABLE_DEPRECATED_BEFORE=0 from tests not using deprecated API.Friedemann Kleint2015-09-03176-176/+2
| | | | | Change-Id: I691b8ddff60b5f16f06d32b379c76e87f44f84a9 Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
* Tests: Remove QT_DISABLE_DEPRECATED_BEFORE=0 for simple cases.Friedemann Kleint2015-09-0230-57/+40
| | | | | | | Fix usage of API that is marked deprecated. Change-Id: Ia887437f99b9ce207891ca19bc49294acb7d629d Reviewed-by: Liang Qi <liang.qi@theqtcompany.com>
* qmlprofiler: Remove V8 profiler clientUlf Hermann2015-08-286-264/+3
| | | | | | | It's been a long time since the last Qt version with V8. Change-Id: Iae36dd1c5bb6275254c6a64a8e6b843454139e2b Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* Merge remote-tracking branch 'origin/5.6' into devSimon Hausmann2015-08-24167-1772/+3497
|\ | | | | | | Change-Id: Ic5aad89b014527d3dfd7ad9b1837e3c3065c5f4c
| * Fix incorrect signal emission for QML declared propertiesSimon Hausmann2015-08-241-7/+4
| | | | | | | | | | | | | | | | | | After commit 6cd0001054faa9c7c20dcd5e9c7512367b2c1f5f we also need to remove the special var handling for signal indicies assigned to QML declared properties, in order to emit the right signal when the property changes. Change-Id: Ibdaba0435d8878e1e16dabe20559c484b217d82a Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
| * Make iteration over persistent values saferLars Knoll2015-08-242-10/+61
| | | | | | | | | | | | | | | | This makes it safe to destruct persistents while we are iterating over them. Change-Id: I8797d0c553d3201859cdf03fb25df28836e55691 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
| * Fix use of function expressions with signal handlersSimon Hausmann2015-08-243-8/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Writing onClicked: function(mouseEvent) { ... } would get silently "accepted" by the engine, but it wouldn't do anything. We basically wrapped it in a new function, so that it became onClicked: function(mouse){ function(mouseEvent() {} } which is a noop. With older versions this used to produce a syntax error. However the better fix is to simply support this kind of assignment for more expressive signal handlers, because now the names of the signal parameters can be explicitly named (with names of your choice). Change-Id: I96369f8805fab97509784222f614ee17cf681aba Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com> Reviewed-by: Michael Brasser <michael.brasser@live.com>
| * Implement support for providing information to Linux's perf JIT interface.Robin Burchell2015-08-211-1/+61
| | | | | | | | | | | | | | | | | | | | | | | | | | For more information on what this is, see: https://github.com/torvalds/linux/blob/master/tools/perf/Documentation/jit-interface.txt [ChangeLog][QtQml][Profiling] QtQml can now write additional information so that perf is able to give function names of JavaScript methods when profiling. To enable this, set the environment variable QV4_PROFILE_WRITE_PERF_MAP=1 when running the process in question. Change-Id: I187c9b0792f40d93c89a986c0edb3c4487095cb7 Reviewed-by: Ulf Hermann <ulf.hermann@theqtcompany.com>
| * Add isTabFence private flagGabriel de Dietrich2015-08-214-19/+199
| | | | | | | | | | | | | | | | | | | | | | | | When an item has this flag set, the user can't tab-navigate either out of it, or enter it. We use this flag to implement QQuickPanel as an item for platforms that only support one single top-level window. Change-Id: I1f4313912ae1c70217af0d4d21064932b50a9438 Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
| * Remove unused member variable QQmlDebugServerThread::m_block.Friedemann Kleint2015-08-211-1/+0
| | | | | | | | | | | | | | | | | | | | | | Fix CLANG build error: qqmldebugserver.cpp:115:10: error: private field 'm_block' is not used [-Werror,-Wunused-private-field] bool m_block; Change-Id: I3be87c1ec0347b46e90e40c8769aeb507cf22c26 Reviewed-by: Ulf Hermann <ulf.hermann@theqtcompany.com>
| * Remove unused pointer to the context wrapperLars Knoll2015-08-202-12/+0
| | | | | | | | | | | | | | THe binding wrapper doesn't use that pointer anymore. Change-Id: Ie04fff448b9647927219936a62c67ac0b4853eec Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
| * Cleanup qmlcontextwrapper usage in XHRLars Knoll2015-08-204-116/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Get rid of the static getContext overload and simplify the signature of the dispatchCallback method in XHR. Get rid of the m_me object, and instead store a pointer to the thisObject and the context data directly. Turn all internal errors into assertions. Change-Id: I5427b2009c64f54b67cce1c130eace47201624bd Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
| * Move the qmlSingletonWrapper method out of the contextwrapperLars Knoll2015-08-205-25/+23
| | | | | | | | | | | | | | One more step towards removing the class alltogether. Change-Id: Ic9f6794eb3c5c6605ee43ad23a6d432ebbf321a1 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
| * Move the registerQmlDependencies method into QQmlPropertyCaptureLars Knoll2015-08-205-50/+51
| | | | | | | | | | | | | | | | This is where the method logically belongs, and removes one more thing from the context wrapper. Change-Id: Ibc076c9b31903a484ad4517402eca2a3b7f0d660 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
| * Use the QmlContext as the scope for QQmlV4Function callsLars Knoll2015-08-204-24/+14
| | | | | | | | | | | | | | | | This further reduces our dependency on the QQmlContextWrapper and reduces storage requirements in the QObjectMethod. Change-Id: I2c12d0a8818d81d45139f482caac8510ad8dfddc Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
| * Fix rendering to QQuickWindow::renderTarget.Gunnar Sletta2015-08-201-3/+6
| | | | | | | | | | | | | | | | | | When setting an FBO, the size of the window should be irrelevant, so we need to use the renderTargetSize to specify the viewport and device rect. Change-Id: Id76736cfaf6c511439bb8af80e3c641025d9d547 Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
| * Add possibility to mirror ShaderEffectSource generated texturesMiikka Heikkinen2015-08-2011-2/+375
| | | | | | | | | | | | | | | | | | | | | | | | | | Using textures generated by ShaderEffectSource items (or Item.layer) with custom OpenGL code was non-intuitive due to mismatching coordinate systems, so added a possibility to control the generated texture orientation. [ChangeLog][QtQuick][ShaderEffectSource] Added possibility to mirror generated OpenGL texture. Change-Id: I7c03d8b6fbfc43d69812c15d244200fb8e7c7bb9 Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
| * QQuickImageBase: Use QUrl::path() instead of QUrl::toString().Robin Burchell2015-08-191-1/+1
| | | | | | | | | | | | | | | | | | | | This copies less data, which is faster. Increases creation/delegates_image from 560 ops/frame to 600 ops/frame for me. Change-Id: I9c230bb9fa82fd631020881fb741857285589bca Suggested-by: Michael Brasser <michael.brasser@live.com> Reviewed-by: Michael Brasser <michael.brasser@live.com> Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
| * Cleanup code in the VMEMOLars Knoll2015-08-193-45/+44
| | | | | | | | | | Change-Id: Idc1da41586161f1c824c608198e232ba52a0d9d7 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
| * Hold a pointer to the QV4::ExecutionEngine in the property cacheLars Knoll2015-08-197-23/+30
| | | | | | | | | | | | | | This makes more sense than a pointer to the QQmlEngine. Change-Id: Ic6037b0df63b6cf1585539bc3ac78822f0e69d02 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
| * Switch to the non compat metacall overloadLars Knoll2015-08-194-9/+14
| | | | | | | | | | | | | | | | | | This one passes in the qobject that the metacall is being applied to. The long term goal is to make the vme meta object independent of the QObject instance. Change-Id: Ide34b8637b9963bdb5e87e4aa6e9c2ee825293f7 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
| * Clean up data format for V4 debug connectionUlf Hermann2015-08-193-56/+71
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This changes the type announced for functions to the actual JavaScript type "function". The type for null is also wrong: it should be "object". However, older QtCreators cannot distinguish between null and {} if null gets the correct type, unless you explicitly compare x === null in an expression evaluator. For this reason the fake "null" type is kept for now. Also, the value field of undefined is now set as QJsonValue::Undefined which causes it to be omitted when sent over the wire. This is the logical thing to do. In addition we add type and value fields for all data members mentioned in a response, not only the ones specifically asked for. The value field is the actual value for any primitives (including strings), or the number of properties for composite types: objects, arrays, functions. In turn, the "ref" members are omitted for primitive types, so that we don't have to hold references to them in the debug service anymore. Even old QtCreators can deal with verbatim data members without "ref". Task-number: QTBUG-47746 Task-number: QTBUG-47747 Change-Id: I773e6418c39cd9814aadb5fb5ef7e109f9a4e618 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
| * V4 debugger: Fix expression evaluationUlf Hermann2015-08-196-25/+48
| | | | | | | | | | | | | | | | | | | | | | | | We need to collect the refs in the debugService's list in order for them to show up on addRefs() and we need to generate proper error responses if either the debugger is not stopped or the evaluation throws an exception. Task-number: QTBUG-47797 Task-number: QTBUG-47816 Change-Id: I98f17c1f3976859ee50b9bfac41091276ff60982 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
| * V4 Debugger: Avoid special refs when looking up normal onesUlf Hermann2015-08-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The "values" of "special" refs are always JavaScript "undefined"s. Thus, when trying to deduplicate an actual "undefined" we'd accidentally hit the special refs. Avoid this by checking if a found ref is special. In an ideal world we'd get rid of the special refs altogether and save QV4::FunctionObject in the values array, but that is not quite trivial as long as the QV4::ExecutionEngine::stackTrace() doesn't give us FunctionObjects. Task-number: QTBUG-47788 Change-Id: Idf358c285f40930220fad2207c6ab5c9101573b2 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
| * Improve QQuickImageResponse::textureFactory documentationAlbert Astals Cid2015-08-191-2/+5
| | | | | | | | | | Change-Id: Id754f1f1454af566cb3cf20f5ca947f972ef2caf Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
| * Fix memory leak when using async image providersAlbert Astals Cid2015-08-191-0/+1
| | | | | | | | | | Change-Id: I08392ab0a3edb1ac162110ebc349ad457800c788 Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
| * Fix performance of ListModel::get()Simon Hausmann2015-08-197-63/+213
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When called, the function would return a full-fledged QObject that maps the list element addressed. It would contain a _copy_ of all values in the list item and it would create a new meta-object for each list element. This function exists for the JavaScript API, and therefore we now return a much more lightweight object. For compatbility reasons it still has to be a QObject, but the meta-object of it is created on-demand, i.e. only when accessing properties from the C++ side or when connecting to the changed signal of a property. Otherwise the JavaScript wrapper will return the live values from the model without copying them. Change-Id: Iabf3ca22192d2aee06ae9d4b4cfb2fcde2a021b1 Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com> Reviewed-by: Michael Brasser <michael.brasser@live.com> Reviewed-by: Spencer Schumann <spencer.schumann@echostar.com>
| * Fix test caseLars Knoll2015-08-181-2/+3
| | | | | | | | | | | | | | | | After the latest changes to the VMEMO, JS declared properties will not be available after the engine is deleted. Change-Id: Ifc6034bd0dff18d26863ca9bcf7a19e1c7d68ff6 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
| * Get rid of special handling of var propertiesLars Knoll2015-08-185-90/+43
| | | | | | | | | | | | | | | | | | | | | | | | These can be handled in a simple way now by using a special propertyType value indicating that we have a var property. Also remove the additional write calls in the different readProperty implementations. If the stored data doesn't match, we can simply return the default value directly. Change-Id: I3823a971df24bd78f0acdc4c0042776277b3c55f Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
| * Properly initialize the memberdata to undefinedLars Knoll2015-08-181-1/+4
| | | | | | | | | | | | | | This avoids running into assertions in other places. Change-Id: Ia7f9dbdccdd6d3a338845754801e881d44efebb7 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
| * Use the proper static ValueTypeProvider as intendedFrank Meerkoetter2015-08-181-1/+1
| | | | | | | | | | | | | | | | This was triggering an assertion while running the unit tests. Change-Id: I53a0216a6861a7ab7e3ec89a2b8bda0605b38aaa Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
| * Remove special case for var propertiesFrank Meerkoetter2015-08-182-9/+7
| | | | | | | | | | | | | | | | In the new world order all the properties are QV4::Values. Therefore this special handling can be removed. Change-Id: Ia4d703256db7330936cd16a835d16d140adfe20e Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
| * Allocate a JS wrapper if there are any propertiesFrank Meerkoetter2015-08-181-2/+2
| | | | | | | | | | | | | | Properties are now stored as QV4::Values. Change-Id: I586ccacbeb3c131ff4af2e5913c484dc4f4b7462 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
| * Use QV4::MemberData for property storageFrank Meerkoetter2015-08-182-194/+129
| | | | | | | | | | | | | | | | Unlike the Array type the QV4::MemberData can be sized exactly so no memory is wasted. Change-Id: Ia7b9b846a7b8017787324e5243ccf6233568d41c Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
| * Update copyright notice.Frank Meerkoetter2015-08-183-0/+3
| | | | | | | | | | | | | | Update the copyright notice on files containing larger changes from me. Change-Id: I46cb83161331ef2f49a6ec92c078d6dc8019081e Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
| * Remove QQmlVMEVariant specific workaroundFrank Meerkoetter2015-08-181-9/+1
| | | | | | | | | | | | | | | | A Q4x4Matrix wouldn't fit inside a QQmlVMEVariant. Therefore it was wrapped in a QVariant. Change-Id: I68864e456a4fd76143277d5a10d1a3f307e833f2 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
| * Remove unused codeFrank Meerkoetter2015-08-181-25/+2
| | | | | | | | | | | | | | | | The QQmlObjectCreator is the only user left. It is using it only with QVariant::Color. Change-Id: I5091fd160841118bee5d6cf6e30798f66c277b69 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
| * Mark methods as overridesFrank Meerkoetter2015-08-181-11/+11
| | | | | | | | | | | | | | Let the compiler help to catch interface changes Change-Id: Ic4add183ca95ef287df41f35bd25c3e9eb15032f Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
| * Also remove the QQmlValueTypeProvider::destroyValueType interfaceFrank Meerkoetter2015-08-183-57/+0
| | | | | | | | | | | | | | After the removeal of the QQmlVMEVariant there is no user left. Change-Id: I97224127aac57aba9a80827f9292018d03609b85 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
| * Remove the QQmlVMEVariant implementationFrank Meerkoetter2015-08-181-363/+0
| | | | | | | | | | | | | | This code is now obsolete. Change-Id: Id34e8663d0398286e8ce34db7d83c6957e779c30 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
| * Remove the QQmlVMEVariant array memberFrank Meerkoetter2015-08-182-5/+1
| | | | | | | | | | | | | | All properties have been move into the varProperties JS array. Change-Id: Ib39a603d43ab5ef23aad3e6ccbdbc9b981c9da18 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
| * Adapt the ValueTypeProvider interface and port its typesFrank Meerkoetter2015-08-184-122/+90
| | | | | | | | | | | | | | | | | | The ValueTypeProvider system allows non-QML modules to add new basic QML types. It needs to be changed when porting away from QQmlVmeVariant as underlying type of properties. Change-Id: I2b52d7e6f578647a39832896c28553404b9a679f Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
| * Port QVariant away from QQmlVMEVariantFrank Meerkoetter2015-08-181-6/+23
| | | | | | | | | | | | | | | | QVariants are now stored as QV4::VariantObject inside a javascript array. Change-Id: Idcc65eed6845b561038e224d74e5efdf0c9e1c28 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
| * Port QObject* away from QQmlVMEVariantFrank Meerkoetter2015-08-182-20/+54
| | | | | | | | | | | | | | | | | | QObjects are now stored as QV4::QObjectWrapper in a javascript array. This is part of a series of patches slimming down the memory usage of QML properties. Change-Id: I270831d0f0f7bc17842cd2f8d2eb9661e09a3364 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
| * Remove QQmlValueTypeProvider::copyValueTypeFrank Meerkoetter2015-08-183-60/+0
| | | | | | | | | | | | | | | | While reworking the QQmlValueTypeProvider interface I noticed that this code isn't used. Change-Id: I30a279ffabf3a1c70eaa1327e69b774f5e5981f0 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
| * Port list properties away from QQmlVmeVariantFrank Meerkoetter2015-08-181-2/+2
| | | | | | | | | | | | | | | | The index into the list of list properties (an int) is now also stored as a QV4::Value. Change-Id: I16809c5027ed3c4264aab6dfed8b4519adf83e2a Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
| * Port QDate/QDateTime/QRectF away from QQmlVmeVariantFrank Meerkoetter2015-08-182-9/+96
| | | | | | | | | | | | | | | | | | Store QDate/QDateTime/QRectF in a javascript array. The values are wrapped inside a QV4::Variant. This is part of a series sliming down the memory usage of properties. Change-Id: I1b5c4e24c1e46d19c5c861941655efb7a972a6a5 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
| * Port QUrl/QSizeF away from QQmlVmeVariantFrank Meerkoetter2015-08-182-6/+65
| | | | | | | | | | | | | | | | | | Store QUrl/QSizeF in a javascript array. The values are wrapped inside a QV4::Variant. This is part of a series sliming down the memory usage of properties. Change-Id: I62338fe7fe101496340a8d89f33030d0df5121b7 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
| * Store all properties in one Javascript arrayFrank Meerkoetter2015-08-182-61/+28
| | | | | | | | | | | | | | | | | | Store both "normal" properties and var properties in the same js array. The second array which is removed by this patch was scaffolding for the initial brinup. Change-Id: I24f72a1d880a54f68f5562e5077dbc26e7db864a Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
| * Store int/bool/double/string and sizef as QV4::Value in a Javascript arrayFrank Meerkoetter2015-08-182-16/+189
| | | | | | | | | | | | | | | | | | | | This is the first patch in a series of patches removing the QQmlVMEVariant used for the storage of non-var properties. The overall goal is to reduce the memory usage of QML. The QQmlVMEVariant has a size of 8*sizeof(void*) + sizeof(int) which is quite an overhead for types such as int/bool or double. Change-Id: I301661d134724300942911a3d75258fe45356a7a Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>