aboutsummaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Add missing signal handling for QJSValueMichal Klocek2016-06-211-1/+4
| | | | | | | | | | | Emitting signal with QJSValue argument ends in QVariant converstion in qml bound signal expression evaluation. Create missing handling for arguments of type QJSValue. Change-Id: I3d51a5455c09d0eef1123941066d20ad68f4074d Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Report changes correctly when inserting into a ListViewStephen Kelly2016-06-211-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit v5.6.0-beta1~7 (ListView: Sanitize visibleItems list after model insertions, 2015-12-07) introduced sanitizing of the container of visibleItems, but it did not affect the return value of the QQuickListViewPrivate::applyInsertionChange function. The return value is used in QQuickItemViewPrivate::layout() to determine whether the layouting should proceed, or an early return is possible instead. If the layouting does not proceed, then the newly inserted visible items do not get painted, resulting in the linked bug. The return value of the QQuickListViewPrivate::applyInsertionChange function was previously determined by whether the new count of visible items is greater than the previous count. After the sanitation in commit v5.6.0-beta1~7, this numeric comparison is no longer a good indicator of whether a repaint is needed. Change the return value to indicate whether new items were inserted which are visible in a more-direct way. Verify that visible items are initialized correctly in tests. They should not be 'culled'. It is necessary to invoke the layout method first to clear the forceLayout state. Two pre-existing tests fail before the fix in this patch. Change-Id: I625f1e02bf7001834adb147161a1e478a0ce2a0d Task-number: QTBUG-53263 Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
* QQuickWidget: Propagate screen changes.Morten Johan Sørvig2016-06-201-0/+11
| | | | | | | | | | | | | | | | This is required to make Qt Quick pick up changes to the devicePixelRatio. Failure to do so prevents a proper update of text nodes, as seen in the Qt Creator welcome screen. Propagate the new screen to the offscreenWindow, offscreenSurface and context. [ChangeLog][QtQuick] QQuickWidget now properly repaints text on high-DPI screen changes. Change-Id: I8f0b9f2f8768f99e293de018ae56d50ddf20b43a Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Doc: Refactor cpp integration Message sampleSamuel Gaist2016-06-191-5/+5
| | | | | | | | | | Since MyItem.qml is a GUI element, the example as is triggers a segfault when starting. This patch refactors the cpp code to make it a GUI application. Change-Id: I983c8c1945bd4be364c988ab9fdfa69e35e7b9de Reviewed-by: J-P Nurmi <jpnurmi@qt.io> Reviewed-by: Sze Howe Koh <szehowe.koh@gmail.com>
* Fix reference to Windows RT which actually meant Windows Runtime.Jake Petroules2016-06-161-1/+1
| | | | | Change-Id: I701b25bc73cf84b1daae481eebfd2dc19003ce78 Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
* Fix positioning of inline images in StyledText.Michael Brasser2016-06-163-7/+16
| | | | | | | | Fix horizontal positioning generally, and also address RTL specifically. Change-Id: I8b75c11bc38e39da5cda302ee9b475bf0dc464e8 Task-number: QTBUG-54075 Reviewed-by: Andrew den Exter <andrew.den.exter@qinetic.com.au>
* V4: Always set the tag when boxing a pointer in QV4::Value.Erik Verbruggen2016-06-166-73/+63
| | | | | | | | | All setters now store tags, so no-one can play loosy-goosy with the boxed values (and accidentally forget to "tag" a value, resulting in random garbage). Change-Id: Ia0b78aa038d3ff46d5292b14bd593de310da16a0 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* ItemViews: Make the wording of the warning on cache properties slightly sterner.Robin Burchell2016-06-163-12/+18
| | | | | | | | | I have seen far too many cases of someone simply setting cacheBuffer to a massive number in an attempt to workaround a slow delegate. It should be explicit that cacheBuffer is not a solution for these problems. Change-Id: I09416d06ff7faf51a104e09ca5f6b3593ddc53c7 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Remove erronous setTextureSize() as it is already set previouslyAndy Shaw2016-06-151-1/+0
| | | | | | | | | | This was causing problems with the FrameBuffer render target when displaying on a HiDpi display as it would end up with a size which was not accounting for the devicePixelRatio. Task-number: QTBUG-52901 Change-Id: I587e2578d670cfecb016aae92c4190a37e7412a1 Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
* Support glyphs outside em square in distance field cacheEskil Abrahamsen Blomfeldt2016-06-151-4/+8
| | | | | | | | | | | | | | | In the distance field cache, we would assume a max height of glyphs at 64 pixels when the pixel size was 54 (em square size is 54 and then some margin). This is an arbitrary assumption which does not necessarily hold true. Indeed, some fonts would be clipped at the bottom when assuming this. [ChangeLog][QtQuick][Text] Fixed clipping of glyphs that extend beyond font's em square. Task-number: QTBUG-52389 Change-Id: I5f6c9be235d38841e40d1bd60fb380e4712dd41a Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
* Add QNX to an x86-64 gcc/g++ listJames McDonnell2016-06-141-1/+1
| | | | | | | QNX 7.0 will support x86-64. Change-Id: I91d79f41161324fb992e17c2067e0648b476c773 Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
* Make some QNX only code Dinkum specificJames McDonnell2016-06-142-2/+2
| | | | | | | The undefines won't be needed for QNX 7.0 with GNU libc++. Change-Id: Ibcea09aad54a956fc056ceaac5db6a0d53cd176c Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* QAccessibleQuickItem: Add Q_DECL_OVERRIDERobert Loehning2016-06-111-34/+34
| | | | | | | | Fixes compilation with clang 3.8 Task-number: QTBUG-54009 Change-Id: Ib777bd56d187e3c94de0cda643dac47eb30d8215 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
* QML: Only release types if they aren't referenced anymoreUlf Hermann2016-06-101-1/+2
| | | | | | | | | | | Just checking for references on m_compiledData is not enough. The actual component can also be referenced. Thus it won't be deleted on release(), but cannot be found in the type cache anymore. Task-number: QTBUG-53761 Change-Id: I8567af8e75a078598e4fed31e4717134e1332278 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* QmlIncubator: correct documentation snippet about waiting for ReadyShawn Rutledge2016-06-101-1/+1
| | | | | | | | | It makes more sense to process events until the incubator is Ready rather than while it's already Ready. Change-Id: If8b0c5057dd88ffdbb2dd39f53b5b9676d0b9d19 Reviewed-by: Paolo Angelelli <paolo.angelelli@theqtcompany.com> Reviewed-by: Matthew Vogt <matthew.vogt@qinetic.com.au>
* Fix spelling error in QSGNode docsMitch Curtis2016-06-081-3/+3
| | | | | Change-Id: I9ece132b87a8de06924e71b6f5fc552a14dea336 Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
* Fix 'Threaded Render Loop' docsMitch Curtis2016-06-081-1/+1
| | | | | Change-Id: I682a4765d1e0173664460fe4e163949d968d97d7 Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
* KeyNavigation: fix the documentation for its propertiesGiuseppe D'Angelo2016-06-071-5/+28
| | | | | | | | | | | | It does not make any sense to document these properties with the same text, as qdoc will duplicate the text under the documentation of each and every property in the same documentation comment, resulting in weird documentation (such as the element you assign to "left" is the one you move to when you press the *right* key). Change-Id: Ic27502a5965cc2b8c61cfdaf887434d3c79256af Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Fix crash when using with statement with an expression that throwsSimon Hausmann2016-06-071-2/+3
| | | | | | | | | | | | | | We need to evaluate the expression for the "with" statement that is supposed to define the new scope _before_ opening up the scope, otherwise - when the evaluation of the expression throws an exception - we'll try to pop the "with" scope we couldn't open in the first place. [ChangeLog][QtQml] Fix crash when using the "with" statement with an expression that throws an exception. Task-number: QTBUG-53794 Change-Id: I7733f5a4c5d844916302b9a91c789a0f6b421e8a Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Fix bug in SQL database integration with null valuesSimon Hausmann2016-06-031-4/+14
| | | | | | | | | | | | | | Since commit 91d6a63ab317817990c3b2306860adbd8916cca4 a null JS value is mapped to a QVariant(VoidStar) to properly create null JS values when converting back again. However that broke the binding of values in the SQL database, where it ended up mapping null to an empty string. [ChangeLog][QtQml] Fix mapping of null JS values to null SQL values instead of empty strings. Task-number: QTBUG-53412 Change-Id: Icf1fea4674e9dd8bb5313e3770ed2d3f99849987 Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
* Item: mention the actual type of the grab resultMitch Curtis2016-06-031-1/+2
| | | | | Change-Id: I2c73a4bdfa43200c52df33cec573a8799e4fe5e0 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Revert removal of "Fixed MouseArea threshold with preventStealing"Filippo Cucchetto2016-06-032-8/+14
| | | | | | | | | | | | | | | This reverts commit 9c8dab537819f0d999e680490c2d125b8836cbbb where commit e1400b5b4d8311769ad3b9f631479ee2b0271197 was removed due to the breakage of QtLocation tests. After some hours of debugging it seems that the problem in QtLocation was due to filtering of mouse move events in QDeclarativeGeoMapItemBase. See QTBUG-52075 Task-number: QTBUG-52534 Change-Id: I00f002c1d6f60f74a148b5a6ac2b9f63e93718a9 Reviewed-by: Paolo Angelelli <paolo.angelelli@theqtcompany.com> Reviewed-by: Michal Klocek <michal.klocek@theqtcompany.com>
* Compile Fix for OpenBSD in C++11 modeRalf Nolden2016-06-021-1/+1
| | | | | | | | Add a __cplusplus condition to an already existing OpenBSD defined part to activate the code only on older gcc compilers. Change-Id: Ied8719dc35bf203ecbadd1099d711c027722121c Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* QQuickTextNodeEngine: early out if no document layout.Edward Welbourne2016-06-011-1/+4
| | | | | | | | | As Coverity (CID 22302) points out, qobject_cast<> can return NULL; if we don't get a document layout, then we have no frame decorations to add to it. Change-Id: I2cd428456b3a3b24a28a5dd18ce948a8e95d21cb Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Merge remote-tracking branch 'origin/5.6.1' into 5.6Liang Qi2016-05-311-0/+5
|\ | | | | | | Change-Id: I7d9e0c90645d856e501ff70d97d55ffd615a2e31
| * Workaround for crashes in QtQml code relating to null this pointersv5.6.1Thiago Macieira2016-05-201-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | When compiled in release mode with GCC 6, QtQml crashes. This option gets works around the issue by instructing the compiler not to delete null pointer checks for pointers that the standard says cannot be null, yet apparently are. This is a temporary workaround until a proper solution is found. Change-Id: Id3aab65533904562a6cbfffd14501a185fc91179 Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* | RegAllocInfo: Initialize member _currentStmt.Edward Welbourne2016-05-301-0/+1
| | | | | | | | | | | | | | As pointed out by Coverity (CID 22368). Change-Id: I67bdda3f747b68a0197a4cb2e2aa750aa322b6ba Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | V4: Mirror jsAlloc behavior at stack allocation.Erik Verbruggen2016-05-272-5/+5
| | | | | | | | | | | | | | | | | | | | | | Allocating from the JS stack will zero out the memory, and thus indicate to valgrind that memory is not uninitialized. By first marking the whole stack as uninitialized and only then allocating 2 entries, the behavior for those two entries will now match the allocation behavior. This fixes a false positive when using valgrind. Change-Id: Icdb5279e1cfbfe6b5c385cc42c556edf721fa74b Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Fix grammar in PathView docsMitch Curtis2016-05-271-1/+1
| | | | | | | | | | | | | | | | Change-Id: Ibce14fddcbb608ffddb69f01e168d10c924c2957 Reviewed-by: Frank Meerkoetter <frank.meerkoetter@basyskom.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* | scene graph: document the qt.scenegraph.info category not env QSG_INFOShawn Rutledge2016-05-261-2/+2
| | | | | | | | | | | | | | | | | | The use of the env var has been obsolete for some time, since change 7a8cc93a0546bc38c54343d640e63062c3b398b2, although it's still supported for backwards compatibility. Change-Id: Ibe57de2298c33bfa7df5a95c714d69403a0e9166 Reviewed-by: Topi Reiniö <topi.reinio@theqtcompany.com>
* | Fix crash with SignalTransitionSimon Hausmann2016-05-252-8/+20
| | | | | | | | | | | | | | | | | | Don't crash when using SignalTransition with a signal object instead of the slot used to emit the signal. A signal object is just as good. Task-number: QTBUG-53596 Change-Id: I8a419d16ec0c257c9a798a83ee5bad338794cdd2 Reviewed-by: Michael Brasser <michael.brasser@live.com>
* | QmlProfiler: When flushing data, send it in the right orderUlf Hermann2016-05-251-2/+6
| | | | | | | | | | | | | | | | | | | | | | Some of the adapters immediately return dataReady() when reportData() is invoked. This means that there is only one adapter in the start times list then, which in turn causes all the data from that adapter to be sent at once, without caring for the other adapters' timestamps. Change-Id: Ic1e12fdcefb0a691067518fba100368f13c927f7 Task-number: QTBUG-53590 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Flickable: MovementEndingTimerInterval is used only on OS XShawn Rutledge2016-05-251-0/+2
| | | | | | | | | | | | | | After 9b8d0bff, some compilers complain that it's an unused variable. Change-Id: I4a89ce7a7d73cfc039a2e2d1ad48ec7d073cf7cc Reviewed-by: Jan Arve Sæther <jan-arve.saether@theqtcompany.com>
* | Avoid Canvas crashes with qtquickcompilerLaszlo Agocs2016-05-241-3/+7
| | | | | | | | | | | | Change-Id: Ic87052308706b8ef71e2f27837abfbaea57c43cc Task-number: QTBUG-49692 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Fix crash for unknown QQmlListModel roles in debug buildsFilipe Azevedo2016-05-231-0/+2
| | | | | | | | | | | | | | | | | | If a role is unknown, trying to access it will crash in getExistingRole. Fixed that and now return QVariant() for unknown roles. Change-Id: Iad5c1292a4faee893fbc5a69984cf776aca85d70 Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com> Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
* | QQuickWindow: Only send focus events to items that actually gain focusRobin Burchell2016-05-231-6/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | Sending focus events may result in further changes to which item actually has focus, so we cannot blindly send the focus events without first checking that it hasn't subsequently changed. To accomplish this, we delay sending events as long as possible, ensuring that all necessary bookkeeping is done first to ensure internal consistency. Task-number: QTBUG-40145 Change-Id: I7d93b3f8e3fea2ecce2151c88c29601deda12453 Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
* | Merge remote-tracking branch 'origin/5.6.1' into 5.6Liang Qi2016-05-1916-62/+48
|\| | | | | | | Change-Id: Ib7f8c60143c1efab279476dba390a3d9837ccc37
| * Fix crashes when incubating objects asynchronously with initial propertiesSimon Hausmann2016-05-186-10/+24
| | | | | | | | | | | | | | | | | | | | | | | | This is a regression from commit 94e337fa95425d259e81b4d21f4d0853108553bd where we accidentally ended up not having a calling QML context set anymore when initializing the properties on newly incubated objects as provided by the caller. The QML context is necessary as for example when we set a URL property, the URL can be relative and it will be resolved to the base url of the context when written, such as in in QQmlPropertyPrivate::write. Change-Id: I1d896381fc92f653a7d76f4d82174bca48828f5e Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
| * QML: Fix asynchronous cached loading.Erik Verbruggen2016-05-131-1/+1
| | | | | | | | | | | | | | | | | | | | When calling CachedLoader::loadAsync, queue the load on the QML thread instead of asking the thread to load it synchronously. The problem showed when a QML file triggered a plugin load, that would ask the engine to create a component while initializing that plugin. Change-Id: I3714ef285e432eb1aa294c4fd0208ba188d97ee9 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
| * Doc: Remove repository name from examplesinstallpathTopi Reinio2016-05-132-2/+2
| | | | | | | | | | | | | | | | Examples in binary packages now directly match the install path. Change-Id: I8cbef85c8bef840d6ff87ac308e2e82a835adcc7 Task-number: QTBUG-52953 Reviewed-by: Antti Kokko <antti.kokko@qt.io>
| * make use of COPIESOswald Buddenhagen2016-05-131-14/+1
| | | | | | | | | | Change-Id: I479c9523a89be1d64364e8205daa5860e16882cc Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
| * move builtins.qmltypes to an own subdirOswald Buddenhagen2016-05-133-32/+33
| | | | | | | | | | | | | | | | | | | | | | | | shadowing doesn't actually work from within a subdirs project, so we need to put it into a separate aux project. it would be possible to put the project file in the same directory, but then a simple "make qmltypes" wouldn't work due to the different Makefile name. Change-Id: Ib90914e4ea5d75f7199399c7e2825690774081c5 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
| * Merge 5.6 into 5.6.1Oswald Buddenhagen2016-05-127-118/+52
| |\ | | | | | | | | | Change-Id: If83c0d59fccf0620446a5da8d271a5037c9be106
| * | QmlDebug: Drop explicit Q_IMPORT_PLUGIN statementsUlf Hermann2016-05-093-16/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | qmake is clever enough to include the plugins without this. Furthermore, the explicit imports duplicate the plugins in static builds and they lead to cross linking from QtQml to QtQuick. Task-number: QTBUG-50306 Change-Id: I822e000481f583f513b863f54f65eb8ff772c0c3 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
| * | Revert parts of 392c7b99348e2a96ef11adb5712095fbd13fb780Simon Hausmann2016-05-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Revert the plugin loading check for Qt 5.6.x. It turns out that making this check strict broke multiple static plugin builds beyond the qtdeclarative repository. Let's not cause unnecessary breakage in a patch release of Qt to fix a bug that has existed for much longer. I'll revert this change in the dev branch for Qt 5.8, together with an entry in the change log to inform the developers that a behavioral change in their code is necessary (the use of the interface id variable). Change-Id: I3c658433eaa125ac0d272806e3bbbf016cf6d3cb Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
* | | Revert "Remove this piece of code"Simon Hausmann2016-05-181-2/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit bad007360a0f6fba304d8f4c99826a1250fd886c. The lookup in the global object is necessary to detect whether we've seen any unresolved properties. This is used for the optimization of skipping binding refresh updates when a context property changes. Task-number: QTBUG-53431 Change-Id: Idb39a32e4b58b915496bbb9d8a098dc17a6f688a Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* | | QQuickWidget: update() when resetting updatePending in showEvent()Ulf Hermann2016-05-171-3/+7
| |/ |/| | | | | | | | | | | | | | | | | | | If updatePending is set, that means we want to call update() eventually. If we just reset updatePending without calling update(), we produce UI glitches. Change-Id: Ie7353b2f5da567e196dbee8c113920e0e4702304 Task-number: QTCREATORBUG-16022 Reviewed-by: Robert Loehning <robert.loehning@qt.io> Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* | Remove workaround for the pointer size in bootstrapped tool buildsThiago Macieira2016-05-111-5/+1
| | | | | | | | | | | | | | | | | | The pointer size is now correctly set in qprocessordetection.h even for bootstrapped builds. Change-Id: I7e6338336dd6468ead24ffff1410d4ba8b1cbdad Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com> Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
* | V4: Limit call depth by count, not by checking the native stack.Erik Verbruggen2016-05-112-106/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Getting the native stack size can be really expensive. For example, on Linux/x86_64 (Ubuntu 15.04), it is at least 200,000 instructions for a single-threaded application. With more threads (like qmlscene) it typically ends up around 1M(!) instructions. Worse, it is called twice in the ExecutionEngine constructor. So, now we limit the depth of JavaScript calls to a fixed number, 1234 by default. This can be changed by setting the environment variable QV4_MAX_CALL_DEPTH to the desired depth. Change-Id: Ic13c8efb2769e64fbc73deee6f6fa39d7c0b7af5 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | Fix warning about mixing basic font type's pointSize and pixelSizeMitch Curtis2016-05-111-3/+4
| | | | | | | | | | | | | | | | | | | | We didn't properly read the font property of TextFieldStyle (which is declared in QML) before writing the pointSize property (see bug report), so it was using the value of a previous assignment. Change-Id: I7746c258d1f3a6e031583da7f007bd0dc4087082 Task-number: QTBUG-52920 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>