aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick
Commit message (Collapse)AuthorAgeFilesLines
* Software Adaptation: Fix nested clipping logicAndy Nichols2017-07-171-2/+2
| | | | | | Task-number: QTBUG-61939 Change-Id: Ibb7f242241df0a7a418ab4f268487e72d5595622 Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* Doc: link to Qt::WindowFlags in Window's flag docMitch Curtis2017-07-131-0/+2
| | | | | Change-Id: I0d5f03bcdcf9154431ed38eac2b41b622ad0c3d6 Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* Doc: finish incomplete sentence in Loader’s detailed descriptionMitch Curtis2017-07-111-0/+1
| | | | | | Task-number: QTBUG-61889 Change-Id: Ib6adcabc79b75fe2ee9a31fc4808a2a5f303df74 Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* Doc: explain ListView default Z values in detailMitch Curtis2017-07-061-7/+55
| | | | | | | | | | | This should save users some time when they are trying to figure out why the delegate items are rendered underneath the header when headerPositioning is set to ListView.OverlayHeader, for example. Task-number: QTBUG-61346 Change-Id: I490250f2a64a8bbda463b3a31be6f820d0cfe881 Reviewed-by: J-P Nurmi <jpnurmi@qt.io> Reviewed-by: Robin Burchell <robin.burchell@crimson.no>
* QQuickFBO: Keep devicePixelRatio qreal as long as possibleLaszlo Agocs2017-07-061-1/+1
| | | | | | | Task-number: QTBUG-61686 Change-Id: I9637be13f701d32d87a42fc4ae0f013b8843503e Reviewed-by: Andy Shaw <andy.shaw@qt.io> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* doc: Add font.hintingPreference to font type documentationEskil Abrahamsen Blomfeldt2017-06-301-0/+14
| | | | | | | | | The docs for this was added to the font property documentation in Text/TextEdit/TextInput, but not to the main font QML type documentation. Change-Id: I579706bea77b6fcd3972921c34b7693bf686ba31 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Fix typo in QQuickWindow::setRenderTarget warningGunnar Sletta2017-06-221-1/+1
| | | | | Change-Id: Idc4521e142603ee37a71acdae63ec750fa970d71 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Fix excessive recursion in rendererGunnar Sletta2017-06-191-3/+4
| | | | | | Change-Id: Iffee781932773fe22c7d946b532ba74492e1e2df Task-number: QTBUG-59789 Reviewed-by: Robin Burchell <robin.burchell@crimson.no>
* Doc: Enclose regular expressions with \badcodeTopi Reinio2017-06-161-1/+7
| | | | | | | | | Without them, qdoc tries to parse the backslashes as qdoc commands: src/quick/util/qquickvalidator.cpp:231: warning: Unknown command '\d' Change-Id: I36322586c477822f7efbae8b80adaee177c7ca44 Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
* Delay the deletion of QSGTextures until all windows are synchronizedDominik Holland2017-06-167-2/+29
| | | | | | | | | | | | | | | | With the 'basic' and the 'windows' render loop the scene graph context is shared. Because of this we cannot start deleting textures after the first window is synchronized as it may contain textures needed by the another window, which is not yet synchronized. QWindowPrivate::syncSceneGraph() is not calling endSync() anymore as it doesn't know whether it is the last window or not. Instead the renderloop is now responsible for calling endSync() once this is safe to do. Change-Id: Icb50ebfb447c928e38b41df7e26f3bfafdb4a811 Reviewed-by: Robert Griebl <robert.griebl@pelagicore.com> Reviewed-by: Gunnar Sletta <gunnar@crimson.no>
* Doc: add doc and snippet to model/view documentationNico Vertriest2017-06-132-16/+46
| | | | | | Change-Id: I64dd815ae377dced7022fed11ab1922c5913e65d Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
* Doc: add doc and examples to RegExpValidator QML typeNico Vertriest2017-06-132-0/+59
| | | | | Change-Id: I0ebc06aec6d2392f613fb4c312c189cc1d90a184 Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
* QQuickItemView: fix releaseItem() loopsJ-P Nurmi2017-06-124-12/+13
| | | | | | | | | | | | | | Calling releaseItem() destroys the item, which emits childrenChanged for the contentItem, and if at that point anything calls setFooMargin(), setContentHeight(), returnToBounds(), or many other methods that indirectly access the visibleItems list, it leads to a crash due to read after free. Add a releaseVisibleItems() helper method that makes a copy, clears the original list first, and then releases the items. Task-number: QTBUG-48394 Task-number: QTBUG-61294 Change-Id: I29e4d3870d33549e8bf789de84c67ab1826fca7d Reviewed-by: Robin Burchell <robin.burchell@crimson.no>
* Don't detach temporary containerSérgio Martins2017-06-071-2/+2
| | | | | Change-Id: I3edebdd149d901992b7db5410bb871ba1bcd454e Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Repeater: Clarify documentation a littleRobin Burchell2017-06-071-1/+5
| | | | | | Change-Id: I4544dafd4d641728394de9a97e7ae9dd029e91a4 Task-number: QTBUG-57155 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* QQuickWindow/View: set a QObject-parent on the root itemJ-P Nurmi2017-06-022-0/+2
| | | | | | | | | | | | | | | | | | | | | | | People are often confused why eg. the objects from: window->contentItem()->findChildren() are not included in window->findChildren(). This change connects the item tree to the window's object tree to make findChild() and findChildren() produce expected results. The same technique is already used for QQuickFlickable's contentItem. [ChangeLog][QtQuick][QQuickWindow] Set the window as the QObject-parent of the contentItem to ensure consistent behavior for calling findChildren() on QQuickWindow and QQuickWindow::contentItem. [ChangeLog][QtQuick][QQuickView] Set the window's contentItem as the QObject-parent of the rootObject to ensure consistent behavior for calling findChildren() on QQuickWindow::contentItem and QQuickView::rootObject. Change-Id: Idb7834eb5e560088ca849e6ce90e6fa3b3ae3e91 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Revert "QQuickWindow::createTextureFromImage(): return nullptr for null images"Mitch Curtis2017-06-021-1/+1
| | | | | | | | | | This reverts commit e6acf80136db9f667d0d4664f6c68065355d6811. This breaks behavioral compatibility. Task-number: QTBUG-61083 Change-Id: I0161d536502bab31aaf4ebc38f91e6c8842f72b0 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Merge remote-tracking branch 'origin/5.9.0' into 5.9Liang Qi2017-05-313-48/+54
|\ | | | | | | Change-Id: I3f77593ca944114534fff5df26bbb09150ee4400
| * Revert "Temporarily restore QQuickPointerDevice::pointerEvent() accessor"v5.9.0-rc2v5.9.0-rc1v5.9.0Shawn Rutledge2017-05-202-11/+1
| | | | | | | | | | | | | | | | | | | | This reverts commit ee6b07b3ce8ba80632868181d45d96253acb1064. This is to be integrated after the qtlocation change to remove the dependency on this private function. Task-number: QTBUG-57253 Change-Id: I756681fb2595d1326b7e5206bac57ccc318c0a46 Reviewed-by: Liang Qi <liang.qi@qt.io>
| * Revert "QQuickItem: Port a number of manual loops to range-for"Robin Burchell2017-05-191-37/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 8d92e595e0e8cf19f60db2fce4a543265c9130e9. This is broken in a few places, e.g. setEffectiveVisibleRecur emits, which means that it may run uncontrolled code, so we can't be sure the list isn't altered underneath us. Change-Id: I58b8b62e74581207c1b14902ea7b8b552761de8a Task-number: QTBUG-58811 Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | Add sections and update purposes of featuresStephan Binner2017-05-301-14/+27
| | | | | | | | | | | | Change-Id: I95923fa183172bb4fe5d0a6ae34c801e0cee2a63 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | Document the default value of x, y, width & heightJesus Fernandez2017-05-231-0/+1
| | | | | | | | | | | | | | | | The default values of the coordinates and size variables were missing. Change-Id: I1bba77b3db68d3f726c1211c6a0090e97f687b51 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | Improve dirty region calculation in software rendererJüri Valdmann2017-05-233-36/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The software renderers dirty region calculation is done in integral logical coordinates, which leads to quite some trouble when handling scene graph elements with fractional coordinates (used by WebEngine for example). The optimal solution would probably be to either use integral physical coordinates or floating point logical coordinates, however this would seem to require substantial changes to QPainter and QBackingStore and so on. So, this patch instead changes the calculation to use something like interval arithmetic: instead of just rounding each logical coordinate to the nearest integer the renderer now uses (very carefully) both the upper and lower boundaries to make sure that the dirty regions always err on the side of caution. I expect this change to make rendering slower but only in situations where previously there would be rendering errors. Task-number: QTBUG-60393 Change-Id: I7f8e7d2739c810328c841130df9c1c7332439447 Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* | Merge remote-tracking branch 'origin/5.9.0' into 5.9Liang Qi2017-05-193-1/+15
|\| | | | | | | Change-Id: I52c591fff08a0cbf426aa53354850fb4b5f130c1
| * Temporarily restore QQuickPointerDevice::pointerEvent() accessorShawn Rutledge2017-05-122-1/+11
| | | | | | | | | | | | | | | | | | This can be reverted as soon as the relevant qtlocation change is integrated. Task-number: QTBUG-57253 Change-Id: I72b71f61ba8fe421ac57c963801176098fe9f11c Reviewed-by: Robin Burchell <robin.burchell@crimson.no>
| * Fix QSG_VISUALIZE=batchesBerthold Krevert2017-05-111-0/+4
| | | | | | | | | | | | | | | | | | Since I362e1cb8e10 the batch renderer defaults to QSG_SEPARATE_INDEX_BUFFER which broke the batches visualization Change-Id: If1d51cabb0cc4a3a98ac2c01bd78789d08fe72f7 Reviewed-by: Gunnar Sletta <gunnar@crimson.no> Reviewed-by: Robin Burchell <robin.burchell@crimson.no>
* | Make all loaders synchronous in qquickdesigner support caseTim Jenssen2017-05-161-0/+8
| | | | | | | | | | | | | | | | | | It could result in wrong/strange behavior if the QtQuickDesigner shows asynchronous loaded items in the FormEditor view. So keep this setting disabled in that case. Change-Id: I9bbd75f33eb009e31064744564cc4104df624c3c Reviewed-by: Robin Burchell <robin.burchell@crimson.no>
* | QQuickWindow::createTextureFromImage(): return nullptr for null imagesMitch Curtis2017-05-151-1/+1
|/ | | | | Change-Id: Idf3315be104e058315d82893443e1c27d1d79f2e Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Ensure same glyph cache is used for same font at different sizesMichael Brasser2017-05-102-3/+25
| | | | | | Change-Id: I46b62616fd8141f65786e9e7bcb1068bed460732 Task-number: QTBUG-60696 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Move pointerEvent instance to QQuickWindowJan Arve Saether2017-05-103-29/+52
| | | | | | | | | | | | With two or more windows, if events are being delivered to each, the grabbers can be different in each. We need unique instances of the QQuickPointerEvent objects for each window to avoid losing the grab state in the parent window while delivering a synthesized event to a subwindow, for example. Change-Id: I51da1212d573853969e32ad78f5b219d979a8a5c Task-number: QTBUG-57253 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Fix hover delivery in case of touch release eventsFrederik Gladhorn2017-05-101-2/+8
| | | | | | | | | | | | | | | | | | | | | This fixes tst_TouchMouse::hoverEnabled. It turns out that the problem is that QQuickWindowPrivate::flushFrameSynchronousEvents would deliver artificial hover events which (due to the nature of the function) would arrive without being synchronized with the test. This should not be a problem as such, but there was one bug: the hover event would also be sent in case of a touch release event. The definition of when to "pretend hover" is a bit shaky, but we should definitely not send hover events after touch releases. By clearing lastMousePosition instead of setting it to where the touch point is released we no longer receive bogus events. Task-number: QTBUG-55350 Change-Id: I4dea54740e37182f66c4a729d7b06a1c770c34a9 Reviewed-by: Robin Burchell <robin.burchell@crimson.no> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Touch child mouse filtering: pass not grabbed points inside item boundsFrederik Gladhorn2017-05-071-1/+2
| | | | | | | | | | | | | | c2ca2cbf04071ffb3aee6af8d5ab9084dfa1c091 started to restrict delivery of items in childMouseEventFilter by checking that we wouldn't deliver completely random points outside the item that were not grabbed by child items. That is generally correct. It did no longer send along touch points that had any other state but pressed but were inside when they had no grabber. That part was wrong, points must be sent along if they are not grabbed and inside the item. Task-number: QTBUG-60368 Change-Id: Ida24f5d2310d3b71db79ae5f95da2c57dcd3f150 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Merge 5.9 into 5.9.0v5.9.0-beta4Oswald Buddenhagen2017-05-053-10/+10
|\ | | | | | | Change-Id: I7cd3623b86d7c585f69c764346366b13fdad6ec5
| * Doc: fix some typos in qsgrenderer.cppJüri Valdmann2017-05-041-2/+2
| | | | | | | | | | Change-Id: I140e4e35d7841813df6425d0e418aa52660ed03b Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
| * Doc: fix some typos in qsgnode.cppJüri Valdmann2017-05-041-6/+6
| | | | | | | | | | Change-Id: I9ce8f7e9dffbf7fd5280841bbe46d07eaaf9e235 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
| * Fix remaining QQWindow qCDebugs to show eventpoint IDs in hexShawn Rutledge2017-05-041-2/+2
| | | | | | | | | | Change-Id: I04122218499733856136f5a49b72707a0e8885e5 Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
* | qquickpixmapcache: fix crash when loading images asynchronouslyArnaud Vrac2017-05-051-1/+1
| | | | | | | | | | | | | | | | | | | | Use copied data instead of data that might be destroyed. This was already fixed in most places in commit 22c39eda8ab316c. Change-Id: Ie31ebb2e53945dd66ce3d0114629c284407ff26c Reviewed-by: Albert Astals Cid <aacid@kde.org> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> Reviewed-by: Robin Burchell <robin.burchell@crimson.no>
* | Software: Fix leaking of SGTexturesAndy Nichols2017-05-051-0/+3
|/ | | | | | Task-number: QTBUG-59865 Change-Id: I18911734b34e535c2c77d5a860bd776105617663 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Doc: fix 'adpatation' -> 'adaptation'Jüri Valdmann2017-05-034-5/+5
| | | | | Change-Id: Ia852d86d9b9585a1d3d9b07eb8b48361d61c5671 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* ICC issue: cast both sides of sign-bit-changing expressions to uintThiago Macieira2017-04-281-1/+1
| | | | | | | | | | | QSGNode::DirtyForceUpdate is 0x8000, so when you shift it left by 16 positions, it becomes the sign bit. Either the result of that shift is int or sn->dirtyState is. qsgbatchrenderer.cpp(302): error #68: integer conversion resulted in a change of sign Change-Id: I84e363d735b443cb9beefffd14b958f9a622348b Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
* Add a method to query the scene graph backendMichael Brüning2017-04-274-0/+25
| | | | | | | | | | | | | | | | Since 5.8, it has been possible to set the scene graph backend using QQuickWindow::setSceneGraphBackend instead of using the environment variables. This caused some trouble with modules that need to know which backend is used and relied on the environment variables or command line options for getting this information. One example of such a module is Qt WebEngine, which crashed because it ended up trying to use OpenGL resources with the Qt Quick scenegraph software backend. Task-number: QTBUG-60232 Change-Id: Ia7c4860b16a9ce6fe9af73dfe5a5d2d19ebf5bfd Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Run includemocs in qtdeclarativeThiago Macieira2017-04-26101-0/+184
| | | | | Change-Id: I84e363d735b443cb9beefffd14b8c023a37aa489 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Document Screen virtualX and virtualYPier Luigi Fiorini2017-04-261-0/+14
| | | | | | | | These two properties were added without documentation. Change-Id: I12c259bf95470d3744dfd6f2fd8487120181fdf4 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* Doc: correct reference to sectionNico Vertriest2017-04-261-2/+1
| | | | | | | adaptations.qdoc:28: warning: Can't link to 'qtquick-visualcanvas-scenegraph-openvg.html Change-Id: I55120ee84c4b0c8fd74fdbcaccb7e3acb0232f11 Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
* Doc: correct \sa statementNico Vertriest2017-04-261-1/+1
| | | | | | | qquickwindow.cpp:4198: warning: Can't link to 'Qt.application' Change-Id: I159ce3e432c8d88280dfd0b9de5831f33216ccad Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
* Fix populating selection clipboard with keyboardVolodymyr Samokhatko2017-04-261-0/+7
| | | | | | Task-number: QTBUG-59879 Change-Id: I7b6e769c6a027df6030b6ab014651b498f3059bf Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Fix Canvas memory leakRoman Pasechnik2017-04-251-0/+6
| | | | | | | Task-number: QTBUG-59467 Change-Id: I3fa0e20676e453ec194ec71188172f4650313d1e Reviewed-by: Gunnar Sletta <gunnar@crimson.no> Reviewed-by: Robin Burchell <robin.burchell@crimson.no>
* Support for Q_OS_ANDROID_EMBEDDED and android-embedded buildsOtto Ryynänen2017-04-252-2/+2
| | | | | | | | | | | A Native Android build (Boot to Qt Android injection) is defined by having both Q_OS_ANDROID and Q_OS_ANDROID_EMBEDDED flags defined, as well as having Qt config android-embedded. This commit enables the possibility to build native Android builds (i.e. Qt build for Android baselayer only, without JNI) Change-Id: I1007eb010545374038e2d09a053fe25f884efeba Reviewed-by: Robin Burchell <robin.burchell@crimson.no>
* QSGBatchRenderer: Fix a performance regression noted by qmlbenchRobin Burchell2017-04-241-11/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | 0a88774a0f11bf96a87012ac4a83e31ced19460b switched from using client side pointers to VBOs, ostensibly for core profile support. Unfortunately, some GPUs/drivers seem to suffer quite a bit with these, so only use them if we must. Results for changing_over_isolated_with_clip_rotated.qml: eskil_linux_tx1: Before: Average: 65.6 frames; using samples; MedianAll=65; StdDev=0.894427, CoV=0.0136346 After: Average: 120 frames; using samples; MedianAll=120; StdDev=0, CoV=0 eskil_linux_focault (nvidia) has a similar regression in all branches where the original commit is present, too: 5.6 & v5.8.0 tag: 600 5.8, 5.9 & dev branches: 399 Assuming this is the sole regression in that case and we end up at the original 600 again, that would be a 50% gain there, and an 81% increase on TX1. Change-Id: I44af9e67698356200f9587e77c9409fdb756519d Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io> Reviewed-by: Gunnar Sletta <gunnar@crimson.no>
* QQuickCanvas: Fix requestAnimationFrame documentationv5.9.0-beta3Robin Burchell2017-04-211-2/+2
| | | | | | | The type here is an int, not a long. QML doesn't have a long type at all, too. Change-Id: I7aea92819f5e2afadddd7b79289a304875d4297f Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>