| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| | |
Change-Id: I78bace9fbc5e8f19bf345ce3f978826507672227
|
| |\
| | |
| | |
| | | |
Change-Id: I87da005aa528af30856e077769463c3c7e1ca18b
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The occurred in 3 places, one of which generated #error and the
others used qFatal(). Change it to always generate #error with
a bit of context to make it possible to detect the source of
of the problem.
Change-Id: Icd93b1beec908b57fa72457d6ec1e16a15e5ff14
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Extend TypeRejection accordingly.
Task-number: PYSIDE-516
Change-Id: Ibf97f3c16498b26e63f4bde5b0ae21acc3dd0c44
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Refactor TypeRejection to use one regular expression for
the class name and one for the various strings to be matched
depending on the match type enumeration instead of 4 fixed
string fields.
Task-number: PYSIDE-516
Change-Id: Ifb945e3be39fbedfd802c4d32de7de443cf53f49
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
In AbstractMetaBuilderPrivate::traverseFunction(), store the
unmodified signature with return type before resolving typedefs for
the messages. Extend the error messages about parameters and output
them to qWarning() and rejection logs consistently.
So:
Unmatched argument type
- QOpenGLExtraFunctions::glIsSync(GLsync) -> GLboolean
becomes:
Unmatched argument type
- GLboolean QOpenGLExtraFunctions::glIsSync(GLsync): unmatched type 'GLsync' in parameter #1 "sync"
Task-number: PYSIDE-516
Change-Id: Ifd680af1cd6d403d9b73ba3e40d06abe274cf359
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Check LLVM_INSTALL_DIR, CLANG_INSTALL_DIR and llvm-config
and make messages more verbose.
Task-number: PYSIDE-323
Change-Id: Iaff24d7c80853f381d227ebdccbb3abc4497a199
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|\| |
| | |
| | |
| | | |
Change-Id: I55f0c07e3e17231e68c9b9a8bd26cdf9470f757c
|
| |\|
| | |
| | |
| | | |
Change-Id: I609232c2b63a01c83ca8e3abe4d6c3d191d397b2
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
For a long time, headergenerator.cpp did only generate destructors,
when the following condition was set:
if (!avoidProtectedHack() || !metaClass->hasPrivateDestructor()) {
// generate destructor
}
The condition does not work for C++11.
When trying to remove the protected hack, I remembered that
I used an ugly CMake trick to make VS 2015 work. This hack
provided exactly the missing destructors.
I tried very hard to make this hack into a patch for Linux and
macOS, too. Unfortunately, when built without the protected hack,
Clang enforces a destructor declaration, but then the linker reports
an unresolved symbol. I have found no way to circumvent this.
Conclusion: Unless we find a way to make Clang work correctly,
we have to leave the protected hack as-is on macOS.
But then, the whole effort of hack removal makes no more sense.
Fortunately, the ugly work-around on Windows is gone, now.
So this change involves shiboken and PySide, and probably the one
will not work without the other.
Task-number: PYSIDE-504
Change-Id: I92b372c15fd2a4280a249de4c099eeb1f18fedd3
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|\| |
| | |
| | |
| | | |
Change-Id: Ia2e1960fcf0b5c87e99adfc710b97f72b6cc7dc8
|
| |\|
| | |
| | |
| | | |
Change-Id: Icb174588038f02582b395529bffc98f50e91e141
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
CMake documentation recommends ordering find_package(PythonInterp)
before find_package(PythonLibs) when both are called.
Change-Id: I582e1d2631f78bb0b9c864acf189ca5e50d976c5
Reviewed-by: Christian Tismer <tismer@stackless.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: Ie8cdf451380a56bea4b23e3d08953f8c7690c95e
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|\| |
| | |
| | |
| | | |
Change-Id: I7d2d0be168d55ffe9bf368f130d1407992be9d1c
|
| |\ \ |
|
| | |\|
| | | |
| | | |
| | | | |
Change-Id: I91104b0228146de235e1bdb879d016358da4c19a
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Defining noexcept as empty leads to a compile
error when including <map> of VS2015/U3.
Introduce a macro PHOTON_NOEXCEPT and also enable
it for VS2015.
Amends change 6c44bbf45124973e8f1a8c35fb28f0537274a794
Task-number: PYSIDE-324
Change-Id: Ie3157f6e62c8e3fe443842513983582edf491d18
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This patch changes a logical error, only.
The mentioned patch is relevant only when the “protected hack” is _not_ applied.
Maybe this will change again, when I evict the protected hack, so feel free to
use this change or ignore it.
Task-number: PYSIDE-500
Task-number: PYSIDE-331
Change-Id: I58c2b211f71786e613e18ea99c62f0fac337ce14
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
For QtMultimedia, the QMediaPlayer::setVideoOutput() overloads
require including QtMultimediaWidgets' typesystem to make QVideoWidget
known. This caused an endless recursion including QtMultimedia's
typesystem.
Fix by
- ensure modifiedTypesystemFilepath() always returns an absolute path
even if the file exists so that it is always matched in
m_parsedTypesystemFiles
- Insert current file into m_parsedTypesystemFiles at the beginning
of parseFile() to detect recursion early on.
Task-number: PYSIDE-487
Change-Id: I7110c9f1bf144b82a14282e94b894bfb0522ba58
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
| |/ /
| | |
| | |
| | |
| | |
| | | |
Change-Id: I46f957168ed3d24183d0102a687a3b693f2782c9
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: I64bf848858fa07a27fc357d83ff99c8d3f94ba91
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|\| |
| | |
| | |
| | | |
Change-Id: Iac998ef8add109fd58e486d9b9a04f7d3990c022
|
| |\|
| | |
| | |
| | | |
Change-Id: I3000fca52e7447c2b53b07a0aca8edc24aa903cb
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This patch is augmenting the general fix. We had not tested the case
with “#define AVOID_PROTECTED_HACK”. This setting can be used
under Linux and macOS, but is necessary under Windows, because the
recent MS compilers do not allow the setting “#define protected public”.
Therefore, certain special cases had to be circumvented by wrapper type casts,
and a few more header files were needed.
This patch was not tested on Windows, but built on macOS with
the mentioned setting.
Exhaustive tests can be found in PySide. They are now working as before.
Task-number: PYSIDE-500
Change-Id: I9c46d0f181f810879dc75326f2cf39fd2ec853f3
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Also allows for removing Module::init() since empty/
deleted keys no longer need to be set.
Change-Id: I83521833618d962d6faace7a7c9297916c195a4b
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|\| |
| | |
| | |
| | | |
Change-Id: Ib3be5d174442af28a36b51a715c347c245706264
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
AbstractMetaEnumValueList::find() was not used, change the
class into a typedef QVector<AbstractMetaEnumValue *>.
Change-Id: I5f9f2a4b088c61c0b8fc53da1a681bb4cb02d99d
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|/| |
| |/
| |
| | |
Change-Id: Ie57d0be4d518e13c6cd69a84e46e8bdacc122524
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This patch is the third stab at fixing the inheritance of PySide.
The problem is now solved.
Inheritance was already correct when the functions were disjoint.
But as soon as a function existed in both a class and a sub-class,
only the class has won, and the sub-class was ignored.
This patch fixes that problem. There are 49 new functions, and
of course there is QApplication.palette() without an argument.
Function ‘searchForEnumScope’ was now corrected, so that the
work-around no longer was needed. I had to extend its search.
It turned out that the same fix for inheritance was also needed for
a correct listing of the allowed function signatures. I finally factored
out a new function that is used twice.
Exhaustive tests can be found in PySide with the same name.
Task-number: PYSIDE-331
Change-Id: If3d7d94f6ed351b5de03e26c9e3e65cf4a5f8ed7
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This allows building Shiboken in any configuration (debug or release)
against any version of a Python interpreter (debug or release).
Previously specifying --debug forced the user to use a debug version
of the Python interpreter.
The patch also removes an unnecessary cmake file, which was used
in the past to find the location of Python libraries. This has
been handled by CMake itself for a while now.
Change-Id: I70edcdfee5fde246c1c41cd5b36353cc18aa9bdd
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
| |
| |
| |
| |
| |
| |
| | |
QList will be deprecated in Qt.
Change-Id: I7b1aea46f800908d775aca2610a2215e164c308e
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
QList will be deprecated in Qt.
Split out a new header typedatabase_typedefs.h with typedefs from
typesystem_typedefs.h.
Change-Id: I15fc1f7edcdc682c32b2e9b935858681e02d35c6
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
| |
| |
| |
| |
| |
| |
| | |
QList will be deprecated in Qt.
Change-Id: I82c997366736c1f976b142cb142da39976736f49
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
| |
| |
| |
| |
| |
| |
| | |
QList will be deprecated in Qt.
Change-Id: I43e2d1b7c8fb462c82250bb59ec88375515deb9f
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
| |
| |
| |
| |
| |
| |
| | |
Port most QRegExp to QRegularExpression.
Change-Id: Icb551f16e97c409fc979c1caa10f6496248202b2
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
| |
| |
| |
| |
| |
| |
| | |
foreach will be deprecated in Qt.
Change-Id: I8b3398bb543056de6dd11d18977928ae719819a2
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: I5d4f586301ce38a92bc9c3b365af0916df7d0663
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
| |
| |
| |
| |
| |
| | |
Task-number: PYSIDE-323
Change-Id: I4a144d660fd08b75fa3c8b4bfca57213819f00a6
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|/
|
|
|
|
|
|
|
|
|
| |
Simple macros are not expanded by Clang, so, qualifying them
should be avoided. The code has been observed to trigger for
"ULONG_MAX", "USHRT_MAX" and "GL_UNSIGNED_SHORT".
Task-number: PYSIDE-323
Change-Id: Ic5c3a0c6e7e4c78b2d62e032e4172702b357eb68
Reviewed-by: Christian Tismer <tismer@stackless.com>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
The repeated construction of a QRegExp in loops
shows up in the profiler.
Change the API to accept a QString and store the regular
expressions in a vector.
Change-Id: Ic7ac7cdcd55beb901116589083f87c87fb48a4dd
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|
|
|
|
| |
Change-Id: I27196d4f5be0257e3ab87c291e4ecb6ff234a505
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|
|
|
|
| |
Change-Id: Iafb5d014f9f33591aebf0ab4b99e3e6942a4d51a
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|
|
|
|
| |
Change-Id: I0597f4c4f2eb0e8d4979690eeb1f17d78cf4e619
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|
|
|
|
|
|
|
|
|
| |
bool: false
Other primitives: int(0)
Flags: Flags(0)
Enums: static_cast<Enum>(0)
Change-Id: Ic24c2d95106682508c58c78d873137f8a91bc3f8
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
The repeated construction of a QRegExp in the version checking
loop shows up in the profiler.
Change the API to accept a QString, reducing conversions and
remove obsolete API.
Port the version checking code to use QRegularExpression and
QVersionNumber and store the regexps in a vector.
Change-Id: Id3e509e065d73699f49109df1f184edbefb8a09a
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit works around some bugs where multiple/incorrect
wrappers were registered for some types:
- In cases where the first field of a class was itself a Value
type instance (instead of pointer), both the parent
and child wrappers had same cptr address, causing confusion
in retrieveWrapper. Previously, this was worked around by always
creating a new wrapper for all Value type fields on every access,
causing leaks. We now check for colocated child wrappers and
return that instead of creating new wrapper, so each Value type
subfield need only have one wrapper.
- Some cases of incorrect wrapper registration due to an existing
wrapper which shiboken could not figure being deleted are fixed,
specifically cases where the newly registered wrapper is from
object created in python or owns its wrapper.
- Do not release incorrect wrapper in case of address reuse
by checking that the registered wrapper is indeed the wrapper
being released.
Task-number: PYSIDE-217
Task-number: PYSIDE-224
Change-Id: I019c078566c4b9b90e63c5d991e2e372d39c632a
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change introduces a new XML tag called smart-pointer-type which
currently only supports implementations of C++ shared pointers.
This allows using objects pointed to by a shared pointer inside python
code.
There is one known limitation at the moment. Python shared pointer
objects are only created as a result of using C++ API with shared
pointers in the method signature (either the return type or argument
type). Thus is it is not currently possible to instantiate shared
pointer objects directly, e.g. p = ModuleName.SharedPointer() will
not work.
Task-number: PYSIDE-454
Change-Id: Iacf9fcc8613fbf9bd94e179169d78da8aac58f45
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|
|
|
|
|
|
|
| |
Currently happens with Clang 4.0 for operator! for Point[F].
Task-number: PYSIDE-323
Change-Id: I212d107ce15dc98b400e898181655abdebdfc848
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
The function is called from the XML parser as well as with
strings from an imported file.
Change the function to be a template taking a QString/QStringRef
and add necessary overloads to the setters.
This prevents newlines and unused content in the XML files
from unnecessarily being converted to a QString.
Change-Id: Ifbac37c9099d799a8a334f46f78050dcbd52fad1
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|