aboutsummaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
...
| * QtQuick.Dialogs FileDialog: default mode is ExistingFileShawn Rutledge2014-01-031-0/+1
| | | | | | | | | | | | | | | | | | Previously did not sync the mode with the state of the selectExisting property on construction. Task-number: QTBUG-35877 Change-Id: Ifb630fb51c463025ec2f6a1932714f354552c234 Reviewed-by: Liang Qi <liang.qi@digia.com>
| * Fix property access to QQmlPropertyMap objects when addressed via idSimon Hausmann2014-01-022-3/+8
| | | | | | | | | | | | | | | | | | | | | | | | Property access to id objects is optimized at compile time, but we cannot do that for QQmlPropertyMap instances (or generally fully dynamic types). This issue was a regression against Qt 5.1 Task-number: QTBUG-35906 Change-Id: I759a1a899f6a3a1f6466282f455b289ad7451086 Reviewed-by: Albert Astals Cid <albert.astals@canonical.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
| * Fix lookups of enums in singletonsSimon Hausmann2014-01-021-35/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a regression against 5.2.0 (which didn't have this bug), due to optimizations introduced in the stable branch after the release. The code path for optimizing access to the members of C++ based singletons through the regular meta-object properties would end up excluding access to enums when the lookup happens at run-time. The run-time getter for the singleton itself would return a wrapped QObject instead of a QQmlTypeWrapper, and only the latter includes enums. As QML based singletons (composite singletons) cannot declare enums, we can continue to do fast lookups on these, but otherwise have to fall back to the slower code path. Task-number: QTBUG-35721 Change-Id: Icc66bdaf3572622cdb718f82b706e3204afa0167 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
| * V4: remove class field in DominatorTree that was used only once.Erik Verbruggen2014-01-021-21/+18
| | | | | | | | | | | | | | | | | | Calculation of all the children of nodes in the dominator tree is now calculated as a local variable right before computing the dominator frontier. The effect is that they are not retained after their only use. Change-Id: I83c962c691b78cb767708eb04cf30d3b7a760deb Reviewed-by: Lars Knoll <lars.knoll@digia.com>
| * V4 IR: do not add unconditional jumps to work listsErik Verbruggen2014-01-021-1/+4
| | | | | | | | | | | | | | | | | | | | Both type inference and the optimization pass do not do anything with unconditional jumps. So, instead of adding them to the worklist and later on removing them again, it’s faster to never add them in the first place. Change-Id: Ib81d43e9ea6df2b1a70e9dd1e9b9c29cb6d345d2 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
| * V4 IR: change datastructures for dominator calculations.Erik Verbruggen2014-01-021-112/+172
| | | | | | | | | | | | | | | | Replace hashes from basic-block to basic-block with vectors that associate basic-block index to basic-block index. Change-Id: I834ea3d825e4d2b02c075b1b0f080f5a65f41317 Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com>
| * Doc: Fix broken linksSze Howe Koh2013-12-3043-75/+74
| | | | | | | | | | Change-Id: I4c4577edde96978a986606bf30fbb925f871bd42 Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
| * QtQuick ColorDialog: ensure slider rotation takes effectShawn Rutledge2013-12-301-0/+5
| | | | | | | | | | | | Task-number: QTBUG-35206 Change-Id: Ia6b4f743cd9bea937eb891ddd16776f975d42bcd Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
| * QtQuick.Dialogs: check for inheriting from QApplicationShawn Rutledge2013-12-291-1/+1
| | | | | | | | | | | | | | | | | | Widget-based dialogs are allowed if the application is a QApplication, but subclassing is OK too. Task-number: QTBUG-35769 Change-Id: Iec329792d7c1d85adcb1c3542444f0e92792b20b Reviewed-by: Liang Qi <liang.qi@digia.com>
| * Context2D: don't use an arrow to illustrate scaling in the docs.Mitch Curtis2013-12-261-0/+0
| | | | | | | | | | | | | | | | | | | | The example image scales an arrow, but uses an arrow to indicate that the next image (an arrow) is a result of the first arrow being scaled. Instead, use a circle. Change-Id: I8de18d4c2f3cb309681f63c31b0c9f7255d1868c Reviewed-by: Topi Reiniö <topi.reinio@digia.com> Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com>
* | Fix interaction of QQuickItems with the garbage collectorSimon Hausmann2014-01-064-0/+63
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The QObject ownership of QQuickItem objects is not accessible / mutable in QML, because the parent property maps to the (dynamic) visual parent. There are use-cases of creating QQuickItem objects without a QObject parent and to support this, the visual parent needs to mark its visual children in order to provide intuitive semantics. [ChangeLog][QtQuick][Import Behavior Changes] A QQuick Item is now strongly referenced by its visual parent item, so it doesn't require a QObject parent to stay alive. Task-number: QTBUG-35913 Change-Id: Ief2d40ac76298a0cf241ca73ff654c4ecfa12748 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | Fix a warning about casting from asciiLars Knoll2014-01-031-2/+2
| | | | | | | | | | Change-Id: I4e1b7151742dcb6296e59dd59146c908cd5587ba Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | Move array data into it's own structLars Knoll2014-01-0316-335/+338
| | | | | | | | | | | | | | First step of separating the array data from Object. Change-Id: I5c857397f0ef53cff0807debdb1e405424e1046a Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | Get rid of the nonStrictArgumentsObject flag in ManagedLars Knoll2014-01-036-9/+10
| | | | | | | | | | Change-Id: I4ac58e9d87506ae930c2e44e6089f4af3cd9ccb2 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | Use the flags to check whether a Managed is of a certain typeLars Knoll2014-01-032-6/+5
| | | | | | | | | | Change-Id: I740c4b7e26bdb9d9f40c1c46615cc68f679e036f Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | Fix compiler warning about wrong reinterpret_castLars Knoll2014-01-031-4/+4
| | | | | | | | | | | | | | | | | | No need to use reinterpret_cast's in the type checking for the Managed casting. A static cast works just as well (as it's actually used two lines further down). Change-Id: Ie531098eddddda7e9f151eaedc136cbeab14f473 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | Move Managed::type and some flags into the vtableLars Knoll2014-01-0332-82/+175
| | | | | | | | | | | | | | | | | | | | | | | | | | Move the type flag into the vtable to free up these bits in the Managed class, and not have to set them at object construction time. As we often need to know whether a Managed object is a Object, FunctionObject or String, add some bitflags to test for these to the vtable. Change-Id: I7d08ca044544debb307b55f124f34cb086ad9e84 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | Clear out memory in the GC, not when constructing objectsLars Knoll2014-01-032-4/+2
| | | | | | | | | | | | | | | | Object construction shouldn't need to zero initialize itself, let's rather do this in the GC, where we can use fast memset's. Change-Id: I2f9efa1729183b0d737de5a84f92af319b2c5631 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | Do not call InternalClass::changeVTable directlyLars Knoll2014-01-032-4/+6
| | | | | | | | | | | | | | | | vtable changes need to happen when the internal class is being constructed, not later on. Change-Id: Ibb9515745c9fc3507a5a90b4cc50a33e2e0d3f99 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | Merge "Merge remote-tracking branch 'origin/stable' into dev" into ↵Simon Hausmann2013-12-2426-81/+114
|\ \ | | | | | | | | | refs/staging/dev
| * | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-12-2426-81/+114
| |\| | | | | | | | | | | | | | | | | | | Conflicts: src/quick/items/qquickrectangle.cpp Change-Id: Ia40bc0f2f08b5be68e32eb1e1f118445d20e44fc
| | * Doc: Fixed a few broken links and snippetsVenu2013-12-232-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Couple of \snippet references in the ListModel docs were pointing to files outside the exampledirs boundary. Update those references to use the relative path. Change-Id: Ibf9d0fda9e5280345b08cb66a4fe0db9142a42a6 Reviewed-by: Nico Vertriest <nico.vertriest@digia.com> Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
| | * QtQuick docs: add missing \qmlpropertygroup commandsJ-P Nurmi2013-12-2012-0/+16
| | | | | | | | | | | | | | | | | | | | | "warning: No QML property group command found; using..." Change-Id: Iafbdbc09cbd76bf81a5baf3a5a4fab843778b5cb Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
| | * use private linkage where possibleOswald Buddenhagen2013-12-193-3/+3
| | | | | | | | | | | | | | | Change-Id: I1f51b7d043f49f2f2849eb370ac71366cbaa6da5 Reviewed-by: Alan Alpert <aalpert@blackberry.com>
| | * remove obsolete workarounds for qmake processing order problemsOswald Buddenhagen2013-12-192-31/+0
| | | | | | | | | | | | | | | Change-Id: I4b58eee6243c92f67bdd9c8f9da36ef82a489c12 Reviewed-by: Alan Alpert <aalpert@blackberry.com>
| | * V4 SSA: add some more literature references.Erik Verbruggen2013-12-191-5/+13
| | | | | | | | | | | | | | | | | | | | | Also fixed some comments. Change-Id: I4aedff84bdbf8de248025bc48805a859704bdd8a Reviewed-by: Lars Knoll <lars.knoll@digia.com>
| | * Fix deadlock when QQmlEngine is destroyed during compilation.Andrew den Exter2013-12-191-14/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before blocking to wait for the thread to finish ensure the thread itself is not waiting for the main thread to complete some action otherwise both threads will be waiting on the same wait condition that neither is able to wake. Likewise ensure the shutdown action is processed if the last scheduled event is currently being processed. Task-number: QTBUG-35581 Change-Id: I483fc56d0d398493f9fa907f3ab203439bfb9221 Reviewed-by: Robin Burchell <robin+qt@viroteck.net> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
| | * Fix positioning of item when first cacheBuffer item is removed.Andrew den Exter2013-12-193-1/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When items prior to the first visible item are removed from the instantiated items list the first item is moved forward by the size of the item removed so it position remains correct relative to the visible items. But if the removed item is the first instanitated item then it's size shouldn't contribute to the offset as the next instatiated item is already offset by its size. Task-number: QTBUG-33619 Change-Id: I05c33f505e2856afa08cd9cd89d8eae97c20679d Reviewed-by: Alan Alpert <aalpert@blackberry.com>
| | * Docs: fix Drag::onDragStarted() and onDragFinished() signalsJ-P Nurmi2013-12-181-2/+2
| | | | | | | | | | | | | | | Change-Id: Iefda2d3611ed0f940255f1375ca4c356827fbc70 Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
| | * Fix & cleanup whitespace in qquickdrag.cpp docsJ-P Nurmi2013-12-181-21/+19
| | | | | | | | | | | | | | | Change-Id: I85b986c8b3dca6ccc872807a1d2e8b7b71688c0e Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
| | * Fixes: qml memory corruption on Androidaavit2013-12-171-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | Bionic pthreads reports too small stack size for main thread. Change-Id: I3d33229e76101a847309c723d534844ffb2d2042 Reviewed-by: Andy Nichols <andy.nichols@digia.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
| | * ensure that qmltest users have CONFIG+=consoleOswald Buddenhagen2013-12-171-0/+4
| | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-35603 Change-Id: Ia337845004290d0e01c391130bbf55ec31e52c9e Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Alan Alpert <aalpert@blackberry.com>
| | * Delete a disallowed template instantiation the proper wayThiago Macieira2013-12-171-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | C++11 allows you to do = delete to the declaration. But some version of Clang on Mac doesn't like it. I'm guessing it's a compiler bug in an older version of Clang used in the Qt CI system. I can't reproduce the issue, so no further investigation was done. So just remove the "inline" keyword, which is what ICC 14.0 complains about: MathExtras.h(270): error #864: extern inline function "clampTo(double, T, T) [with T=long long]" was referenced but not defined Change-Id: I3887ccb527b5995ffa7ece612f9c7d5a80e71079 Reviewed-by: Alan Alpert <aalpert@blackberry.com>
| | * QtQuick Dialogs: don't use native windows on iOSShawn Rutledge2013-12-161-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | It makes more sense to show the dialogs as items in the scene rather than as undecorated windows. Task-number: QTBUG-35561 Change-Id: I2fb29ed8eeb999b99829a9d5ffc088f401d5d602 Reviewed-by: Liang Qi <liang.qi@digia.com>
* | | Change C++ parameter type used for var parameters in QML declared signalsSimon Hausmann2013-12-242-2/+2
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | "signal someSignal(var foo)" mapped to foo being of type QVariant. Unfortunately that is a "lossy" type and it cannot represent all JavaScript values, including for example function closures (as reported in the JIRA bug). Instead we should use QJSValue. It is an important behavioural change because it affects the presumably rare case of somebody declaring a signal in QML with such a parameter and connect to it from C++ (or trying to emit it) - in that situation the code needs to be changed. Task-number: QTBUG-35171 Change-Id: I4fb4a18b407e4ea6c28a3a297fc6f76edb76d734 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-12-16149-1633/+2901
|\| | | | | | | | | | | | | | | | | Conflicts: src/quick/items/qquickitem.cpp src/quick/items/qquicktext.cpp tests/auto/quick/qquicklistview/tst_qquicklistview.cpp Change-Id: I0bc5786098193c2c40b6fd8905de75d90f6ed0cf
| * Doc: Made copy of the QML files in the snippets directoryVenu2013-12-133-3/+174
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The Delegate.qml and view.qml files were not in the scope of Qt QML exampledirs. These files were in the example directory under quick, so had to make of copy of them in the snippets directory and update the snippet path to get the snippets in the html output. Task-number: QTBUG-35445 Change-Id: Ic3fa19dbd36b91d76fbc497ab524f5c0ff91325f Reviewed-by: J-P Nurmi <jpnurmi@digia.com> Reviewed-by: Nico Vertriest <nico.vertriest@digia.com> Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
| * Fix touch to mouse synthesis/propagation.Robin Burchell2013-12-134-14/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | Having mouse events synthesised from both QtGui and internally in QtQuick is not a great way togo about things, especially when QtGui doesn't have the same degree of knowledge as QtQuick about the items in the scene. Thus, we now accept all events inside QtQuick to block QtGui synthesis, which should fix a significant amount of edge-case touch breakage/bad behavior. Change-Id: I14e1c87761c8f43160049b5e6f9da15b4e5edbb7 Done-with: Martin Jones <martin.jones@jollamobile.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
| * V4 IR: change block scheduling algorithm from recursive to iterative.Erik Verbruggen2013-12-121-102/+189
| | | | | | | | | | | | | | | | This makes time- and memory-complexity a lot better when compiling big JavaScript functions. Change-Id: I2a7cb9b5979844254747fa5cf7355cca0b113904 Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com>
| * Merge remote-tracking branch 'origin/release' into stableFrederik Gladhorn2013-12-1217-48/+67
| |\ | | | | | | | | | | | | | | | | | | Conflicts: src/qml/qml/qqmlcompiler.cpp Change-Id: I802731139d47c5b733dd805f7bf432d67d7331e1
| | * Set the format for the fallback offscreen surfacev5.2.0Laszlo Agocs2013-12-051-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Ie76dbe5fd4ab935db3da34f3ff63d217a3ba5013 fails to set the format for the QOffscreenSurface, resulting in BAD_MATCH failures when trying to make it current. Task-number: QTBUG-35410 Change-Id: I1d420556fad4df96a1893cb3513e398eeb6e71aa Reviewed-by: Lars Knoll <lars.knoll@digia.com>
| | * Fix broken visibility property assignment after d0644b040eTor Arne Vestbø2013-12-051-1/+1
| | | | | | | | | | | | | | | | | | Task-number: QTBUG-35412 Change-Id: I09feca09030a2eb07aa1abebf65481d68b880c79 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
| | * Fix a crash in JSON.parseLars Knoll2013-12-041-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Properly set members that are actually array indices and don't crash when trying to set those. Task-number: QTBUG-35383 Change-Id: I04d4b65c27e97a2e9db19541ed46ee1bb202f780 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com> Reviewed-by: Milian Wolff <milian.wolff@kdab.com>
| | * QQmlImport: Don't try use a dangling pointer.Robin Burchell2013-12-041-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | toUtf8 would return a temporary, and constData would hold a pointer inside that temporary. This isn't even remotely safe. Move the pointer use down to the initializeEngine call so it is kept around long enough for us to do our stuff. This is a backport of cf51cdb8fb002ae3602a4c886e7c67913d77373a. Task-number: QTBUG-35355 Task-number: QTBUG-35343 Change-Id: I338ad7f4d4137445ed9a311a293ea82bf023aafd Reviewed-by: Robin Burchell <robin+qt@viroteck.net> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
| | * static builds: add classname entry to qmldir for QtQuick.Dialogs.PrivateRichard Moe Gustavsen2013-12-041-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add classname entry to qmldir, otherwise qmlimportscanner cannot utilize it when doing static builds (on iOS). Task-number: QTBUG-35369 Change-Id: If5440ffcdd805a832d4ff1d129e9f24d222b45d5 Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
| | * Revert "Revert ffaf39e9a7f11d4e2800b3b37160a2a952795614"Alan Alpert2013-12-0410-13/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 27052dcad9810869a9065da4c06e9f14379411d7. While the additional flexibility would be nice, I've been reminded that we already did commit to it back in July. Change-Id: Iaf990dda98ee46eb028b4737bdeeafd050d9513f Reviewed-by: Alan Alpert (Personal) <416365416c@gmail.com>
| | * Don't leave the GL context current after cleanup.Gunnar Sletta2013-12-041-18/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When shutting down, we left the gl context current on the window even when it was hidden. On mac this was a problem as it would optimize away our makeCurrent when the surface was made visible again, leading to nothing being rendered. So we call doneCurrent regardless during invalidateGL(). We also check and verify that makeCurrent in invalidateGL() actually succeeds. This lead to another problem which is that closing the app using [x] will call QWindow::destroy() on all windows, removing their platform windows and causing makeCurrent to fail. To still gracefully clean up resources, we introduced the concept of an offscreen fallback surface which is temporarirly used during the cleanup when needed. The problem is still present on QWindow+QOpenGLContext level, and I've opened QTBUG-35363 to fix this. Task-number: QTBUG-35234 Change-Id: Ie76dbe5fd4ab935db3da34f3ff63d217a3ba5013 Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
| | * Revert "Load "@2x" images on high-dpi "retina" systems."Morten Johan Sørvig2013-12-031-11/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 707bbe5dea9d7398b205124a54422f2fafb6f151. By itself this is completely broken and the image will display at twice the size. We need to add code to handle the @2x image but revert for now to get sane behavior. Change-Id: Iccdb26e9d19930b5d0ef4b6c7f596c5766f77a8a Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
| | * Release GL resources of ShaderEffectSource while we still have GL.Gunnar Sletta2013-12-032-3/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a Window element is used, the QML window item is deleted before the ShaderEffectSource component and the deleteLater to delete the texture gets handled too late. We now register for the sceneGraphInvalidated signal and release resources synchronously while shutting down. Task-number: QTBUG-35294 Change-Id: Id83b669ddc16723551e5612264ccbad6d3a9bbcb Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com> Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
| * | Don't crash when QCoreApplication is currently being deleted.Sérgio Martins2013-12-121-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In debug mode fixes a crash. The next Q_ASSERT dereferrenced QCoreApplication::instance(). In release mode fixes hundreds of messages about timers: "QObject::startTimer: Timers can only be used with threads started with QThread" A case where this is reproducible is having a QQuickItem that's child of qApp, or in some child hierarchy of qApp. Change-Id: I3b506aefdb537b74dc0d6c755b6874d31be159a1 Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>