[Development] Feature freeze exception for QTBUG-95587

2021-09-09 Thread Ulf Hermann

Hello,

due to the magnitude of the above mentioned bug, I'm considerng to 
introduce a new feature in Qt 6.2.1. The new "@" operator in QML 
relieves you from typing "Qt.resolvedUrl" over and over. See 
https://codereview.qt-project.org/c/qt/qtdeclarative/+/369987


Now the question is whether we want to relax the feature freeze for this 
particular issue or not.


Some background:

In Qt5, the QML engine resolves a relative URL as soon as it is assigned 
to any property of type "url" or QUrl. This means that you cannot store 
relative URLs in such properties, and reading such a property back in 
QML gives you a different value than the one you have written. The base 
URL used for resolving is the URL of the QML document where the 
assignment happens. This is often not the place where the URL is meant 
to be resolved. There were a number of bug reports about these 
shortcomings in Qt5, especially when combined with URL interception 
and/or redirection. See for example QTBUG-81244 QTBUG-88965 QTBUG-66690 
QTBUG-76879


In Qt6, URLs are simply not resolved anymore when assigning them to a 
property. This conveniently gets rid of all the cruft and inconsistency 
resulting from the Qt5 behavior. Instead the individual elements using 
URLs (Image, ShaderEffect, ...) are free to resolve them to their 
liking. There is suitable functionality exported from QtQml to do that.


Now, there is one problem, QTBUG-95587: The original context where a URL 
was first assigned to a property is not easily available to the final 
consumer of the URL. At the same time, the element consuming the URL 
might be deeply nested in the implementation details of some module and 
might have a rather internal base URL. In this case, the URL as resolved 
by the consumer is not very useful.


A user can fix this by explicitly calling Qt.resolvedUrl() in order to 
resolve the URL in a specific context and make it absolute. As we need 
URLs rather often in QML, we will see much more Qt.resolvedUrl() in Qt6 
than we have seen in Qt5. As Qt.resolvedUrl() is quite a mouthful, there 
should be a shorthand for it: the '@' operator.


So, is this bad enough for an exception, or should we rather live with 
Qt.resolvedUrl() in 6.2. I'm tentatively in favor of the exception 
because 6.2 is a rather important release and this is a rather ugly wart 
in the QML language.


best regards,
Ulf
___
Development mailing list
Development@qt-project.org
https://lists.qt-project.org/listinfo/development


[Development] Qt 6.2.0 Beta4 released

2021-09-09 Thread Jani Heikkinen
Hi all!

We have released the Qt 6.2.0 Beta4 today.  As earlier you can get it via 
online installer. Src packages are also available in the Qt Account and 
download.qt.io. Delta to the beta3 attached.

