| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
Q_ENUMS() and Q_FLAGS() are deprecated in favor of Q_ENUM() and
Q_FLAG().
Pick-to: 6.5
Task-number: QTBUG-113229
Change-Id: I715f0eded2fbd62611b381e560f7f6548f797d45
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
| |
Task-number: QTBUG-113160
Pick-to: 6.5
Change-Id: I9ef083bb4274b75c6c5d3727978eeab19517e9cb
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It takes the name of the function, not of the script name so use the
scriptForFunction helper to find the QAxScript object that provides
access to the function.
The previous code implies that this should work for both function names
and for full function prototypes, so implement that correctly and
without allocating too many unnecessary temporary objects.
Update the test that is now passing to cover all scenarios.
Pick-to: 6.5
Change-Id: I939942cc805a56212d70b1a12b95aaa4b2f64d59
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Qt knows about QVariant as a built-in meta type, QMetaType::QVariant. It
is no longer mapped to user type. COM objects expect that untyped out-
parameters, which are mapped to QVariant& by ActiveQt, are passed in as
VT_VARIANT|VT_BYREF.
Update our variant-conversion logic accordingly. If the typeName, which
comes from the generated function signature, is "QVariant", then
QMetaType::fromName(typeName) will always be QMetaType::QVariant, and
had to be passed as VT_VARIANT.
Fix the logic for deciding whether we have to write back the out-
parameters so that it works when QAxScript::call is used. We need to
write back no matter whether it's a property or a getter, so check
whether any bit is set, not if both are set.
Add some test for this. Not cherry-picking this further back, the
auto-test coverage of ActiveQt is not good enough to make sure that we
don't break any subtle usecases in e.g. QAxServer, and the usage of
QAxScript does not seem to be very wide.
Fixes: QTBUG-111718
Pick-to: 6.5
Change-Id: I239f71c3637ea9f32dff5123a8ada96e0a894371
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
| |
Pick-to: 6.5
Change-Id: I58f444023e955dae4cb93b8265481a231bd40bf0
Reviewed-by: Karsten Heimrich <karsten.heimrich@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
QDoc's Clang-based parser gets confused if WINAPI is not defined,
causing it to fail to match documentation blocks with declarations
in the header.
Pick-to: 6.5
Change-Id: I222c085c03bdb9e7361b055b8c2371ef4c9c6a38
Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
|
|
|
|
|
|
|
|
| |
Pick-to: 6.5
Task-number: QTBUG-109394
Change-Id: I11c1f93360bc07980636b32c65e7b99095e4f2d9
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
| |
Use the new headers to get the Windows image conversion functions.
Pick-to: 6.5
Task-number: QTBUG-109394
Change-Id: I34cc05865c1fa1305a1cbca96a0c47525288639c
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
|
|
|
|
|
|
| |
Pick-to: 6.5
Change-Id: I1e1a376363224b88354da3e30fcea877f0e82f41
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
|
|
|
|
|
|
|
| |
Pick-to: 6.5
Task-number: QTBUG-109394
Change-Id: I362a7bb24e23a30e49ffb80422573dca8562e87c
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
QApplication construction with argc=0 is incorrect according to the doc.
The construction pattern is furthermore causing problems in QtWebEngine,
which is expecting the executable name as first command-line arguments
as reported in QTBUG-110157.
Fix problem by using the Microsoft-specific __argc and __argv globals.
This ensures that the actual command-line arguments are used for
QApplication construction.
Pick-to: 6.5
Task-number: QTBUG-110158
Change-Id: Ib8e6ac7a1c24cfabfdafe8489fe8b8c4765753fd
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The C toupper function is locale-dependent. Given the right locale
(Türkiye, e.g.), toupper(i) is either
- İ (LATIN CAPITAL LETTER I WITH DOT ABOVE; if representable) or
- i (unchanged; if it isn't)
Both results are wrong for the use-cases at hand.
Task-number: QTBUG-109235
Pick-to: 6.5 6.4 6.2 5.15
Change-Id: Ia9726f0079c5f2625d97a341836b3d4505db6be1
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Samuel Ghinet <samuel.ghinet@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
TestCon already support starting OLE controls in a "regular" separate
process and in a low integrity level (low IL) process. This commit will
extend QAxWidget::setClassContext and the impersonation support to also
allow starting OLE controls in a AppContainer-isolated process for
enhanced security sandboxing.
Pick-to: 6.5
Task-number: QTBUG-109184
Change-Id: I525e99ba6934025710bbc97fba0045d0358413b7
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
Use the new NO_HEADERSCLEAN_CHECK option instead of disabling the
corresponding feature.
Amends 5ba16f1d2590041254e428cbf3c20226df73fc61
Change-Id: Ieed063eb5178f6875a1e0afb71c18f36e7870261
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In case if no rc file is present in the sources of a target that
has qt6_add_axserver_library called on it, the build would fail
with unknown command when trying to run the "echo" part of the
command.
This happens because cmd.exe interprets the echo and its argument as a
single argument, despite the space between then.
Use $<SEMICOLON> in conjunction with COMMAND_EXPAND_LISTS to ensure
the echo and the argument that follows it are split.
Also remove the extra quotes which are not needed.
Tested to work with powershell and cmd.exe with
CMake 3.16.9, 3.17.4, 3.18.4, 3.21.2, 3.24.2.
Amends 2b8681267a1f79734b379b7d7776c520de7be5b5
Pick-to: 6.4
Change-Id: If81f7f6947e35709ce4cf1a0333247fb238cf73a
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When using CMake 3.24 to build qtactiveqt with in-tree examples, the
build would fail with
'C:/Users/qt/work/qt/qtactiveqt_build/bin/Debug/idc.exe'
is not recognized as an internal or external command,
This seems to happen due to a combination of things:
- using CMake 3.22+
- Windows -debug-and-release (Ninja Multi-Config)
- excluding the idc tool debug variant from being built with
EXCLUDE_FROM_ALL as part of a regular qt_internal_add_tool call
- using add_custom_command(POST_BUILD) instead of (OUTPUT)
- using $<TARGET_FILE> generator expression in the command
instead of just the target name (due to having to prepend
an environment setting shell script)
Fix this by wrapping the relevant $<TARGET_FILE> arguments in a
$<COMMAND_CONFIG> generator expression, similar how it was done in
97b1062674283afb0131e73d8319c95aa7087a8b for qtdeclarative.
Note that in one case, we split the $<IF> expression into
sub-expressions, and wrap $<TARGET_FILE> in $<COMMAND_CONFIG>
only for the tool path, because $<COMMAND_CONFIG> can only wrap the
outer-most generator expression in an argument, according to
the docs, and we don't want to apply it to the target and output
tlb file.
Pick-to: 6.4
Task-number: QTQAINFRA-5044
Change-Id: Ib5daa3b7c7d40761a42e5772add69c700752a6e6
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
|
|
|
|
|
|
|
| |
Pick-to: 6.4
Change-Id: Ic62239033a5a291b7b33b2add460089e4302b8f2
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
The win32com python package calls IDispatch::Invoke for property
setters with GET|METHOD flags, but only in-parameters set. Recognize
that and add the PUT flag to indicate the special case, which allows us
later tolerate such calls when unwrapping the in-parameter.
Task-number: QTBUG-106024
Pick-to: 6.4
Change-Id: Ia49bd0fb575f50a7a8c1f9d5f1bc09b3547256fb
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
A QVariant initialized from a QMetaType is valid, but null, so in case
of pointer return types we didn't update the QVariant that would then be
written back into the return value.
Always write back if we have previously recognized that we are dealing
with a pointer return type, indicated by argv[0] pointing at the
argv_pointer array.
Task-number: QTBUG-106024
Pick-to: 6.4
Change-Id: Ic1bd258b006746e0233c09fe68842bdeefdfc84f
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
As suggested in report, do the same for VT_UNKNOWN.
Pick-to: 6.4
Fixes: QTBUG-106014
Change-Id: I09ecd5895a0caa409eed237e551af2a1fafdad00
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
ActivetQt module supposed to hold all header files from all modules
in repository. New syncqt procedure requires all header files that
belongs to a module are listed in respective SOURCE section of either
qt_internal_add_module or qt_internal_extend_target calls. Meanwhile
the usability of ActiveQt module is quite questionable, since by
linking the module users will get access to the header files from other
submodules, but the use of corresponding non-inline functionality will
lead to a linker errors.
Fixes: QTBUG-107089
Change-Id: I163a748eb756c805c34dbd477e140ba21ba02c1f
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We've been requiring C++17 since Qt 6.0, and our qAsConst use finally
starts to bother us (QTBUG-99313), so time to port away from it
now.
Since qAsConst has exactly the same semantics as std::as_const (down
to rvalue treatment, constexpr'ness and noexcept'ness), there's really
nothing more to it than a global search-and-replace.
Task-number: QTBUG-99313
Change-Id: I7d7d21564161807692941b12085686711583d556
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
| |
Task-number: QTBUG-105718
Change-Id: I7cf0f0a98984e5ec6c1edb30f6ba979305c344f4
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We disable this headersclean check this way, since syncqt adds the
header files from the subdirectories to the ActiveQt module. This
triggers the headersclean rules creation and execution, but they
fail because ActiveQt module doesn't link the necessary libraries so
their compile flags and include directories are missing.
We cannot simply link libraries because the missing include directories
belong to the AxServer and AxContainer modules which have conflicting
object files and cannot be linked in the same time.
Change-Id: I7b8cc40dc920d1f2d436bededb76c8ff270bbc6d
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Using QAxBase::axBaseMetaObject results in usage of the dynamically
queried COM object whenever it is used. This behavior is not always what
we want though. If a type library was queried for its interface with
dumpcpp we should use the information from the resulting h and cpp files
and do not operate on the information given by the COM object. The files
generated by dumpcpp will override the virtual metaObject function.
By using QObject::metaObject instead of QAxBase::axBaseMetaObject we
make sure that:
a) Dynamically queried information is used if no overload has been added
by dumpcpp. This is the case because QAxWidget::metaObject and
QAxObject::metaObject return QAxBase::axBaseMetaObject. So the
functionality there does not change.
b) If dumpcpp was run on a type library the types in the code generated
by dumpcpp will overload QObject::metaObject. In this cases we will only
use the information from dumpcpp runs.
With the previous approach it was possible that we run into issues if
there are inconsistencies between a user's type library and the actual
COM interface. If a function was available in the COM interface but not
inside the type library definitions that might have thrown off ActiveQt
which resulted in calls of wrong versions. This regression (it worked as
expected in Qt5) is fixed by this patch.
Pick-to: 6.4 6.3 6.2
Change-Id: I1af5ecb81f0c4ce0dc1e899cc3f019ebee575f4b
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
CMakeLists.txt and .cmake files of significant size
(more than 2 lines according to our check in tst_license.pl)
now have the copyright and license header.
Existing copyright statements remain intact
Task-number: QTBUG-88621
Change-Id: I07739807abcf7d8f305bb17cfdc6edefba49a2b1
Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
Forward-declaring enums causes problems with the moc-generated code.
Introduce a variable to qaxbase storing the preformatted value string.
Task-number: QTBUG-100145
Pick-to: 6.4 6.3
Change-Id: I500353d9788e3ea20bf1cc64172ca1b640976e5e
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
There is code that redirects QStatusBar messages to IOleInPlaceFrame.
It should not trigger when the statusbar has widgets. Add a helper function
to check this.
Fixes: QTBUG-99294
Pick-to: 6.4 6.3
Change-Id: I6854f3774bc6c31e6f184cc5b677419867011326
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
Replace the current license disclaimer in files by
a SPDX-License-Identifier.
License files are organized under LICENSES directory.
Pick-to: 6.4
Task-number: QTBUG-67283
Change-Id: Ibdefc58cad3b83d0d117fc333de76ccb5177a621
Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
| |
Fixes
qt5/qtactiveqt/src/activeqt/doc/src/activeqt-index.qdoc:38: (qdoc) warning: Can't link to 'Build with CMake'
Change-Id: Ied3fad173093de982cada3b70abf2f340a9a1a01
Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
|
|
|
|
|
|
|
| |
Task-number: QTBUG-100369
Pick-to: 6.3 6.3.0
Change-Id: I0dbd1cdca5e9a0ec244656f3306ac988c111b0b4
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
This change is driven by the deprecation of (some) container count()
in favor of size(), so the int/qsizetype fixes are limited to the
vicinity of count()/size() replacements.
Pick-to: 6.3
Change-Id: If6606c9d4aec9bd1cf361efe8ffdf349ac031e79
Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Started with this, but decided that this is too much work for me to do
now.
Fixes int/qsizetype mismatches, though, so backporting.
Pick-to: 6.3
Change-Id: I4b07118f99d8ac9c35c46e94bc832b903446782d
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
|
|
|
|
|
|
|
| |
Pick-to: 6.3
Change-Id: Ie4c28aae4d706db1e6170acaec6d1702cb69d1c5
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
| |
Fixes a regression introduced in commit 07ab2d0b.
Pick-to: 6.2 6.3
Change-Id: Icda18ae6c25d5e5d35e3d1c364ba8d3637e6f4d0
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
| |
This option will use the control name instead of the UUID for
setControl() in the generated cpp file.
Change-Id: Ib100a53647a3c514bb6fa012268a821c70061079
Reviewed-by: André de la Rocha <andre.rocha@qt.io>
|
|
|
|
|
|
|
|
|
| |
In preparation for MinGW update.
Task-number: QTQAINFRA-4525
Pick-to: 6.2
Change-Id: Ifc7d3f4979167acf935b74363677ab509b92840d
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
Call qt_internal_return_unless_building_tools() directly after
qt_internal_add_tool() to avoid having to special-case code for when
this function only creates imported targets in cross-builds.
Task-number: QTBUG-85084
Change-Id: I04b1f313828d611143c252a5f515f678298de91b
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
|
|
|
|
| |
We don't use qmake anymore. Anyhow, there's nothing particular
anymore about building qtactiveqt. So let's just remove these bits.
Pick-to: 6.2
Change-Id: Ia37f49a3f94fc58894625e2bf6d0dc6d20076aaf
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit d7cb318f41686f7a43f67d8af0b0539b9dd8f78c.
Macros add another level of escaping that functions do not. The
conversion of the versionless wrappers to macros may alter the
behavior, so revert that change.
Task-number: QTBUG-96219
Pick-to: 6.2
Change-Id: Ic0df7dc9f9fd2893ed14037ffa0cc4ab57aee4d6
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
customFilters defined in .qdocconf are not supported anymore by Qt
Assistant since Qt 5.13. Therefore remove them from all .qdocconf files,
also to avoid cargo-culting them to new help modules.
Task-number: QTBUG-95987
Change-Id: I811db83a83941cb965cbe26dbac123212cc7eb91
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Using function instead of macro prevented the wrappers from being able
to pass back any variables set by the wrapped function in the calling
scope. Prefer macros to avoid future changes which might do this from
silently swallowing such variable setting.
Task-number: QTBUG-96121
Pick-to: 6.2
Change-Id: I77f924009b2eae41d89fdc09a2b72eece0937f09
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
CMake doesn't support regex quantifiers, so need to multiply the number
of hexadecimal numbers manually in UUID regex.
Add missing LIBRARIES argument to qutlook example.
Fixes: QTBUG-95407
Pick-to: 6.2 6.1
Change-Id: I3f3da1e29fe524ed7f03b3764de9139c4fc13a5b
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
Rename SKIP_AX_SERVER_REGISTRATION argument and
QT_SKIP_AX_SERVER_REGISTRATION variable to follow common naming
covention.
Pick-to: 6.2
Fixes: QTBUG-95184
Change-Id: I43c3c64bfae575903d48643ae7a9b4be99152693
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
|
|
|
| |
Pick-to: 6.1 6.2
Task-number: QTBUG-94581
Task-number: QTBUG-88763
Change-Id: I09d310d619f8e501c7676a1389d33557c3160984
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
|
|
|
| |
Rename internal modules to adjust their name to the internal module
policy.
Change-Id: I4a50a5329462d743a90e7f6e6a0fd707a3497ad4
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
Amends qtactiveqt/81139fb65dd2dd2713029c0fea3b42d0c7bbad79 .
Pick-to: 6.1
Fixes: QTBUG-93944
Change-Id: I687d95659fbcbd38df38976fae98c2a9c615c4a6
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
| |
This approach makes possible to avoid a DEFER CALL usage to
link the generated .tlb file to the ActiveX server.
Change-Id: If74c7b96a9902fa68eff83503691faa4bf730b0b
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
dumpcpp supports generating of the sources using the type library UUID.
Add syntax that provides this functionality to the qt6_target_typelibs
users.
Modify the qutlook library to use the new syntax.
Amends da3a24c06541b63011a3af91fbae9f9d2ec28912.
Pick-to: 6.1
Fixes: QTBUG-93446
Change-Id: Ic0b657bd39f57d32c3d404bee395f4f375a6d7f8
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
| |
Change-Id: I3994594b64869d24a1eb24c3c5cbcbe9fba6e5ac
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|