| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| | |
Change-Id: I64cb93d53a2811ba695820501287902995140f9a
|
| |
| |
| |
| |
| | |
Change-Id: I1d814b72359e188ba8263b0cb583ccb43af5e4b4
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
| |
| |
| |
| |
| |
| | |
Task-number: PYSIDE-1112
Change-Id: Ice3e8efb7b75bd14ee73c20310f722c4e0b07b3b
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Introduce a flag to distinguish timeouts from successful loading.
Register the scheme properly and set "Path" syntax, fixing the warning:
Please register the custom scheme 'testpy' via QWebEngineUrlScheme::registerScheme() before installing the custom scheme handler.
Add required initializations of QWebEngine and embed
the view into a top level widget, as using a QWebEngineView as a top
level on Windows hangs.
Change-Id: Id39a6b14606795216994928ad82f60435f4caaca
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|\|
| |
| |
| | |
Change-Id: I587b40f07da85d431d4fdb6f98259a9be0bb73e5
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
After a long odyssey of more or less unpythonic compromizes,
the qApp "macro" would finally be moved into a normal
variable without surprizes.
This was only possible since we removed qApp from QtWidgets
and other modules. Otherwise,
from PySide2.QtWidgets import *
would pull qApp, being the constant "None", into main and
shadow the true qApp variable in the builtins.
By inserting qApp into the builtins, only, we make sure that
this variable is always freshly looked up, without making it
change its contents.
DONE...
+ change the singleton code to normal
+ rename to MakeQAppWrapper
+ simplify the implementation
+ fix new bug concerning duplicate applications
+ check very much for refcounting bugs
+ review the rest of the implementation and further simplify
Note... The Q*Application variable will not be turned back into
a GC variable. This is not worth the effort.
Fixes: PYSIDE-571
Change-Id: Idbd158c083318e6b0dfe48d62485c68c90e944de
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Generate different instantiations in libsmart and libother.
Task-number: PYSIDE-1024
Change-Id: Id29cea65e48209fa226ce3142f3af72b99bf4662
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|\|
| |
| |
| | |
Change-Id: I63bd30470a624db6b5ec2c7c5148d95c12a071ab
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The classes of the helper module were defined in the __init__.py
file with complicated logic to test for presence of the modules.
Split the classes apart and empty the __init__.py file (still
required for Python2).
Change-Id: I4f4971f9a48e2961233da5585aa0df53bfbb9c7a
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Add the relative import path to locate the modules "helper"
and "py3kcompat". The tests can then be launched from the
command line without the ctest environment.
Change-Id: Ia50663d7381b52cb248de3e4d23002a195ca9139
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|\|
| |
| |
| | |
Change-Id: I0cb463d11204375a8eb5fd95132cdbf13b63709f
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
There are two funny glitches that happen with Python 2.7, only.
One was the smartpointer test which only failed because
Python 2.7 has no list.clear method.
This test could be simplified since the tested object is a true list.
The other one appeared after the introduction of the BUILD_DIR
variable. Python 2.7 failed the enum_test.py because it now
needs an import of shiboken2 to do initialization of the signature
module. That is a timing problem that we did not have before
we had BUILD_DIR.
It makes me curious why this bug could slip through the COIN tests!
Change-Id: I9b509e9998ad9f40431a8b148892429c0e865393
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Extract an API to start the timer of ReportHandler without
actually installing the message handler and use that from testutil.
Change-Id: I28166b9f9b8d5b0f00cda38389a1009416dac933
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Remove scope, fixing:
Cannot set "CMAKE_INSTALL_MESSAGE": current scope has no parent.
CMake Error at data/shiboken_helpers.cmake:218 (_message):
Change-Id: I7499eef3af499e1d02b548b19fca3dda7647b16e
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|\|
| |
| |
| | |
Change-Id: I827c17bc77d4da46abc6db2a91a8cc9296b4c0e0
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Treat "typedef enum {} Name" as "enum Name". Clang
actually provides type information for these cases, use it
(taking care not to break real anonynous enumerations) and
skip the repetitive definition of the elaborated type.
Fixes: PYSIDE-1228
Change-Id: Icaf0450f3fea3ba9f06737e351b56e6e5df0749a
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
With virtualenv 20 we have the case where the first
path in the PYTHON_LIBRARIES cmake variable was wrong:
a_virtual_env/libs/python3.lib
so the python code inside the helper didn't have a proper
check if the file was valid or it was just a wrong construct.
Additionally, the 'prefix' variable will contain the virtual
environment directory location, which will not contain the 'libs'
directory, because that's included in the system's installation path.
To solve this, we use the 'INCLUDEPY' directory, which is correct
as a base to create the real 'libs' one.
Task-number: PYSIDE-1231
Change-Id: Ifca08d74c49cd57572836a087edb96c089266dc7
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: I4ed952681abe6f42ff43a567f70fdc7e6512ddcc
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
On Windows, DLL directories can no longer be specified
via the PATH environment variable. They need to be added
via os.add_dll_directory().
In order to fix this, move the entire environment setup
from CMake to a python helper and set a single
environment variable BUILD_DIR pointing to the build
directory from CMake.
In addition, this has a huge advantage: The tests can
also be executed much more easily without ctest from the
command line by just setting BUILD_DIR instead of a
complex manipulation of PATH/LD_LIBRARY_PATH.
Change-Id: I7dceafd2c38fed5320a534322f265489657b95d3
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|\|
| |
| |
| | |
Change-Id: I2adfe791173a63b90a2e2c71fb1751052550f76b
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
getattro functions are needed for:
- smartpointer dispatch
- special cases of function overload resolution
setattro functions are needed for:
- smartpointer dispatch
- QObject property handling
All of this was previously handled in the writeSet/GetattroFunction
which duplicated, inconsistent checks in various places, which makes
it very hard to add additional functionality to tp_getsetattro(). To
overcome this, define a flag to describe the various use cases, a
check function to determine it. The flag is passed to the write functions.
Smart pointer handling is split out completely since it will never mix
with the other use cases.
Task-number: PYSIDE-803
Change-Id: Iead9ee5b086830fb670b25917914117da62fefe5
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Make it clear how the dispatch works.
Task-number: PYSIDE-454
Change-Id: Idd98eee5a7f7d45891c8a7dd0170f9188f136296
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
(cherry picked from commit 0ffb486e27996bbd81cde5f3d73b2d8346386ffb)
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Remove else after return and simplify accordingly.
Replace the check for self by an assert.
Change-Id: I219e4887f0a699c21f718563ac696baf4c7f9d73
Reviewed-by: Christian Tismer <tismer@stackless.com>
(cherry picked from commit fd5768da8cc90faaa5a96c1c028db62915c18b0f)
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Cherry-pick the part of 870b7f4c849ebbc5f39f1f2398e39a3b7dfd9562
from 5.15 that joins "bla" << endl into "bla\n" to reduce
further merge conflicts between 5.14 and 5.15 while preserving
the ability of 5.14 to compile against Qt 5.12.
Change-Id: Id9632973b253557c99b2f4e0a84c3db12c55f5b4
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
(cherry picked from commit 870b7f4c849ebbc5f39f1f2398e39a3b7dfd9562)
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When running tests with Python 3.8/Linux, the existence_test fails:
File "pyside-setup/sources/pyside2/tests/registry/existence_test.py", line 73
from init_platform import enum_all, generate_all
File "pyside-setup/sources/pyside2/tests/registry/init_platform.py", line 59
from util import get_refpath, get_script_dir
File "pyside-setup/sources/pyside2/tests/registry/util.py", line 113
platform_name = "".join(distro.linux_distribution()[:2]).lower()
AttributeError module 'platform' has no attribute 'linux_distribution'
since platform.linux_distribution() was removed in 3.8. Extract
into a separate method and warn to install distro.
Task-number: PYSIDE-939
Change-Id: I42d04830d51563cc3fbaddc3941c927402514480
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The DLL load behavior was changed in Python 3.8 to no longer
search the PATH variable for DLL dependencies. This means
that the shiboken2.dll from the shiboken2 package is no longer found.
Add the shiboken2 package using os.add_dll_directory() to fix this.
Unfortunately, this requires additional work during the build process,
Qt and libpyside2.dll need to be found in the build directory.
Change-Id: I3d78d8df2d6f64913e06fa44e7e1aadbc1a14b58
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Walk up the MetaObject hierarchy until a matching type is found.
Fixes: PYSIDE-1214
Change-Id: I474edbfc710375951987e43469b7e7ea4366ab0c
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Specify C++ ownership.
Fixes: PYSIDE-1189
Change-Id: I093e2af048aaabf00d124af66dcd3efc7c709e95
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
For the limited API, properly implement the PyBUF_ND flag (shape
requested).
Otherwise, use the convenience function PyBuffer_FillInfo() to
properly populate the view.
Fixes: PYSIDE-1204
Change-Id: I2a4c81885cf49b25c89823577c0d7ee2f2707b87
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Loop over base classes and remove the recursion at the bottom
since superClass->fixFunctions() is already called at the top.
Change-Id: I1342d4717a6131c5d8cc25be03c85040a493155a
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Change the m_baseClass pointer into a vector to handle
multiple inheritance. It will receive the base classes
which previously were handled as interfaces.
Change-Id: Idc6a5d6ce53bb9bbe054397194b660bd748e3042
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
InterfaceTypeEntry is a relic from Java, which does not have
multiple inheritance. Remove it and handle it as object-type.
Just removing the code breaks tests though, since AbstractMetaClass
only has one pointer to its base class. The other base classes
are added to the interface list.
FAIL! shiboken2:testmultipleinheritance Newly detected Real test failure!
FAIL! shiboken2:sample::ownership_invalidate_after_use Newly detected Real test failure!
FAIL! shiboken2:sample::visibilitychange Newly detected Real test failure!
[ChangeLog][shiboken] interface-type has been deprecated.
object-type should be used instead.
Change-Id: I19e876d82b26c2ef7865e3fafc74503c6cbd5a8b
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Add an attribute "instantiations" to the smart-pointer-type element,
which allows to specify a comma-separated list of instantiation types
for which wrappers should be generated in the module.
This avoids clashes of indexes.
Task-number: PYSIDE-1024
Change-Id: Iac4b93b91ca4982064beef4c5abafc547052e7f1
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Smart pointer values did not have a minimal constructor defined,
add that. Also add a special case to the return type warning, since
that does not have the instantiated type.
Fixes: PYSIDE-1188
Change-Id: Ibadd7273f839eb19e1eeb5c912f124e3798207df
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Fix some left-over nullptr issues, C-style casts and some signedness
issues.
Remove some unused functions and parameters. Remove empty statements.
Add defined() around macros, fixing warnings like:
warning: '_WINDOWS' is not defined, evaluates to 0
Change-Id: Idaa4334cb0edb3661ca766c248ec18ab85b0ee8e
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Add some structs that can be streamed to a std::ostream
like str << Shiboken::debugPyObject(obj) << .
Change-Id: Ib5b021137fb98213b2fc5d887bcc3065f69a3127
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|\|
| |
| |
| | |
Change-Id: I6e0693b8d7d1f7b506a759f15758bc4481a3baa0
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The test has been observed to fail apparently since
the result was not collected.
Traceback (most recent call last)
File "sources/shiboken2/tests/smartbinding/smart_pointer_test.py", line 82, in testObjSmartPointer
self.assertEqual(integerCount(), 1)
AssertionError 2 != 1
File "sources/shiboken2/tests/smartbinding/smart_pointer_test.py", line 154, in testSmartPointersWithNamespace
self.assertEqual(integerCount(), 2)
AssertionError 3 != 2
Enforce a garbage collection to ensure the object is deleted.
Task-number: PYSIDE-454
Change-Id: I85baa059319a5286f94a5607c4de32bfc50ae0e0
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Set Py_nb_index to the conversion method for flags and enums.
Fixes warnings like:
examples/widgets/widgets/tetrix.py:107: DeprecationWarning: an integer is required (got type PySide2.QtCore.Qt.AlignmentFlag). Implicit conversion to integers using __int__ is deprecated, and may be removed in a future version of Python.
Task-number: PYSIDE-168
Task-number: PYSIDE-939
Change-Id: Id41a72474192b357afd3dacd0a2e2fc5e055775c
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: I7d840367d9a733d925bbfeb78a0ba0c9c076e6c0
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
qApp should stay almost as it is with only two cosmetic changes:
When qApp's return value has Type(Py_None), the value now reports
"noApp" instead of "None".
Also the feature of "del __builtins__.qApp" is replaced by function
qApp.shutdown() . This makes things easier to explain and avoids
refcounting hacks.
The embedding problem (Falkon browser) was too complicated.
We finally solved it by disabling qApp in embedded mode.
Change-Id: I0d99661137130684823aa3d1978b494d8ab08e59
Fixes: PYSIDE-1158
Fixes: PYSIDE-1178
Fixes: PYSIDE-1135
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: I6ba4ae9fe6a9bfe669b76a23f27556b1f3c59eb4
Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: I97d7251b0d9ec024ce069f6475d7bc6be0d9d362
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: Ibcefb190f5ea50b7c8575cd03b9e0f69b3a170b6
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Just before registering the signal to the meta-object,
the signalName was overwritten instead of checking if it had
some content.
Fixes: PYSIDE-1192
Change-Id: I5fc85bf22ae08bce6969b9381662288a99aee616
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: I364ab18fede462ac9e6b5a318a29e5244e2f9156
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Currently the Shiboken macro only handles AttributeError
but when 'machinery' is not found inside 'importlib'
that case also needs to be handle by the except clause.
Adding ImportError will allow us to get access to the
Python suffixes that we need to build.
Additionally, some old versions of Python (2.7.14) require
an "archive_root" parameter on the 'wheel.pep425tags.get_supported'
function, which is not required in new versions (2.7.16, and 3+).
Change-Id: Icc6e7d1e9384ea01eec9281586f7ca988e3eb649
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Since it's a virtual method, we need to specify
that the native counterpart of the method will live
in C++, and in the target scope it will live in Python.
Fixes: PYSIDE-1207
Change-Id: I5b9072380eed17270affa39c5976dc6b1fe293ff
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Removed the color and the padding on the 'pre'
elements of the docs.
Additionally increased the line-height globally to 1.4
to make the reading easy.
Fixes: PYSIDE-1201
Change-Id: I292d4e6da616ecb84a923444b99ad28a28d6cc5d
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The doc parameter was being freed causing a segmentation fault,
according to the implementation of the parse function,
it's not necessary to free.
Fixes: PYSIDE-1205
Change-Id: I5850e7feaf354b27cc4496dc83be214d1729a048
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|