Please make sure you will report all findings in Jira. Also please make sure 
all Qt 6.2.0 release blockers are visible in the release blocker list 
(https://bugreports.qt.io/issues/?filter=23260).

br,
Jani Heikkinen
Release Manager
qt5.git
33988e12acb90d53fb73e7135d2dc2a6b6e2ae8e Add a platform config file for Qt 
Application Manager
51155b7bf87cf0c9f5ed0e2f679d31697859e0a0 Build minimal subset of tests in 
qtdeclarative desktop static builds
26e43959e19da179ba59b15b2df6024a12d60af9 iOS: Build a subset of tests when 
targeting iOS
8ab13223a5535f9ad3cb0beb08a87dfe6664c82b Coin: bump Android build tools and 
platform sdk level from 29 to 30
86a34fb5d7c6377d7c7f658eeffd66d8aac2a393 Upgrade Xcode and Command line tools 
to the latest version for Big Sur
5f7bb79fd94512309e811d60384662115638fde6 qdp: remove system dependencies
3c2fca6bb18fe416ff104de3ed66acc241bd372f COIN: Re-add qtsdk.yaml
1f452fd47912ca6a531b3520cd42409291840ce4 Update node.js to 12
aaf0fad6b54dfc17620583f7d02ea781b5a58985 Provisioning: Install 32bit version of 
Ninja on Windows
384bff22f7fe4784ec55446a887eb4014884ed09 Remove qtgraphicaleffects from 
.gitmodules
qt3d:
b9a5e8c65f5d1cd6f75f74638525c92264e9dcb7 Conan: Inherit recipe class from 
QtLeafModule for common functionality
0c26bd74a4b231555dd7737c1f287a71ec3201bb CMake: Ensure standalone tests are 
built
ccfc231fb0b5ff2aa86f5ff878fce9d87bf30f2d Raise cmake_minimum_required to 
VERSION 3.16 in examples
qt5compat:
1cfff6113c4ad07a76e590220ab7d32803d43ed9 QStringRef::lastIndexOf: adapt tests 
after upstream fixes
7509b151bae474f9cc5fe23ee260b2032e8abf2f Support builds with Conan
9c908c97c03e1a0e232812119356c5c174e04484 Raise cmake_minimum_required to 
VERSION 3.16 in examples
qtactiveqt:
8b53d412fadf51babe605c888fac8d72e3117013 Ensure versionless wrappers do not 
introduce a new variable scope
8234fb149d812b9ac99be466cd5e025029aaa38c Conan: Inherit recipe class from 
QtLeafModule for common functionality
qtbase:
8ec406b2296abdbdc8606fa955a2f8feb5254b1f Fix QListView assert when the last row 
is moved in IconMode
561ba60ea436c06f7aa88ae9c8a847f851851112 qlocale_win: Fix non-standalone month 
names
b01986df9122f59a2b87153c803232b6c9fb5113 Update bundled libjpeg-turbo to 
version 2.1.1
ce006d117e343fce748f48a58533459d7ca428b9 When clearing QPixmapCache, stop its 
flushing timer
98c0817b5335abf82a134287ad41d734dcf5bec2 QDoubleValidator: fix NaN check in 
validateWithLocale
1c4ee2fda4cf827a160102d69e6d468576f237e0 Fix documentation of 
QNetworkAccessBackend
8ae5f758a63390fb2649ca773741e0bfa6bfcfe8 Fix corner case in 
QTimeZonePrivate::dataForLocalTime()
3fd07467c9cfcb854d3ab220ddb7c4868bbb2f72 Refine QLocale constructor 
documentation
1bef4351098ba7f7784102338d2bf2577c19f58a Revert "Forward touchEvents to 
children inside QGraphicsProxyWidget"
af73d3a5e7fa1c7fb97f525805a16e713e83fefe wasm: fail when configuring for wasm 
and EMSDK is not found
f2cd04584ae62ccdcff3585c7b7b9f1e294eca1b QFileDialogComboBox: member variable 
is not initialized
565c865c8a8046d8eaf5de669749fc89ed3246bf Ensure versionless wrappers do not 
introduce a new variable scope
7da01fb51334df2fdc5cbab30fd9d8676711ec4a qmake: Add support for C17/C18
8572ae3eed4f22dc5eed388569bfa5031397ef7d Painting: handle large and negative 
dash offset values
91b2141bba76283b188498680add23b9cc3b67f2 Move QGraphicsProxyWidget test into 
correct test case
564749ce3311f5e350224fe1d3e640061b1448aa Reactivate QGraphics(Proxy)Widget unit 
tests
81f8641af9cc87c7f21bd4d4b76a5a12111288c2 Enable building and uploading tests 
for Android targets if tests enabled
929bd36cc38b836aec50365012aaf11175512dd2 TLS plugins: Prefix with 'q'
2177ada794b027d809260668a156de4af684db8b Conan: Rename 'extra_cmake_args' Conan 
option as 'cmake_args_qtbase'
590d3f8e1eb80a0580258ff2c05e1495ee602e7b Conan: recipe cleanups
c5d4ebd138d63d23e445b7e2b420206d233e6f7e Android: pass -g to testrunner to 
grant run time permissions
946737d882516d973c7ad54432c262d3381f1cf7 macOS: Hide mouse cursor when 
initiating IM enabled text input
764c7b51b73ebda154812540c3166e91d5c082be macOS: Correctly implement 
attributedSubstringForProposedRange
5647af5a485067d20bf46fc716a3f2e9603c3d50 macOS: Assume input method handles key 
event
e99302fedce9926255ed91b3b53bfe138ee7f512 macOS: Handle IM insertNewline by 
sending synthetic Qt::Key_Return
5268194b2302fa3371de785854468d1a2649ff14 Fix deprecation of 
QMouseEvent::source() and flags()
ea6cc84ab2da971b901b87b6cce25d119f94f409 Update Android default SDK from 29 to 
30
9cc3e2bf877f75ed28ebb3717b5e84f609e77802 Make clear why QTestLog::addB?XFail() 
don't add to counters
bd0b2075a3717e4eb60b12b3dfe6965b3c2375ec macOS: Handle replacement range during 
marking of text
51679efcf97dfea86431912eeb9489088c0804ed macOS: Factor out key event handling 
into