| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
| |
* use size_t for qHash overload
* return false in copyPreloadQmlImports error path.
Amends b6cdc2a6ef89e72470eb24e7cf18eae4d861b20c
Change-Id: Ifd62e187c205b129423509fbd391d6ba659255cd
Reviewed-by: Mate Barany <mate.barany@qt.io>
Reviewed-by: Even Oscar Andersen <even.oscar.andersen@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
androidtestrunner expects that Android package name is stored as an
attribute in the AndroidManifest. The value is required to run android
application and grant the required permissions, so it makes sense to
add the early exit and provide the clear error message if the package
name is missing.
Change-Id: Icfeb80f79c4540dd4829add0c1b61e2d61fcec8e
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
|
|
|
|
|
|
|
| |
Optimisation bit, read and process AndroidManifest only once.
Change-Id: Iaf66c748d98e67c9eebfabdf7357aa480929b8de
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
|
|
|
|
|
|
|
|
| |
Grant permission precisely using 'adb shell pm grant' command. This
also unifies the permission granting for aab and apk packages.
Change-Id: Iff5e45703830afed7c6fd98c940cb63626fe66f4
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In classic APK mode androidtestrunner uses adb '-g' flag to grant
all runtime permissions at application installatio phase. There is
no such flag for the Android bundle tool.
Read permissions from AndroidManifest.xml and grant the permissions
using 'adb shell pm grant' command.
Fixes: QTBUG-138597
Change-Id: Iea2132d0fdb36123719e1d2ea8355f4733e0d5cf
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In many cases, the result of the lexem() functions is only used as a
view and is not stored. To avoid constructing thousands of temporary
QByteArray instances, introduce lexemView() and unquotedLexemView() that
return a QByteArrayView instead.
We need to carefuly remove .constData() calls on previously-QByteArrays,
because QByteArrayViews may not be NUL-terminated, so we must transfer
the size information to e.g. QString::fromLocal8bit().
This saves only about 3 % of temporary allocs but enables further
optimizations.
Change-Id: I55e389f7602ac42d3e2f83b38161286d5c17bb48
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
| |
This avoids making costly copies of SafeSymbols.
Change-Id: Ib29dec98ced43712ce758ffe4caaf123bd509dd1
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Create symlinks for shared libraries, jars and resource, etc.
instead of a full copy. This can be useful to avoid projects
taking extra space, and instead directly use, for example,
library files referenced from a Qt installation.
Gradle will make sure to deal with the symlinks and expand them
to their respective files and ensuring the file APK will have
proper files.
Task-number: QTBUG-94777
Change-Id: I64b90c72eac5fb729f077abffc35c388a9396529
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
|
|
|
|
|
|
|
| |
Add a CMake property to allow enabling/disabling legacy packaging.
Change-Id: I84d770aa050d18108d9e93d341b536a2906b8c5f
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We know that the "symbols" stack will be at least of size one, and
runtime analysis shows that it can grow up to 7:
Max size Occurences
2 3778
3 5157
4 10920
5 6888
6 281
7 18
Call reserve() so that we never need to reallocate and move SafeSymbols
structs, which are not trivial to move.
Change-Id: I2c4a1f8637ff3636bc78b19e7bef61371f614944
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
The hasNext() and next() functions frequently call QStack<T>::top(),
which is not const in this context. As a result, this causes unnecessary
detachments of the underlying QList.
Add a helper member function constTop() that ensures we access the top()
without making temporary copies of the whole SymbolStack.
Change-Id: I7801296d38192657fdc84a714de1774a42392330
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
printMsg() receives a message as a QByteArrayView, which is not
guaranteed to be NUL-terminated. Using fprintf with %s could lead to
reading past the view's bounds.
This wasn't an issue previously, since all QByteArrayViews passed were
derived from QByteArrays or const char *, which are NUL-terminated by
design.
To future-proof the code, use %.*s with msg.size() to ensure only the
bytes inside bounds are printed.
Change-Id: I690e0dabdfc4ea9c23426ef98950845a35cd407a
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Introduce wasmdeployqt which is analogous to other
deployment tools that we currently have like
"windeployqt" or "androiddeployqt".
Running wasmdeployqt makes it much easier to deploy
and ship dynamically linked WebAssembly applications.
In case of statically linked applications this tool
does not provide any extra value as static apps are
ready to be shipped by default.
This commit also removes older python scripts which
were supposed to serve this same goal as well as
some cmake machinery arround it.
Fixes: QTBUG-134580
Change-Id: Ib5c8ab128f49897f91c510bfec03b0b772e6548a
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
provide support for label attribute in ui files. The label
is used to categorize ID-based translations on Linguist.
This is a part of a larger change in
qttools (3c0836a55d)
Pick-to: 6.8
Pick-to: 6.9
Pick-to: 6.10
Change-Id: If9f010f84d65daea7d8fc5622f7a1d660de064e6
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Kai Köhne <kai.koehne@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Current QT_ANDROID_PERMISSIONS property format is inconvenient for
use in the CMake generator expressions and mixes attribute syntax
with CMake list syntax.
This suggests the new format for the QT_ANDROID_PERMISSIONS property.
Each element is encoded the following way:
<android:name>\;<permission>\\\;<extra1>\;<value>\\\;<extra2>\;<value>
Elements are separated using standard CMake semicolons.
QT_ANDROID_PERMISSIONS is now transitive LINK property. This feature
deprecates the '<permission' records in the
Qt6<Module>-android-dependencies.xml files. If application links
Qt Module that requires specific permissions, these permissions will
be written to the application deployment-settings.json file.
The 'permissions' record in the application deployment-settings.json
file is changed too, the new format is following:
"permissions": [{
"name": "permission",
"extra1": "value",
"extra2": "value"
}]
Comparing to the previous format each extra attribute is stored under
a separate key in permission object.
IMPORTANT: androiddeployqt has no backward compatibility with the
old format.
With QT_USE_ANDROID_MODERN_BUNDLE enabled permissions are written
directly to the AndroidManifest.xml without androiddeployqt involved.
Supply tests for the Android permissions, that reads the
manifest-declared permissions in test using the Android PackageManager
API.
Change-Id: I691df33c70acc6c7139302b119edc791fef8d5ef
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add the modern android bundles support to androidtestrunner.
The tool uses Android bundle tool to unpack and install Android
bundles. If the Android bundletool found in the system and
QT_USE_ANDROID_MODERN_BUNDLE is enabled Qt tests prefer run 'aab'
but not APKs.
This unlocks testing of Android bundles in CI and locally.
Change-Id: I98be662f5c383127a8401371757ea708a495a94f
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This approach is more flexible and modernizes the gradle project
structure for Qt apps. We now try to reproduce the CMake Android project
structure of user applications, in the modern Android project
structure described here: https://developer.android.com/build
The new structure using the module based application build and unlocks
the support for the use of dynamic features and Android libraries(aar).
All gradle-related rules are generated by CMake and androiddeployqt is
used in the auxiliary mode only(--aux-mode option). Update gradle
templates.
To opt-in the modern deployment use the QT_ANDROID_MODERN_BUNDLE
variable.
Task-number: QTBUG-116683
Task-number: QTBUG-124600
Change-Id: I343b884dea77a7b3b9059cf876a81c3693d0294b
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
Those are needed by qmlls to be able to jump to C++ definitions.
Task-number: QTBUG-119143
Task-number: QTBUG-128393
Change-Id: I4fb9394b0a22a02501bafdbe95a7cd8998adfe11
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
A qt_find_package call first tries to find a Config package
with the CONFIG mode option, and if not found, falls back to an
arg-less mode which searches both Config and Find modules.
For some packages, we know we want to find the Find module because
there can't be a Config package, e.g our FindWrap modules or any of
the other Find modules we carry in our cmake directory.
So we should annotate these calls with MODULE.
Aside from slightly faster configuration, there is another reason to
do so.
Future versions of CMake will automatically log find_package
calls that have a state change (e.g. Not Found -> Found) into
CMakeConfigureLog.yaml.
Due to the Config-first logic in qt_find_package, we always unset the
Foo_DIR variable if the Config package is not found.
This means that there will be a constant build up of not-found
messages in the log.
Explicitly annotating the calls with MODULE will prevent this. Do
that.
This commit relands f1a59e974f013fcf8629d8cbacab58d895523100
This reverts commit 0ce82b78a35026cb56ff76d1c24b311008934a53.
Pick-to: 6.10
Change-Id: I5d37579d2f4957215ce1475b5c0ec8509d77c83d
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
| |
This is the only other place in the moc sources where this function is
called, so avoid two calls into the QMetaType built-in type search.
Change-Id: Ia4a554c3bc5393fdc07bfffdc6071f5b9759afe8
Reviewed-by: Ahmad Samir <a.samirh78@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Just use QMetaType::fromName(). We bypass the id() call because anything
that came from the registry is, by definition, registered. Besides,
inside a bootstrapped tool, there are no custom types anyway.
Drive-by static'ify the functions.
Pick-to: 6.10
Change-Id: Ib8363744834da6d79046fffd0adb680219c829e0
Reviewed-by: Ahmad Samir <a.samirh78@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
to avoid gcc 15 -Wdangling-reference warning.
This follows 9379b95b533216593d4d37c0cbf70f91d1ce037a,
8a6750475410629741de0417c28f574c25c65338 and
18def77d27f88ce26b6af29fe56a80429fed555d.
Pick-to: 6.10 6.9 6.8 6.5
Change-Id: If327439bd76e954cde4f9c5261dce7fa18c237a1
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This breaks reconfiguring Qt in various ways, one of which is
CMake Error at cmake/QtTargetHelpers.cmake:1557 (message):
PkgConfig::ATSPI2 is not a valid target.
This happens because pkg_check_modules sets ATSPI2_FOUND to 1, so
qt_find_package thinks it shouldn't find the FindATSPI2.cmake module,
which ends up not creating the ATSPI2 target.
This reverts commit f1a59e974f013fcf8629d8cbacab58d895523100.
Pick-to: 6.10
Fixes: QTBUG-137870
Change-Id: Ica74a236c6b1bb9d7ca9af29175cb2e84a93251b
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We must not use a range based loop here as the container might be
changed inside the loop which will invalidate the iterators which in
turn might lead to a crash.
While at it the QFileInfo used to obtain the binary's path was moved out
of the loop as a small cleanup.
Fixes: QTBUG-137763
Pick-to: 6.10 6.9 6.8
Change-Id: I86fb8b683fb98a897d0059ef1dc869e26b2c213f
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
We must not add an enum qualifie if it is already emitted because
it was part of the property signature.
Amends dea21545b32cf04337ca470483991dc7da39ba5b
Fixes: QTBUG-137850
Pick-to: 6.10 6.9
Change-Id: I07a27014023a60f07a97e323a7d7e5b9d233d555
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
| |
It's always been unnecessary in this position.
Pick-to: 6.10
Change-Id: Ia6a411f0cdaacd625a2cfffd2a94adbde2fbff6b
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
A qt_find_package call first tries to find a Config package
with the CONFIG mode option, and if not found, falls back to an
arg-less mode which searches both Config and Find modules.
For some packages, we know we want to find the Find module because
there can't be a Config package, e.g our FindWrap modules or any of
the other Find modules we carry in our cmake directory.
So we should annotate these calls with MODULE.
Aside from slightly faster configuration, there is another reason to
do so.
Future versions of CMake will automatically log find_package
calls that have a state change (e.g. Not Found -> Found) into
CMakeConfigureLog.yaml.
Due to the Config-first logic in qt_find_package, we always unset the
Foo_DIR variable if the Config package is not found.
This means that there will be a constant build up of not-found
messages in the log.
Explicitly annotating the calls with MODULE will prevent this. Do
that.
Pick-to: 6.10
Change-Id: I465b015ac18f8a09b9a5c86cec7b6312a0bfbdf1
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It is possible (and somewhat common on Windows) to have getters and
types with the same name. This so far would cause issues in the moc
generated code.
To fix it, we remember all names of enums found in a class, and prefix
references to such types with "enum". Note that this requires a new set
to track them, as other parts of moc currently treat `eunm Foo { Val }`
and `typedef enum { Val } Foo` the same, but `enum Foo` is only valid
C++ for the former.
A similar issue would also exist with inner structs, but that seems to
be less common, so isn't implemented yet.
We also use the opportunity to drop the typeNameForCast member in
ArgumentDef, as we can't do the enum disambiguation with it easily.
Instead, we do it on-demand, which should also give a beneficial
memory/runtime trade-off in any case.
Fixes: QTBUG-137452
Pick-to: 6.10 6.9
Change-Id: I07341f971c9ca65edecbea890ebc33e007087c43
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
__has_include is part of C++17, but moc did not handle it so far.
This commit fixes moc to correctly support it.
It should be noted that support for __has_include relies on all
necessary include paths being passed to moc.
Pick-to: 6.10 6.9 6.8
Fixes: QTBUG-136097
Change-Id: I7284e97dea12d1637b38349d32e090c0102124e7
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When project's Android package source directory is set to the
project level (instead of project/android) androiddeployqt keeps
copying the build directory under itself infinitely.
Add check to copyFiles:
-If android source dir is the same as project source dir
-And if current directory copied is in build directory path
Pick-to: 6.5 6.8 6.9 6.10
Fixes: QTBUG-126743
Change-Id: If45766152c6cbf9e2ee916baa5a15282d3fedaf2
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
The application provided overrides of the Android files were not being
used in aux mode. In aux mode androiddeployqt was only copying the
Android files from the Qt sources and updating them.
With this change androiddeployqt also copies the Android files from the
application source, allowing overrides prior to template processing.
Change-Id: Idf790f1c270691dab8fe093c20e84bed79bf481d
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit introduces support for generating Java code for
multi-argument QML signals.
Pre-existing code remains unchanged, and the new code is only executed
when the number of params in a signal is above 1.
Multi-arg signals are handled with a new generated interface type,
named after the signal, which has a default method that takes an
Object[] array and calls the user-implemented signal method with the
arguments cast to the desired types.
For example, a QML signal with the following signature:
signal manyTypeArgSignal(intValue: int, boolValue: bool,
doubleValue: double, stringValue: string)
Is generated into this Java code:
@FunctionalInterface
public interface manyTypeArgSignalListener {
default void onSignalEmitted(Object[] args) {
onSignalEmitted((Integer) args[0], (Boolean) args[1], (Double) args[2], (String) args[3]);
}
void onManyTypeArgSignal(Integer intValue, Boolean boolValue, Double doubleValue, String stringValue);
}
public int connectManyTypeArgSignalListener(manyTypeArgSignalListener signalListener) {
return connectSignalListener("manyTypeArgSignal", new Class[]{ Integer.class, Boolean.class, Double.class, String.class }, signalListener);
}
Task-number: QTBUG-124489
Change-Id: I94e3e88e807017bcbeba16cf0e34263e28e5885f
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
appImports can have the same directory added multiple times - first if
it's found in the xxx_conf.rsp file and secondly for the inner qmldir
scanner. This is because the xxx_conf.rsp file can have both the
qmlModule directory and the parent of that directory as importPaths. For
example like this (the paths are truncated to save characters):
-importPath
.../build/qt_generated/qtquickview/qmlModule
-importPath
.../build/qt_generated/qtquickview
In this case when the "inner qmldir" finder processes the later path,
it would go to ./qmlModule, find the qmldir and add another
.../build/qt_generated/qtquickview/qmlModule to appImports. Also, if
there were other qmldir files somewhere under qmlModule those would
also get added twice, which would increase generation time yet again.
This commits solves the issue by removing duplicates from appImports.
Amends 7ed88eb565d40b195aa868e67777872ef07a5ea2.
Pick-to: 6.10 6.9 6.8
Fixes: QTBUG-137316
Change-Id: I641065479aec0f3d9ae1a8727a03bf62eb169ad6
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
|
|
|
|
|
|
|
|
|
| |
Remove dependency to Wayland::Client as it's not needed and
prevents building qtwaylandscanner for Windows where Client
is not supported but scanner is needed for cross-compilations.
Change-Id: Ia38dda58c0800799673ae2d1e29626ce6b399f04
Reviewed-by: Liang Qi <liang.qi@qt.io>
|
|
|
|
|
|
|
|
| |
Make it match the one for the other property-related operations.
Change-Id: I9248cca81f9ab48cf6765f66d696631e91f5ad07
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Instead of generating code like
return request(args)
m_object = nullptr
do
new_id = request(args)
m_object = nullptr
return new_id
This came up in the color managment protocol where
wp_image_description_creator_params_v1::create creates a new object
but is also a destructor at the same time.
Pick-to: 6.9
Change-Id: Ic5d9f72656d99740bf6665c07393f69ee78af013
Reviewed-by: David Redondo <qt@david-redondo.de>
|
|
|
|
|
|
|
|
|
|
| |
Ignore vertical constraint and use the horizontal one for the
property.
Task-number: QTBUG-17730
Pick-to: 6.9 6.8
Change-Id: I6317ce8c1c1e2ac2bf6ae3b24a60735a72dcb7bc
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
By moving the implementation to qcore_mac.mm, and using a union
for the object pointer, we can build qcore_mac.mm with -fobjc-weak
to take advantage of the automatic weak-tracking. This allows us
to drop the manual handling via ObjC associated objects, while
also allowing non-Objective-C code to use QObjCWeakPointer.
In particular we want to use it for QMacKeyValueObserver, which
today runs the risk of removing the observation on an object that
is long gone.
Pick-to: 6.9
Change-Id: I5d605e5ac82b39223b246d6758d0da88a1702357
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Skip the goodToCopy check for the libraries that do not belong to
the main ABI. The rationale of this descision - goodToCopy was passing
in per-ABI build already, so we don't need to take care about this
check in main-ABI build. Also we indroduced the last-stand check of
bundled libraries in 7499fd0229d63f969bf6ca58d3b764b96395bed2.
Fixes: QTBUG-136493
Pick-to: 6.8 6.9
Change-Id: I438af867b0f25e0ea557bb5066f1c243bb6ab356
Reviewed-by: Bartlomiej Moskal <bartlomiej.moskal@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
Add the main Android ABI to the deployment settings. It's useful
for skipping functionality that is done in per-ABI builds.
Task-number: QTBUG-136493
Pick-to: 6.5 6.8 6.9
Change-Id: I9f59ffb1cae3107bbe695d99c33dd3426c163e6e
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The qtwayland repository has been filtered for commits relating
to the Wayland client, via the following git-filter-repo command:
git filter-repo --paths-from-file wayland-move.txt --force --refs HEAD
And then merged into the qtbase repository via
git merge --allow-unrelated-histories
The following git-filter-repo instructions have been used:
src/CMakeLists.txt
src/CMakeLists.txt==>src/platformsupport/wayland/CMakeLists.txt
src/configure.cmake
src/configure.cmake==>src/platformsupport/wayland/configure.cmake
src/client/Qt6WaylandClientMacros.cmake
src/client/Qt6WaylandClientMacros.cmake==>src/tools/qtwaylandscanner/Qt6WaylandClientMacros.cmake
src/compositor/Qt6WaylandCompositorMacros.cmake
src/compositor/Qt6WaylandCompositorMacros.cmake==>src/tools/qtwaylandscanner/Qt6WaylandCompositorMacros.cmake
src/3rdparty/
src/3rdparty/patches/==>src/3rdparty/wayland/patches/
src/3rdparty/protocol/ivi/REUSE.toml==>
src/3rdparty/protocol/ivi/ivi-application.xml==>
src/3rdparty/protocol/ivi/ivi-controller.xml==>
src/3rdparty/protocol/ivi/qt_attribution.json==>
src/3rdparty/protocol/
src/3rdparty/protocol/==>src/3rdparty/wayland/protocols/
src/extensions/qt-shell-unstable-v1.xml==>
src/extensions/
src/extensions/==>src/3rdparty/wayland/extensions/
src/client/
src/client/==>src/plugins/platforms/wayland/
src/global/
src/global/==>src/plugins/platforms/wayland/globalprivate/
src/shared/
src/shared/==>src/plugins/platforms/wayland/shared/
src/plugins/decorations/adwaita/==>
src/plugins/decorations/
src/plugins/decorations/==>src/plugins/platforms/wayland/plugins/decorations/
src/plugins/hardwareintegration/client/
src/plugins/hardwareintegration/client/==>src/plugins/platforms/wayland/plugins/hardwareintegration/
src/plugins/platform/
src/plugins/platform/==>src/plugins/platforms/wayland/plugins/platform/
src/plugins/shellintegration/qt-shell/==>
src/plugins/shellintegration/ivi-shell/==>
src/plugins/shellintegration/
src/plugins/shellintegration/==>src/plugins/platforms/wayland/plugins/shellintegration/
src/plugins/CMakeLists.txt
src/plugins/CMakeLists.txt==>src/plugins/platforms/wayland/plugins/CMakeLists.txt
src/qtwaylandscanner/
src/qtwaylandscanner/==>src/tools/qtwaylandscanner/
tests/auto/client/iviapplication/CMakeLists.txt==>
tests/auto/client/iviapplication/tst_iviapplication.cpp==>
tests/auto/client/shared/iviapplication.h==>
tests/auto/client/shared/iviapplication.cpp==>
tests/auto/client/
tests/auto/client/==>tests/auto/wayland/
tests/auto/cmake/test_waylandclient/
tests/auto/cmake/test_waylandclient/==>tests/auto/cmake/test_waylandclient/
Done-with: Alexandru Croitor <alexandru.croitor@qt.io>
Done-with: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Task-number: QTBUG-133223
Change-Id: I46c325724141fdbfcc117d12fb5f92852613e72a
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This exposes the public-code / private-code options for the
waylandscanner. It is the server-side version of
2962aa9ed9487bc6aa54810ed4ace114b4f7d723.
Task-number: QTBUG-126301
Change-Id: I32490f6cbc9cac876c1f07c3930e8bafbc395e75
Reviewed-by: David Redondo <qt@david-redondo.de>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
According to QUIP-18 [1], all tools files should be
LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
[1]: https://contribute.qt-project.org/quips/18
Pick-to: 6.7
Task-number: QTBUG-121787
Change-Id: I9a08423046dd325dd267d2390faf8d2eb0c76315
Reviewed-by: Kai Köhne <kai.koehne@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Generate source code without information about original location of the
source file. Useful for reproducible builds.
Task-number: QTBUG-105926
Task-number: QTBUG-105913
Change-Id: I5f9b3f90e6e85c772a92425e7b796a9d63c3c713
Reviewed-by: Ari Parkkila <ari.parkkila@qt.io>
Reviewed-by: David Edmundson <davidedmundson@kde.org>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Using public-code by default is problematic if multiple libraries
contain wayland interface definitions generated with public-code
which exports the symbols of the interface definitions from the
library. If not all libraries are build against the same protocol
version and the symbol is resolved to a version generated from an older
version of the protocol, then libwayland will detect a protocol error
if a request or event from the newer version is used.
This introduces two new options PRIVATE_CODE and PUBLIC_CODE to
qt6_generate_wayland_protocol_client_sources which correspond to the
wayland-scanner options. For backwards compatibility PUBLIC_CODE
is the default.
Change-Id: Ia30ec4b83419962b768207d7353c495e11b0268e
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The names of the files that wayland-scanner generates are based on the
protocol file name not the protocol name that is defined in the xml.
When those two mismatch qtwaylandscanner would generate code that fails
to build.
Pick-to: 6.7
Change-Id: Ieecd7a122177530ab1ff890367ce53809a8bb7b9
Reviewed-by: David Edmundson <davidedmundson@kde.org>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
`toUtf8().constData()` on a null `QString` results in an empty
string sent over the wire, which is distinct from `null` when
the request has "allow-null" specified.
Notably `wl_data_offer.accept` uses a null mime_type for
"not accepted".
[ChangeLog][Important Behavior Changes][qtwaylandscanner] String
arguments in a request will now send null rather than empty string
for a null QString if the argument is declared with "allow-null".
Change-Id: I4b78246e4da7b60680d7797fd6309755f44d2bb6
Reviewed-by: David Edmundson <davidedmundson@kde.org>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This updates only the protocol definition, implementations
will need additional commits to opt into using them.
The upstream XML specification changed in a way that requires newer
libwayland to generate without warnings in strict mode. To support older
setups the strict argument to wayland-scanner has been removed.
Change-Id: I265a9e208bbf107895b493b952d65f6178ac76e7
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The generated helper function wlRegistryBind() clashes.
Pick-to: 6.5
Task-number: QTBUG-109394
Change-Id: Ib814d4576c7565b0413ca16bc0bf5e95caa92c33
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Some macros are missing DEPENDS for add_custom_commands
Fixes: QTBUG-108142
Change-Id: Ifacb2ea9bf3003c10dd407a8c77fc06b893b6a65
Reviewed-by: David Edmundson <davidedmundson@kde.org>
|