| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There are two borrowed references in the code,
so we need to manually increase the refcount.
Usually the PyEval_GetBuiltins and PyModule_GetDict
functions are used locally, so there is no real need
of taking care of the refcounts, but since we are using
it globally, and adjusting the refcount by ourselves,
it was necessary to add the missing references by hand.
Task-number: PYSIDE-585
Change-Id: Icc1e7719a6b5d3654d12ab37cd509a096821d7a6
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Change TypeSystemEntry::m_version from double to
QVersionNumber.
- Determine version at the beginning of the start element
processing of the parser and use that.
- Remove AddedFunction::m_version which is not needed.
- Remove unused parameter double vr from
AbstractMetaBuilderPrivate::translateType().
Change-Id: I2941667ba565f8c11aa0c14446ec7d6934da99dc
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|
|
|
|
| |
Change-Id: I8e19b379fd7be8d858927af80a2b33b854626f63
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
Seems this was in QtGui at the time of Qt 4, but now it's in QtCore:
http://doc.qt.io/archives/qt-4.8/qstringlistmodel.html
http://doc.qt.io/qt-5/qstringlistmodel-members.html
Task-number: PYSIDE-614
Change-Id: I918cbffd64fb8da9e81123073ff57cd2126e5cae
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
The tests were partially wrong assigned so that a minimal build
with "--module-subset=QtCore,QtGui,QtWidgets" had unnecessary
errors.
This patch re-arranges the tests accordingly.
Change-Id: I48e37875dd8856707df41f5943ce9435851f2d03
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
| |
Changing the owner from Python (target) to default.
Task-number: PYSIDE-258
Change-Id: Ib0ec567648c973ed4c427cbd86ed01a8eae19364
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
|
| |
Use class Directive from docutils.parsers.rst instead.
Task-number: PYSIDE-363
Change-Id: I4356f0b0aa1eb0fc393bf8713be39c58fd281f4e
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
| |
Change-Id: I3649f57ba75a38db373d3491b253507f60c9ee6f
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
cannot be found
In PySide2, there is one XSL-based documentation modification which QXmlQuery
can handle.
However, due to QTBUG-66925, it is not a full replacement, since the
issue (XPATH specifying the number of the element to match) might be
useful for documentation modification.
Add QtXmlPatterns as fallback and modify the test accordingly.
Task-number: PYSIDE-363
Change-Id: I969fbe210725bb748d76028c6f542bae6b471a76
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
|
|
|
|
| |
Shiboken uses C++11 constructs like qAsConst, which necessitates
the usage of a Qt version >= 5.7. Instead of showing weird compilation
errors when building against Qt 5.6, print a nice error message.
Change-Id: Iea4bd41dbe1d7d05e9b28bfa6654f68c6633cd74
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
- Remove documentation modification on QUrl. The text in Qt is
identical.
- Remove C++ 'new' from the QHistoryState code snippet
Task-number: PYSIDE-363
Change-Id: I4c0d4fb9b426e24ce9352c954bcd5765d89aeca8
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|\
| |
| |
| | |
Change-Id: I452d3a0a04e282b678879132ca1b3a272910ef04
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This change is inspired by / follows PEP 440 for handling version
numbers and also takes into account the Qt versioning scheme.
PySide2 as package name will stay as-is (not renamed to PySide5).
Release versions would have the following pattern:
PySide2 5.x.y (e.g. 5.6.3)
Package (wheel) name would also contain the bundled Qt version, e.g.:
PySide2-5.6.0-5.6.4-cp27-cp27m-macosx_10_7_intel.whl
Pre-release versions would look like:
PySide2 5.6.0a1, 5.6.0a2, 5.6.0b1, 5.6.0b2, 5.6.0rc1, etc.
Development (snapshot) versions would look like:
PySide2 5.6.0-dev123456789 (last part is timestamp of build time)
All of the examples above comply with the PEP 440 rules.
In the example above where the Qt version is specified as part of the
wheel package name ("5.6.4"), the Qt version is not part of the
package version itself, because it doesn't comply with PEP 440.
But it does comply with wheel package names (PEP 427), and by that
PEP's definitions, it will be the optional "build tag" part of the
file name, which is preceded by the actual package version, and
followed by the python version / abi tag.
Implementation:
This change defines two new python configuration files which will be
the authoritative source for the shiboken and PySide2 libraries, as
well as the final PySide2 package itself:
sources/shiboken/shiboken_version.py
sources/pyside2/pyside_version.py
The pyside_version.py file will be the source of the final package
version.
The shiboken and PySide2 version should be modified in sync, when
bumping the version of the package before a release.
The reason for having both files instead of 1, is to make life easier
for developers that might extract only shiboken from the repository.
If at some point shiboken and PySide2 CMake projects get merged into
one project, the duplicate version files would go away.
The version files are parsed by CMake to correctly name the shared
libraries (and SO versions), and they are also read by the setup.py
script, to generate correct package metadata and a correct package
(wheel) name.
This change also removes the broken dist targets from PySide2's and
shiboken's CMakelists files, which depended on some version suffix
which was never set in setup.py.
PEP440: https://www.python.org/dev/peps/pep-0440/
PEP427: https://www.python.org/dev/peps/pep-0427/
Change-Id: I3226460b1adf2555c8711fa2ba47c223b957cb44
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The return value from the fixup() method was ignored
leaving an Intermediate or Invalid input intact.
This was solved injecting code to the native wrapper
for the fixup() method that allows to change its value.
A test case is provided.
Task-number: PYSIDE-106
Change-Id: I1d796955178dbdbcfff90adb6ede5c8b2dd1acc3
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This change adds a new setup.py option called --sanitize-address
which will build all executables and shared libraries with address
sanitizer enabled. The builds will only succeed on Linux and macOS
machines that have new enough gcc / clang versions, so it is a
"use at your own risk" build configuration.
This change was necessitated by the random crashes that are sometimes
observed on the CI machines, and due to valgrind not working properly
on new macOS versions, using AddressSanitizer is the next best thing.
Note that when running tests with address sanitizer builds, you
might need to export a LD_PRELOAD / DYLD_INSERT_LIBRARIES environment
variable pointing to the address sanitizer runtime library path, which
will be provided by the crashed application.
Change-Id: I93014002e5c5e94bcc808ba2fb830d60724cfb69
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
| |
| |
| |
| |
| |
| | |
Task-number: PYSIDE-363
Change-Id: Ibed88d97e70c7b6861ee47b23a7f4402683ba51e
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Change qt3d/352dacc0040f77345ab2f6e9019ff68ba2ed354e has made
it up to the dev branch and the qt5.git integration succeeded,
so, Qt 3D can be re-enabled.
This reverts commit 52ac602d7b25dc31e681dcddc0b6dc9452fa4f59.
Task-number: PYSIDE-487
Change-Id: I4b95a7050f03786a08e4fb14c1bb332ca0281db4
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When connecting a signal with a slot there is a process
to associate the proper signal signature, but the slot
signature was not verified.
This missing verification step lead to wrongly associate
the slots and the signal signatures, for example:
def on_clicked(checked=True):
...
QGroupBox.clicked.connect(on_clicked)
will wrongly connect the slot "on_clicked" with the
signal "clicked()" (without any argument),
when the proper signal is "clicked(bool)".
This can be solved by manually specifying the arguments:
QGroupBox.clicked[bool].connect(self.clicked)
We can add an additional verification step
to associate the proper signal if the slot has
a certain number of arguments.
There is an existing test that checks the compatibility
of this change with all the ways to connect
signals and slots.
A few additional cases were added.
Task-number: PYSIDE-104
Change-Id: Ic5b06fa3bb91903f7d506e0e2c52a6f7d3dc4570
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The script tried to import a class or a module to obtain
an introspectable object, which failed for nested classes
like PySide2.QtCore.QStateMachine.SignalEvent, resulting in
numerous warnings like:
WARNING: Could not import class or module 'QStateMachine.SignalEvent' specified for inheritance diagram
Rewrite the import to strip off the path components in a loop until
the import succeeds and then walk up the attributes again to obtain
the object.
Task-number: PYSIDE-363
Change-Id: I33c6b4c6145b501a2f8f9ef3325610fefad9580d
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Introduce enumeration for the type to EnumTypeEntry which can be specified
by the boolean "class" attribute. For the enum classes, the value names
need to be qualified by the enum name to match the C++ API.
For the C++ generator, add an overload to
Shiboken::createScopedEnumItem() that takes a PyTypeObject and add the enum
items to the enum so that the name is in the enum scope.
Change-Id: Ia0e469d13b08c196b9ddd965b9cf3cc62a38630b
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Remove class struct EnumValueRedirection and add explanatory
comment to EnumValueTypeEntry.
Change-Id: Ic4665436f301943805c7985188bc41c4ad3e8336
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Turn it into a static helper and use QString::compare()
to avoid the call to toLower().
Change-Id: Ifc10a7e8b5df4df80ee23135e32aea34ed72d295
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
| |
| |
| |
| |
| |
| |
| | |
Avoid QString allocations for them.
Change-Id: Ia55fba30f790a938900e7b5217daeaa6098beaf6
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The rst ::image elements do not work inline, they require a line
each.
Work around as recommended by using rst substitution references
instead, using a tag enclosed in '|' and defining it below.
Split out a separate inline image handler and store the references
to be written out later.
Fixes warnings like:
WARNING: image file not readable: PySide2/QtCore/images/cursor-cross.pngAcrosshaircursor,typicallyusedtohelptheuseraccuratelyselectapointonthescreen.
Task-number: PYSIDE-363
Change-Id: I860875957688885ca48038aa3aa96bd9c38da709
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Fix several warnings:
Inline literal start-string without end-string.
Task-number: PYSIDE-363
Change-Id: Iadd753d9e8c46b6f00e915e494b01f763e6ce035
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- Fix _class_info() to return a real list instead
of list view, fixing:
TypeError: can't pickle dict_values objects
- Enclose font names in quotes, fixing dot complaining
about a syntax error.
- Encode the hash string get_graph_hash(), fixing
TypeError: Unicode-objects must be encoded before hashing
- Pass on options as dict instead of list to render_dot_html(),
render_dot_latex()
Task-number: PYSIDE-363
Task-number: PYSIDE-617
Change-Id: If050b73cf35ac6a6c58c0d3e5ea713c736ea842c
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Fixing numerous warnings:
WARNING: Could not import class '...' specified for inheritance diagram
Task-number: PYSIDE-363
Task-number: PYSIDE-617
Change-Id: I84013d8be442c43212f0726a141ce0dc9b51c92c
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When using C++11 enum classes, enum values need to be fully qualified.
Add the enum name where the values are written and handle it
in the various resolve() functions.
Split out ShibokenGenerator::guessScopeForDefaultFlagsValue()
from ShibokenGenerator::guessScopeForDefaultValue() for clarity.
Task-number: PYSIDE-487
Change-Id: Idf8d627ab88111ad67734bee8b4d130ef53e038d
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Wrap value in int(), which is required for enum classes.
Add a compile test to libsample.
Task-number: PYSIDE-487
Change-Id: I78f07ae66da64caad1f75722308256e40e91eded
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
There is some new structure that is not yet supported.
I hope this works because I have no installation of 5.11.
Change-Id: I310bfc4f20d33b2a6511ce59a4d68aec971a4128
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- Add helper AbstractMetaEnum::findEnumValue() which
finds unqualified as well as qualified enum values.
- Remove unused function bstractMetaClass::findEnumForValue(QString).
- Remove 2nd parameter from
AbstractMetaClass::findEnumValue(QString, AbstractMetaEnum *).
The comment claimed that it is excluded from the search, but the
condition was the reverse. Just removing it apparently does not do
harm.
Task-number: PYSIDE-487
Change-Id: I32b036045ea335b805fba79df327cc42d787f18c
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|\|
| |
| |
| | |
Change-Id: I5d1a4734e8f44785898ba62beaa0bdd2004fca22
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The parser regex could not handle angle bracket pairs with commas in it.
This is needed for template parameter lists. When they contain commata
between the angle brackets, the parser did not recognize that.
This fix allows for one level of angle brackets with whatever content.
It will probably be needed in 5.11, but the syntax that the regex recognizes
should always be complete.
I had a hard time to understand this split regex again, so I added some
more documentation, and it should now be simple to extend it even more.
Task-number: PYSIDE-510
Task-number: PYSIDE-616
Change-Id: Ic854852f35af8b4526a63ffe920f2c01204c1f31
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
In Qt4 days, _utils.py was used to register a custom qt.conf file into
the Qt Resource System, which contained a Prefix (and other locations
like binaries / QML imports) so that QtCore can find the correct
location of the QPA plugin, and all other requirements.
The code was not adopted to work for Qt5, and was silently failing
without doing anything.
It is not needed anymore though, since the qt.conf registration is now
done in C++ in libpyside shared library, since the commit
e455d995be989cbdfef2bcd54fd7057a9b036b52 .
Thus remove the _util.py file, and adjust __init__.py accordingly.
Task-number: PYSIDE-600
Change-Id: I76e3ea442a6e9b9df4996e628ffffcc7384b7f82
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This change makes sure to resolve symlinks and copy only one file for
every dynamic shared library used (vs 3 before -> 2 symlinks + 1
actual library). This avoids duplicate files, as well as saves space
when creating wheel (e.g. no 3 copies of standalone WebEngine
library).
This filtering happens copying from CMake install dir into
pyside_package_dir (the symlinks are still present in the CMake
dir, but that shouldn't harm anybody, and might be useful for
users of shiboken only for example).
Task-number: PYSIDE-495
Change-Id: I0fe454e16c6b254a8682aa7b1c702ec01a3064f0
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Remove
- html_add_permalinks: the key has been changed to str and has a default.
- html_use_smartypants: Replaced by smartquotes and defaults to true.
Fixes warnings:
WARNING: The config value `html_add_permalinks' has type `bool', defaults to `str'.
WARNING: html_use_smartypants option is deprecated. Smart quotes are on by default; if you want to disable them, use the smartquotes option.
Task-number: PYSIDE-363
Change-Id: I85092597a860f58cc012220edbf0c03749326432
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
"See also" links may appear in the qdoc WebXML output as nested links:
<see-also>QAbstractXmlReceiver<link raw="isValid()" href="qxmlquery.html#isValid" type="function">isValid()</link>
which was handled in handleLinkTag(), or as direct text:
<see-also>rootIsDecorated()</see-also>
which was not handled, causing numerous warnings:
.../QAbstractXmlNodeModel.rst:448: WARNING: Content block expected for the "seealso" directive; none found.
Refactor and split QtXmlToSphinx::handleLinkTag() into several functions
to operate on a struct LinkContext and keep 2 instances for
nested link tags and directly embedded links.
Task-number: PYSIDE-363
Change-Id: I734884267209f3621bfc5db4bf4347b838eb0de6
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Running shiboken on a custom XML file (like the scriptableapplication
example) would show tons of warnings about not being able to find
certain types or enums or other things inside Qt modules.
For scriptableapplication that was the case, because the
wrappedclasses.h file would only include the <QMainWindow> header
file, and not the rest of QtWidgets / QtGui headers, which means
that shiboken found types declared in XML files, but could not find
the actual declarations inside the preprocessed header file.
This change adds some additional conditions so that warnings are not
printed when a typesystem file is loaded with the generate="no"
attribute, because no C++ code will actually be generated for types
defined inside such a typesystem file.
Task-number: PYSIDE-587
Change-Id: I1f166483c2f343796e08d3142e5e296c4ee43f27
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
They apparently originate from an expanded macro and result in
doc warnings.
Change-Id: I2418034f643156855091e1e94e0fbb2a58e77bfc
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Fix warnings:
Content block expected for the "container" directive; none found
Task-number: PYSIDE-363
Change-Id: Ie855ac355478060c0d280413a31dffcb03cf3935
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Fix warnings like:
warning: Undefined substitution referenced: "Constant |Description"
on tables like:
*amplitude**period* +-------------------------+-----------+
|Constant |Description|
+=========================+===========+
|QEasingCurve.InOutElastic| |
+-------------------------+-----------+
Task-number: PYSIDE-363
Change-Id: I56cd9b73dacbfd84260c059a8916db5540029816
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Fix sphinx warnings:
warning: Explicit markup ends without a blank line; unexpected unindent
Task-number: PYSIDE-363
Change-Id: Iec9d8b35317dc9c1009db468284cb7b7a88104a0
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- Use a QTextStream for better readability
- Extract a helper function to format the function parameter type query:
- Fix the function parameter type attribute ("left"->"type")
- Fully qualify enumeration and other non-primitive types
Task-number: PYSIDE-363
Change-Id: I529e839fb737f30bd9b70d10a48fcfb0c9141f8f
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Trim the strings returned by the XPath queries and warn about
failing queries.
Task-number: PYSIDE-363
Change-Id: Ia0233d490497597cb78aa16b0908fe226270705c
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Move code from shouldSkip() helper of the doc generator
into the doc parser and use that for the qdoc/doxygen parsers.
The additional checks (most importantly the check for
declaringClass != ownerClass excluding the virtual functions
added by AbstractMetaClass::fixFunctions() to derived classes)
avoid running unneeded XPATH queries.
Task-number: PYSIDE-363
Change-Id: Ib1141a348c96b269a50c63dd94fe93931c12d1ec
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Introduce a streamable class that does the escaping and some
helpers for QString/QStringRef.
Task-number: PYSIDE-363
Change-Id: Ica6d8a2ab43eeb597b4e9080330dc2ce700e0ed2
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
| |
| |
| |
| |
| |
| | |
Change-Id: I4bbaa7d46bab2526906655c5f03bbd25a142bbc4
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|\ \ |
|
| |\|
| | |
| | |
| | | |
Change-Id: If56adeea2f888d8bc34e202b697f735508896c84
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The macOS 10.8, PySide2 branch 5.6 integrations were misteriously
failing with crashes on exit in the objecttype_test.py test, with a
stack trace similar to:
0x00007fff8899e90a _sigtramp + 26
0x0000000100784710 0x0 + 4302849808 (note the 0x0 address)
0x0000000100055408 dict_traverse + 168
0x0000000100107f77 collect + 407
0x00000001001089f4 PyGC_Collect + 52
0x00000001000ef503 Py_Finalize + 259
0x00000001000eefca handle_system_exit + 250
0x00000001000ef235 PyErr_PrintEx + 469
0x00000001000efebb PyRun_SimpleFileExFlags + 299
0x00000001001071dd Py_Main + 3101
Reproducing it on a CI VM was very difficult, requring dubious
manipulation of PATH, PYTHONPATH and LD_LIBRARY_PATH environment
variables. In the end the issue was diagnosed to be heap corruption,
and thus the difficulty in reproducing it.
The testParentFromCpp test in objecttype_test.py calls
the destroyCppParent method to delete its parent. Because
the deletion of the parent invokes the destructor ~ObjectType(), that
in turn deletes the child. This lead to head corruption, because
the child "o" by destroying its parent, destroys itself, and once
the "delete m_parent" is done, the next "m_parent = 0" would write
to invalid (freed) memory.
In a release build of the Python interpreter, this ends up in
accessing the freed memory in the GC collection phase (but under a
debugger this crashed in several other random places).
The fix is to delete the "m_parent = 0;" statement, so that nothing
is written to freed memory.
Change-Id: I2d7a41b99a3255ebb300e6157b3dd0d78eb27a54
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|