| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Replace the QMap of options returned by the generators by a vector
of pairs to allow for specifying the order. This allows
for better formatting -I/-F/-T in multiple lines.
Add -h for help.
Move the missing typelib file handling into main and print a help hint
there.
Change-Id: I5a95bd8d193be012aaa7ce3934945b25e21d3f79
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|\ \ |
|
| |\|
| | |
| | |
| | | |
Change-Id: I73f39966a2af7aa935e1890e29c9b71573aae97c
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Try to recreate the .so version symlinks correctly on Linux
instead of copying the files.
Task-number: PYSIDE-526
Change-Id: I3b015efe4f2f57abe418f171a8631d194ed08f65
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
PySide itself built fine after the additional includes were added for inheritance.
But when a smaller project is built, suddenly header files are not found,
because the inherited names are not expected by the deployment.
Therefore, we do no longer add more includes, but insert recursive headers
for the few relevant cases. So the includes become a little longer, but the
names of the include files are those as before the enhanced inheritance.
Task-number: PYSIDE-500
Change-Id: Iab456307a3c2365dfe1964dbe222b7d0efac7878
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
autodecref.h(110): warning C4522: 'Shiboken::AutoDecRef': multiple assignment operators specified
autodecref.h(78): warning C4800: 'PyObject *const ': forcing value to bool 'true' or 'false' (performance warning)
conversions.h(282): warning C4800: 'long': forcing value to bool 'true' or 'false' (performance warning)
basewrapper.cpp(625): warning C4800: 'int': forcing value to bool 'true' or 'false' (performance warning)
basewrapper.cpp(654): warning C4800: 'SpecialCastFunction': forcing value to bool 'true' or 'false' (performance warning)
basewrapper.cpp(1014): warning C4800: 'Shiboken::ParentInfo *': forcing value to bool 'true' or 'false' (performance warning)
basewrapper.cpp(1044): warning C4800: 'void *': forcing value to bool 'true' or 'false' (performance warning)
helper.cpp(56): warning C4244: 'initializing': conversion from 'Py_ssize_t' to 'int', possible loss of data
shibokenbuffer.cpp(46): warning C4800: 'int': forcing value to bool 'true' or 'false' (performance warning)
Change-Id: If1517fde8e7670f258a56f6d845a66ebb3d82141
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|/ /
| |
| |
| |
| | |
Change-Id: I686308207c03de2216cd6a5143b2c66f3014a896
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Previously, shiboken2 accepted path arguments of the format
--option=path1;path2 using the native OS separator character.
This poses a problem when writing cross-platform .pro files
for applications.
Refactor the code to allow for the options to occur multiple
times on the command line and introduce short-hand options
-I, -F, -T for includes, framework includes and type system
paths to reduce command line length.
Task-number: PYSIDE-526
Change-Id: Ice540cbffeb01841988a99fdeb84bb7ba969ed79
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
It is required for shiboken's ApiExtractor tests.
Move subroutine detectClang into utils.py
for usage by testrunner.py/setup.py.
Task-number: PYSIDE-431
Change-Id: I9f1984ea9fc9857ad3e7fddf621884fdc96ef52f
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|\|
| |
| |
| | |
Change-Id: Ia6485d1b1caa93c4ecdd02b0544f19d197a43fb0
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The test was failing since the method
TestView::setItemDelegate(QAbstractItemDelegate *) was rejected
due to QAbstractItemDelegate being unknown.
Fix by adding the dependency to QtWidgets.
Task-number: PYSIDE-431
Change-Id: I65c3690eccfdd55b310f45d65a2b0d8c32bedd36
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
They contain outdated links and are no longer required after the
repository merge.
Change-Id: I6867435bcd1bbe53308dea1d9d8c1ba1a0fc0584
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Previously, libpyside.so would not match .so.* and so, the
libraries were not copied.
Task-number: PYSIDE-526
Change-Id: I407db564beaee1f443dc7b816bc0bf798c8aacf1
Reviewed-by: Christian Tismer <tismer@stackless.com>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
|
| |
| |
| |
| |
| |
| | |
Task-number: PYSIDE-431
Change-Id: I35594dbf7dc6430ab5d0a2d235303f2bb7bd3677
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When mixing Python and C++, Qt needs to be used with 'CONFIG += no_keywords'
to suppress the 'slots' macro definition, which clashes with a Python header.
Task-number: PYSIDE-526
Change-Id: I4feeae2de21db712b4de6653e243d556623436a1
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
| |
| |
| |
| |
| | |
Change-Id: I781418f8747d51a0d329c0562e076600989b3768
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
LLVM_INSTALL_DIR is now preferred. Also, adding it to the
path is no longer required on Windows.
Change-Id: Ibc1a12042845563a2e776dc5cc03525206189a58
Reviewed-by: Liang Qi <liang.qi@qt.io>
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
There is an old error in QtWebEngineWidgets which was never detected
before we switched to the new parser.
QWebEngineHistoryItem is an object-type, not a value-type.
Change-Id: Id8ce323129985f4ab08cf3b81a15e3a9690649ad
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
The version must be since 5.8, not 5.9.
Found because I build with homebrew Qt 5.8
Change-Id: I53b5235000ce6fb8dfea75224ca2a05daed826b4
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| |
| |
| |
| |
| |
| | |
Task-number: PYSIDE-487
Change-Id: I742d0fe52da22a06ca04069b6e0094d1913cc187
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Change AbstractMetaBuilderPrivate::traverseFunction() to consistently
return 0 if something does not fit. Previously, functions with
half-parsed arguments with the invalid flag set were returned. This
caused strange side effects since the flag was not checked in
all places.
The only relevant information is whether some constructors were
rejected. In that case, no default constructors or default copy
constructors should be generated. This is now determined
by checking the code model function item; the attribute
HasRejectConstructor is introduced for this.
This fixes:
- Make it possible to reject the QTextStreamManipulator
constructor taking a function pointer without having
a default constructor generated:
typedef void (QTextStream::*QTSMFI)(int);
QTextStreamManipulator(QTSMFI m, int a) Q_DECL_NOTHROW
- Implement QtCharts whose class QAbstractSeries has a rejected
constructor.
Change-Id: I6310574ba677dac20699f257340d2c2a55674353
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
| |
| |
| |
| |
| |
| |
| | |
Expand CodeModel::FunctionType accordingly.
Change-Id: I2759f45e4c60f36d4583b1c475c4c2df1e00ace6
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|\|
| |
| |
| | |
Change-Id: Iae075ebf8614dd016166bcb5f105f695e7dc3de2
|
| |
| |
| |
| |
| |
| |
| |
| | |
Remove the former submodules pyside2/shiboken2 from
the modules lists.
Change-Id: I41de78f5519c24cce1e649eaf3b2f2d1cabcc9b0
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
| |\ \ |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
in preparation for a subtree merge.
this should not be necessary to do in a separate commit, but git is a
tad stupid about following history correctly without it.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Crash happens because of an use-after-free error. This is a bandaid
fix transforming the crash into a memory leak. Proper fix will
require more investigation and time.
Task-number: PYSIDE-488
Change-Id: I56358573ca60d6f18fd85fbd7eb3eb0da8fbf163
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
in preparation for a subtree merge.
this should not be necessary to do in a separate commit, but git is a
tad stupid about following history correctly without it.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The QML private API variable should be defined even when no QML module
was found, because it is used for substitutions in
signalmanager.cpp.in.
Change-Id: I46dd1605d10b12836ea35441fccf6ef68a22925e
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Also add test to check that calling QQuickItem::grabToImage() works
correctly.
The QSharedPointer type is added in the QtQuick typesystem file
and not in QtCore to minimize the surface of issues that might come up,
as well as because that's the only reasonable use case of QSharedPointer
in the public API so far.
Task-number: PYSIDE-454
Change-Id: Ibb7775117ffb22ab91d2ac798ae13cc9e4856587
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| | | |
| | | |
| | | |
| | | | |
to be replaced by a subtree merge.
|
| | | | | |
| \ \ \ | |
|\ \ \ \ \ |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
in preparation for a subtree merge.
this should not be necessary to do in a separate commit, but git is a
tad stupid about following history correctly without it.
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
This is a workaround to allow building QSharedPointer bindings
with the clang parser.
In the previous parser the Q_QDOC define was set, and thus the
implementation header was never included. When clang is queried
to return the file which implements QSharedPointer, it will return
the innermost header file. Because the header doesn't have header
guards, the build will fail with redefinition errors.
Task-number: PYSIDE-454
Change-Id: I5628fe2bafe528e11076f344b18b463db90c5651
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| | |\ \ \ \
| | | | |_|/
| | | |/| |
| | | | | | |
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: 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: 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: 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>
|