| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This consists of a few things:
- Remove the detection and usage of ALTERNATIVE_QT_INCLUDE_DIR in
setup.py, because CMake takes care of finding the correct Qt
include headers.
- Add detection of framework / non-framework includes in the CMake
rules, instead of in the setup.py script.
- Don't pass QT_QMAKE_EXECUTABLE from setup.py to CMake, because
it is not being used. It was previously used for detecting Qt4
via the CMake FindQt4.cmake file. Now it is done by
find_package() which detects qmake from the environment.
- Get rid of the old "/Library/Frameworks" QT_INCLUDE_DIR, which
was where the official Qt 4.8.x packages installed Qt.
- Deprecate usage of ALTERNATIVE_QT_INCLUDE_DIR. Now it is only
used if CMake fails to detect the proper include headers of Qt5
(which should not happen).
Change-Id: I829b92bc0d40ae7eb418be27c735fc095e557820
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change adds four new properties to the top-level PySide2 package:
__build_date__ - the date when the package was built in iso8601 format
__build_commit_date__ - the date of the top-level commit used to
build the package
__build_commit_hash__ - the SHA1 hash of the top-level commit
__build_commit_hash_described__ - the result of 'git describe commmit'
If git is not found on the system when the build is done, the last
three properties will not be present.
Note that all this info is computed at cmake configuration time, which
means that currently the properties will not be updated unless the
CMakeLists.txt file is touched, or a full reconfiguration is done.
If PySide2 is built using the setup.py script, the cmake
reconfiguration is always done.
Task-number: PYSIDE-557
Change-Id: I7db67fa34973e7976b21e3d1d36237577b3c6e32
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|
|
|
|
|
| |
Task-number: PYSIDE-487
Change-Id: I9a2c19c6b8415e3f608531b315a6841eb3de55f5
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
Add a timer periodically checking for the dialog to appear
and close it via reject() instead of using a hardcoded interval
to quit the application, which can cause crashes.
Task-number: PYSIDE-431
Change-Id: I35db1db5f6865d196f8565c7bd034de2162bf4ff
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
When building the docs target in PySide2, if the sphinx command is not
successfully found, the build stops with an error. Instead of
cancelling the build, just print a warning message just like it is
done in the shiboken project file.
Change-Id: I00ec7c306db5140f65973e622f4b1744cfd0d26e
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|
|
|
|
|
| |
Change-Id: Iddba1b5fb64b8cb2b9700c06de000948d4ba491a
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
| |
Change-Id: I7cbbb50dab06396059cb15afdd679abeb7177624
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
| |
This change is for 5.6 branch only and should not be merged to dev
nor to 5.9.
Change-Id: I951255a2515c3999fe0314678cc621744367d3f0
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
| |
On Windows, the WASAPI audio plugin is used, which requires
CoInitialize() and hence QGuiApplication.
Change-Id: Iad045224b6153a08234ff69e69eb8d1986654b43
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
|
|
| |
Add helper for testing with QGuiApplication.
Change-Id: Ib56b0b118a5fe8e01c822c859419784921418913
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|
|
|
|
|
|
|
| |
The test crashes in COIN.
Task-number: PYSIDE-431
Change-Id: Ibd65c722212b21d0a6993152711d316fb02a2234
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Use the same imp.get_suffixes() mechanism as on Unix, to determine
the suffix part of module extension files.
This fixes debug builds to work on Windows.
Note that the whole build stack has to use the same configuration,
no mixing is allowed on Windows.
For release build you need: python.exe + setup.py without --debug
flag + release build of Qt5.
For debug build you need: python_d.exe + setup.py with --debug
flag + debug build of Qt5.
Change-Id: I6188c859b5757d11e87d6a9e32b9ba558f7f609e
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change decouples the naming of general shared libraries, python
module extensions, and cmake configuration files. All of them are now
computed depending on the python version and python build
configuration, and can also be manually set via CMake variables.
The module extensions names now use the most detailed 'import' prefix,
which usually informs whether a debug or release python was used, or
the Python ABI flags (for Python >= 3.2).
When a debug Python interpreter is used for building PySide2, the
preprocessor define Py_Debug is now correctly propagated to PySide2
sources, which fixes previous crashes in debug builds.
This affects only Linux and macOS builds. There is a subsequent change
for making it work for Windows builds.
All in all, this now allows proper mixing of debug / release versions
of the Python interpreter with debug / release versions of PySide2 on
Linux and macOS.
Task-number: PYSIDE-508
Change-Id: I88a05c3ada0fb32c7c29bdb86d7a2c15acc963b8
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
Some time ago, I added the test file that makes sure that all modules can
load. This file needed to repeat for each module without any other tests.
Now we have a real "PySide2.__all__" variable, and we can remove these
tests in favor of one simple test.
Change-Id: I96d91e749c134f30afc30751abb874ede2639d10
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
Now that we have the cmake variable "all_module_shortnames", it is very
straightforward to produce a sensible __all__ variable in the PySide2 module.
This is necessary to write an exhaustive test script for the new signature feature.
Change-Id: Ib43d647593f0b1b848b9d17ff27fd47cfb5832cb
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
|
|
|
|
| |
This is probably the reason for the build failures in the CI because
the filesystem there is case sensitive.
Change-Id: I9f3cafbc8f1d29a0974229d466fbd22ec2b91491
Reviewed-by: Christian Tismer <tismer@stackless.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
| |
Change-Id: I91a1c87e6153a65a6e4088a41fbe0f696c2dd058
Reviewed-by: Christian Tismer <tismer@stackless.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
Even though the final library name is libpyside, the actual target
that generates that file is called pyside2, as indicated by the
project(pyside2) command in the CMakeLists.txt file.
Also set the CMake policy of not ignoring incorrect dependencies.
Change-Id: Iba65dfd5fe7e34e7557c756a838017fe48f0ffd5
Reviewed-by: Christian Tismer <tismer@stackless.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
|
| |
The printing classes were moved to QtPrintSupport module, and the
remaining classes are always present in their respective modules.
Change-Id: I2e0ec061efc28c89f0476829541a7d2d3f01877f
Reviewed-by: Christian Tismer <tismer@stackless.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
|
| |
Also include the optional QtNetwork sources, so that QSsl* class
bindings are properly generated.
Thus the optional QtWidgets and QtNetwork classes should be picked up.
Change-Id: Id4d21dc577f2b551dce83999be76cdfd9d0b88d2
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|
|
|
|
|
|
|
| |
The official git setup recommends to add only git.cmd to win PATH
if ran in native CMD.
Change-Id: I370752bf0d052f8047e929639b3246b726131b5a
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
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>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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>
|