aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Updated license headersJani Heikkinen2016-01-19926-12978/+19649
| | | | | | | | | | | From Qt 5.7 -> LGPL v2.1 isn't an option anymore, see http://blog.qt.io/blog/2016/01/13/new-agreement-with-the-kde-free-qt-foundation/ Updated license headers to use new LGPL header instead of LGPL21 one (in those files which will be under LGPL v3) Change-Id: Ic36f1a0a1436fe6ac6eeca8c2375a79857e9cb12 Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* V4: add Aarch64/ARM64 support.Erik Verbruggen2016-01-1919-15/+9421
| | | | | | | | | | This uses the JavaScriptCore assembler rev. 195098. It is tested on iOS (for which it is disabled, as it only allows marking pages as executable when running from Xcode). Testing on Linux will be done when hardware arrives. Change-Id: I650e15fec03c27d4b326a2d70863a89b85cfc5c3 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* QQuickTextEdit: added clear() methodLiang Qi2016-01-196-0/+98
| | | | | | Task-number: QTBUG-50428 Change-Id: Id618616f8d8d50c2a2eba79a2bf6969662e727b8 Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
* QQuickTextInput: added clear() methodLiang Qi2016-01-194-0/+82
| | | | | | Task-number: QTBUG-50428 Change-Id: I394c2cf1bc397dcbf6d82d3211a6b39519d7582b Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
* Quick: fix expensive iteration over QHash::keys() and QMap::keys()Anton Kudryavtsev2016-01-184-10/+16
| | | | | Change-Id: I21c48214bfddde01f71710705fe01418818a6581 Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* Particles: fix expensive iteration over QHash::keys()Anton Kudryavtsev2016-01-182-5/+9
| | | | | Change-Id: I02755796e3a5c5a3bb39e125a45d968a750e58e1 Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* Qml: fix expensive iteration over QHash::keys() and QMap::keys()Anton Kudryavtsev2016-01-183-14/+10
| | | | | Change-Id: I7bb5dd3b49b9f3a638f81156a02d999dbbd932f3 Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* WinRT: Enable JIT for x86/x64 target platformsMaurice Kalinowski2016-01-167-12/+114
| | | | | | | | | | | | | | | | | | | | | This only works for Windows 10 and later. Setting the "Code Generation" capability in the manifest, WinRT applications can use JIT for Windows 10 Desktop. Update the Allocator in regards to this and also update the VirtualProtectFromApp section. When the engine gets initialized, check for marking an area as executable. If it fails, fallback to interpreter mode. This does not affect ARM platforms, as we do not have calling conventions yet. It is implicitly disabled as V4_ENABLE_JIT is not defined. [ChangeLog][WinRT] Enable JIT for x86/x64 targets on Windows 10 and later. Change-Id: Ie05add5263f71387c5ce98456b9bec86c6c07ceb Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* V4 JIT: Switch all platforms to W^X for the ExecutableAllocator.Erik Verbruggen2016-01-153-26/+53
| | | | | | | | This also fixes makeWritable, which needs to work in order to add more c0d3 to used pages. Also finish the WinRT parts. Change-Id: Idaa4187b1ec256e65c881285a608f3a51fdbeebd Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* Plugins: fix expensive iteration over QHash::keys()Anton Kudryavtsev2016-01-152-5/+6
| | | | | | | ... and QMultiHash::keys() Change-Id: I616c486c05471fc514595f9cb446953331c4eb90 Reviewed-by: Ulf Hermann <ulf.hermann@theqtcompany.com>
* Tools: fix expensive iteration over QHash::keys()Anton Kudryavtsev2016-01-152-7/+10
| | | | | Change-Id: I902bafdbc2ddfceeacfc9ef274513a2b0a23aed7 Reviewed-by: Ulf Hermann <ulf.hermann@theqtcompany.com>
* JIT: move FP save/restore to platform pro-/epilogue.Erik Verbruggen2016-01-152-12/+30
| | | | | | | | | This is in preparation for Aarch64, which saves/restores it as part of the fp+lr pair. Change-Id: Ia924017948aa2b257bd6bb61e488454e3944abeb Reviewed-by: Julien Brianceau <jbriance@cisco.com> Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* Print warning if JIT is disabledMathias Hasselmann2016-01-141-2/+11
| | | | | | | The wiki will provide information on how to work around the issue. Change-Id: I4409f5b4af0668ab28197adb8766898124e8cec8 Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* Remove needless use of the ternary operatorFrank Meerkoetter2016-01-141-1/+1
| | | | | | | | | | Fixes: "** CID 156593: Control flow issues (DEADCODE)". Child can not be null do to while (child) { ... Change-Id: I46a4f23f24bf7e6b71e72b177249587eea57d5ce Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com> Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com> Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
* QQuickCanvasItem: fix expensive iteration over QMap::keys()Anton Kudryavtsev2016-01-141-2/+2
| | | | | Change-Id: I97cc704d2ddbb8161de8680ae3fa787d4a6255f5 Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* context2d: replace foreach with range-based forAnton Kudryavtsev2016-01-142-5/+5
| | | | | Change-Id: I28156cf5dd8d5197d4e47ecbb8cacdb6722cd6fb Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* QQuickTextEdit: added preeditText propertyLiang Qi2016-01-136-1/+55
| | | | | | Task-number: QTBUG-49503 Change-Id: I3390e72893e4125e00e8e0835a8d2fae11ea276f Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
* QQuickTextInput: added preeditText propertyLiang Qi2016-01-134-0/+36
| | | | | | Task-number: QTBUG-49503 Change-Id: I803c9fc3bddba81d08e1dd450bc5a5f8a5605720 Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
* Remove debugChangesHash from QQmlEngineUlf Hermann2016-01-122-31/+0
| | | | | | | Since the inspector doesn't use it anymore we can drop it. Change-Id: I9c4ffc3988bcd9937a4a473d5de287c7a5eda13e Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* Rewrite inspector serviceUlf Hermann2016-01-1225-1564/+1149
| | | | | | | | | | | | | | | | | | | | | | | | | | | The inspector service had bitrotted to a point where there was little code to be rescued. Apparently it was never really finished and quite some code didn't make any sense. This change removes some features that were unused or didn't work correctly: 1. Panning and Zooming with mouse wheel and touch interaction. This might be useful in some contexts, but the implementation was so broken that it wasn't worth trying to fix it. The whole idea of doing this on the layer of QQuickItems is not so great because there is no distinction between spontaneous changes triggered by the application and debugging interaction triggered from outside. It might be better to implement such functionality on a lower level, e.g. in the renderer. 2. Reloading the scene with debug changes. Use one of the other debug services to change properties. Clearing the component cache is a rather drastic measure and not necessary here. In turn, we get support for inspecting multiple windows, and all subclasses of QQuickWindow are supported now. Also, show-on-top works now. Task-number: QTBUG-33376 Change-Id: I65497f49c6b46128a600b0e3a31483eeef40313c Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* Make environment for QQmlDebugProcess usefulUlf Hermann2016-01-112-4/+4
| | | | | | | We don't want to replace the system environment, but rather add to it. Change-Id: I0a498682f8f70dc349c529fa4fc3d76ccb815af8 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* V4 Debugger: Move all the jobs into one placeUlf Hermann2016-01-1110-439/+544
| | | | | | | | This makes the code more readable and allows us to keep the data collector as value, rather than pointer, in QV4Debugger. Change-Id: I2939c2b2f551111139f1dc34704a6029e87a66bf Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* V4 Debugger: Clean up testsUlf Hermann2016-01-111-170/+78
| | | | | | | | | | | | Now that we can evaluate expressions without pausing, we might as well test for that. The race conditions should also be resolved by now. Clarify the reason why the break-on-attach test cannot work (so that whoever tries to fix it the next time doesn't have to figure it out for the (n+1)th time) and remove some dead code. Change-Id: Ib1aab03d40779c6876db914b852f05061a2be046 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* Merge remote-tracking branch 'origin/5.6' into devLiang Qi2016-01-1046-139/+409
|\ | | | | | | | | | | | | | | | | | | Conflicts: src/plugins/qmltooling/qmldbg_debugger/qqmlenginedebugservice.h tests/auto/quick/qquicklistview/tst_qquicklistview.cpp tests/auto/quick/qquicktextedit/qquicktextedit.pro tests/auto/quick/qquicktextinput/qquicktextinput.pro Change-Id: I95d2c20a8619e5b8fa361c941a16dd8dce3e04e7
| * Fix inconsistent use of override keywordThiago Macieira2016-01-081-3/+3
| | | | | | | | | | Change-Id: I408dcb81ba654c929f25ffff1427560b6e7962ad Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
| * Set CMP0056 to NEW only if it exists for the running cmake versionStephen Kelly2016-01-081-1/+3
| | | | | | | | | | Change-Id: Id3dfaba678f1891adbc31fcd379481ad9271198e Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
| * QQuickAnimatorController: fix dangling QQuickAnimatorProxyJob pointerJ-P Nurmi2016-01-081-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | We're hitting crash problems in controls2 auto tests where QQuickAnimatorController::stopProxyJobs() contains dangling pointers in m_proxiesToStop. The window for these proxy jobs had been already reset, so the destructor of QQuickAnimatorProxyJob was not removing it from QQuickAnimatorController's m_proxiesToStop. Change-Id: I89e3b174c86dfb217a555f07ee1ce4c42cbcf204 Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com> Reviewed-by: Gunnar Sletta <gunnar@sletta.org> Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
| * Remove prohibited uses of underscore + capital letterThiago Macieira2016-01-0810-55/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | All identifiers starting with an underscore and a capital letter are reserved to the compiler and must never be used by the user code. Try to find a better name or, in the worst case, move the underscore to the last position in these identifiers. See commit cf63c63d558227fdbef09699c261560e7474f5ea in qtbase for a case of such an identifier causing a build breakage when the compiler began treating it specially (it was _Nullable). Change-Id: I1d0f78915b5942aab07cffff140f9f39c29f0fdf Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
| * Check for python executable.Joerg Bornemann2016-01-071-0/+7
| | | | | | | | | | | | | | | | | | | | When building QtQml without having python in PATH the build system will generate an empty RegExpJitTables.h. The linking will then fail because of unresolved external symbols. Task-number: QTBUG-47193 Change-Id: I39abf44bf30abfb4a3209713a1fb07faff7ead63 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
| * Correct declaration in doc to match const in code.Edward Welbourne2016-01-061-2/+2
| | | | | | | | | | | | | | | | | | QSGTextureProvider::texture() was getting a warning from qdoc because it didn't find an exact match for its signature: the doc lacked const. Ditch some spurious semicolons while we're about it. Change-Id: I785ae8b8d46c839a1e29339284834a8b8e44bffe Reviewed-by: Topi Reiniö <topi.reinio@theqtcompany.com>
| * V4: Replace QVector with (Q)VarLengthArray in BasicBlock.Erik Verbruggen2016-01-062-7/+25
| | | | | | | | | | | | | | | | | | This prevents extra mallocs in nearly all cases, because the number of incoming edges is not that big. The outgoing edge count has a maximum of two. Change-Id: I89195809952ce6087c5af51d717a4c2d8ac6b853 Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
| * Fix a couple of container detachmentsSérgio Martins2016-01-052-2/+2
| | | | | | | | | | Change-Id: I0def20d858de7721771702907b7a431b5fb90a1f Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
| * Doc: Added brief statements for Qt examples overview pageNico Vertriest2016-01-055-0/+7
| | | | | | | | | | | | Task-number: QTBUG-50101 Change-Id: I0a7a8d7c3312923d956082fed7fcdf6567b44a7d Reviewed-by: Topi Reiniö <topi.reinio@theqtcompany.com>
| * don't rely on transitive dependenciesOswald Buddenhagen2016-01-052-0/+4
| | | | | | | | | | Change-Id: Ide872b452e02ebefb3eeb51464c8d59e8bf58bc4 Reviewed-by: Jake Petroules <jake.petroules@theqtcompany.com>
| * QQmlXmlHttpRequest: Fix a memory leak on use of XMLHttpRequest's responseXML.Robin Burchell2016-01-051-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | DocumentImpl (the root of all evil) inherits QQmlRefCount, thus, it has an initial refcount of 1. We correctly released the initial ref in the case of error, but if there is no error, we don't: we pass it over to v4 using class Node which (in Node::Node) increments the refcount again. When Node is later on collected by the GC, the document's refcount is never decreased past the initial ref, thus, not deleted. Task-number: QTBUG-50231 Change-Id: Icefe4391a785c95cb8900219be8ba71f9c53785f Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
| * QQuickRepeater: Use qmlobject_(dis)connect instead of regular (dis)connect.Robin Burchell2016-01-051-10/+12
| | | | | | | | | | | | | | A bit faster, not that this is the most important case for it. Change-Id: I3e50bd4a45d2b60c105a9315ccf0b2c34502cb8d Reviewed-by: Michael Brasser <michael.brasser@live.com>
| * Fix value changed logic for ValueTypeProvider typesFrank Meerkoetter2016-01-043-1/+109
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix broken value changed logic for types implemented through the ValueTypeProvider interface (QtQuick and Qt3d). It affects vector2d, vector3d, ... The signal was not emitted for the cases where the new value was equal to the default value of a given type. Also add a unit test to cover this area. Change-Id: I9491b0462c78fecc4c704ea36921611c1bd6b2ee Task-number: QTBUG-50204 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
| * Make QQuickPaintedItem support Item::layerGunnar Sletta2016-01-041-0/+7
| | | | | | | | | | Change-Id: I4baf8416704fdb65b96b7e0b8620c651f9199159 Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
| * Fix typos in ParticleSystem documentationMitch Curtis2016-01-041-2/+2
| | | | | | | | | | Change-Id: I417250992dbba3b67e891b0e929c09f2c95da299 Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
| * QQuickFlipable: Set enabled property on whichever side is considered active.Robin Burchell2015-12-311-4/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes a regression in behavior whereby input is not blocked when the side changes. In QtQuick1, input was tied to opacity: items with a 0 opacity would not receive input. In QtQuick2, this is not the case. [ChangeLog][QtQuick][Flipable] Flipable now toggles the 'enabled' property on whichever side is active. This restores broken behavior compatibility with QtQuick1, and blocks input to whichever side is not active. Change-Id: I36e29089cd7ffd05bf1f415490e0e0816a86bf30 Task-number: QTBUG-37072 Reviewed-by: Michael Brasser <michael.brasser@live.com>
| * Fix crash in a non-debug build with assertions enabledThiago Macieira2015-12-291-12/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QV4::Heap::Base::setVtable has a Q_ASSERT on the state of Base::mm_data, but that member is never initialized anywhere (that is, the Base class does not properly protect its invariant). There were workarounds in some places for initializing the member, but only in debug mode. That was wrong for a number of reasons: 1) Q_ASSERT is still enabled if QT_FORCE_ASSERTS is defined 2) in release mode, the compiler will remove the double initialization anyway Another solution would be to give QV4::Heap::Base a constructor that initializes the member, but I am not sure whether adding a constructor to this class is permitted. Task-number: QTBUG-49681 Change-Id: Ic90fe6b1cbe84978a02fffff141beacbe73c0b9c Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
| * QQuickDropArea include cleanupSamuel Gaist2015-12-242-5/+0
| | | | | | | | | | | | | | Remove unused includes Change-Id: I088b7efda4269faaceb39ea865eadc85fb2f9039 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
| * Fix ListView.OverlayHeaderJ-P Nurmi2015-12-233-2/+146
| | | | | | | | | | | | | | | | Infinite loop because of rounding in QQuickFlickablePrivate::fixup(). Change-Id: Icffe216587d90660ac3cb8090a676868416566c8 Task-number: QTBUG-50105 Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
| * Revert "Fix QtSharedPointer::ExternalRefCountData object leaks"J-P Nurmi2015-12-236-27/+2
| | | | | | | | | | | | | | | | | | | | This reverts commit 839d2d3e2368bc8e107d22203b0611c852f54319, which has been causing crashes in qtquickcontrols2 auto tests and making it nearly impossible to integrate anything over the past few days. Change-Id: I570b286a067aae5e3c2d8c56ad601e1a6cb58c20 Task-number: QTBUG-50134 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
| * V4: Shrink IR::Temp by removing unnecessary padding.Erik Verbruggen2015-12-231-5/+5
| | | | | | | | | | | | | | On 64bit systems, the size goes from 32 bytes to 24. Change-Id: Ic97f98b8f64fd5452f259e825a6bfd1656484fc5 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
| * Fix inconsistent use of 'override'.Erik Verbruggen2015-12-231-2/+2
| | | | | | | | | | Change-Id: Id3295937bdbd2372a77f273ce5c048807d43f51e Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
| * Improve Scene Graph and Rendering documentationMitch Curtis2015-12-211-2/+2
| | | | | | | | | | Change-Id: I4046e267d4c3a5eae9d3977b2d5f11987c4d1206 Reviewed-by: Topi Reiniö <topi.reinio@theqtcompany.com>
* | QtDeclarative: use prefix ++/-- for iterator typesAnton Kudryavtsev2016-01-092-3/+3
| | | | | | | | | | | | | | | | ... because it's useful for non-primitive types. These were the only two remaining instances in QtDeclarative. Change-Id: I52eba66313e953762d87313ccbd7ee0be9039be1 Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
* | V4 Debugger: If no context is given inject the QML contextUlf Hermann2016-01-073-9/+55
| | | | | | | | | | | | | | | | | | | | The user generally expects QML "root" objects to be in a "global" scope. Or at least that makes debugging a lot easier. By opening a WithContext with the relevant objects we can simulate that. Task-number: QTCREATORBUG-14931 Change-Id: I89af0560803b2c54a35f08e9fd659e65fb937cb9 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | V4 Debugger: Allow expression evaluation without pausingUlf Hermann2016-01-078-204/+276
| | | | | | | | | | | | | | | | | | | | | | | | | | | | We can schedule jobs into the GUI thread just fine, even if the debugger is running. They will run in global scope then. The only restriction is that we need exactly one engine to be running in order to do that, as otherwise we cannot decide which engine to use. To avoid interaction with the engine from the debugger thread we move the value lookup functionality into the data collector, and drop the RefHolder. Change-Id: Ifae124d70f42e488ed9a1b6794baef638992ddb1 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>