aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Fix reference count tests (1) to pass in Python 3.14 (simple cases)HEADdevFriedemann Kleint30 hours16-86/+92
| | | | | | | | | | | | As of 3.14, the interpreter will sometimes just borrow references and newly created objects may have different initial reference counts. Fix the test cases where a base ref count of a new object is compared against. Pick-to: 6.9 6.8 Task-number: PYSIDE-3147 Change-Id: I698be2309362fc65f6727971a5cec4fc4f40cf2e Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* libshiboken: Add warning for multiple meta typesFriedemann Kleint30 hours1-0/+8
| | | | | Change-Id: I0df7e1365b130433fda670e3a7f7ea8fb93378b1 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Lazy Load: Remove exclusion for testbindingFriedemann Kleint30 hours2-5/+3
| | | | | | | | | Use .value to compare against the Enum value in a hidden namespace. Task-number: PYSIDE-2404 Change-Id: I2a7bda2aeac6aa69b3d38d2e377ac9b1127e1fee Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* libshiboken: Remove cast in Shiboken::Module::create()Friedemann Kleint32 hours2-6/+8
| | | | | | | | Pass the moduleDef directly. As a drive-by, add error handling. Task-number: PYSIDE-2221 Change-Id: Ifd8698fb2ddf4acb12207fa96e6107266b7d6597 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* shiboken6: Factor out module initialization codeFriedemann Kleint32 hours1-12/+23
| | | | | | | | Correct the variable naming to camel case. Task-number: PYSIDE-2221 Change-Id: I6241730b8be703e224104f19828d16cf08a3287e Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Doc: Design Studio Drumpad TutorialShyamnath Premnadh2 days1-2/+18
| | | | | | | | | - Amends efd8944b263a099e901ab588bc2d9357554f6ead to add a section on preliminary setup for running/deploying the application by running `pyside6-project` command. Change-Id: I2a0c96ede0e7100f54f7081b4dc7c04b7fc49e3c Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Deployment: Use relative pathsShyamnath Premnadh2 days2-6/+16
| | | | | | | | | | | - For input_file and project_dir, use relative paths instead of absolute paths so that it can be checked in to version control. - Fix tests accordingly. Fixes: PYSIDE-3146 Pick-to: 6.9 6.8 Change-Id: I4260a4844edc71964d5c2ab907915e5fbbcf4e41 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* libshiboken: Fix some clang-tidy warningsFriedemann Kleint5 days6-16/+15
| | | | | | Pick-to: 6.9 6.8 Change-Id: I10cd7e2c160b649fa52ba395b70bd59f19171256 Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
* Move native interfaces out of the QtGui type system fileFriedemann Kleint5 days7-27/+70
| | | | | | | | | | | | It is bound to grow as more interfaces with more modifications are added. Rename the code snippet used for int conversion. Also add a test for X11. Task-number: PYSIDE-2787 Change-Id: Ia5f5cf7f0fbb551c38367d80e9fdb4b004db9085 Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
* doc: Add documentation about type hintsEce Cinucen5 days2-0/+178
| | | | | | Pick-to: 6.9 Change-Id: I030593a9feed8a2f1eaa4c7f3e22f15ef9ccdb7e Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
* libpyside: Fix corruption connecting several signals to one non-QObject receiverFriedemann Kleint6 days3-41/+82
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | The deletion of the weak ref in ~TrackingMethodDynamicSlot() did not reliably stop the notification from being triggered, causing corruption later on since the address of the dynamic slot was used as user data. Use the Python receiver object as user data instead (which is only used for map look up) to delete the connection to protect against multiple invocation. Remove the deletion of the weakref since it is removed in the notification. Remove class TrackingMethodDynamicSlot as it does not really have any functionality any more. The comment about releasing the weakref in case DynamicSlot outlives Python is apparently not an issue since otherwise the deletion of the function in ~MethodDynamicSlot() would have caused issues. Amends 33bd61d13d8d9e3794b6049891be62f3351313d9. Pick-to: 6.9 6.8 Fixes: PYSIDE-3148 Task-number: PYSIDE-2810 Change-Id: Idc07d0774afaf99df93185c90e975291a42ffeaf Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
* type-hints: Adapt typing.Union to Python 3.14Ece Cinucen6 days1-3/+2
| | | | | | | | | | | | Update type check, typing.Union is now a type (not typing._SpecialForm) in Python 3.14. Previous workaround that only checks a certain string removed. Amends c22dd4fb11f8279b1946094e057988b7b40ea07c. Pick-to: 6.9 6.8 Task-number: PYSIDE-3147 Change-Id: I648626aeeddf6b2b05a745d7db688cd48aa2b0f6 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Add changelog 6.9.2Friedemann Kleint6 days1-0/+55
| | | | | | Pick-to: 6.9 Change-Id: I579001734a451959592dfeef39e04aacfcf07fbd Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
* Documentation: Update libclangShyamnath Premnadh6 days4-8/+10
| | | | | | | | - The current version mentioned in the documentation is outdated. - Updated to the latest version available. Change-Id: Ia25d8fd648ab437833ef87263d19badbd02b1885 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* PySidePlugin: Use limited API correctlyShyamnath Premnadh6 days1-1/+1
| | | | | | | | | | | | | - PYTHON_LIMITED_API variable is specific to Shiboken build and is not available during the configuration of PySidePlugin because it is not a global variable. Instead, FORCE_LIMITED_API should be used which is the correct variable passed from setup.py to CMake. - The issue was specifically noted in Windows where PySidePlugin tries to link to the wrong Python library even when PYTHON_LIMITED_API is passed. Change-Id: I1d272d27053cdbc1c754b7e0fb6cfe49d37ff4ce Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* type hints: Fix some return typesEce Cinucen7 days0-0/+0
| | | | | | | | | | | | Use Optional[...] to reflect that these functions may return None for functions QGuiApplication.screenAt, QGuiApplication.modalWindow and QCompleter.popup mapping.py file had already a list for functions missing optional return, the function names added to the this list and removed from typesystem. Amends da0f2625bf368e7d8ebd643cc303c8b7e6a6805d. Task-number: PYSIDE-3139 Pick-to: 6.8 6.9 Change-Id: Id6331862d7b0894a3e97b95e2e825533eca1896f Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* testrunner: Fix deprecation warning about =argparse.FileTypeFriedemann Kleint7 days1-6/+6
| | | | | | | | | | | | | Open the files directly as advised, fixing: testing/command.py:170: PendingDeprecationWarning: FileType is deprecated. Simply open files after parsing arguments. type=argparse.FileType("r"), testing/command.py:198: PendingDeprecationWarning: FileType is deprecated. Simply open files after parsing arguments. "filename", type=argparse.FileType("w"), help="write the build dir name into a file" Pick-to: 6.9 6.8 Task-number: PYSIDE-3147 Change-Id: I78949168309b8939d9dd2db5bedb277b6a679d28 Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
* QUiLoader: Move Q_IMPORT_PLUGIN(PyCustomWidgets) to file scopeFriedemann Kleint7 days2-2/+3
| | | | | | | | Adapt to qtbase/82eb0fc09e048b6074a9205e371a8c17576b421a. Task-number: PYSIDE-3011 Change-Id: Id6aeab28948c54572069bca676c944327282a7ba Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
* type-hints: Temporary fix for typing.UnionEce Cinucen8 days1-0/+2
| | | | | | | | | Added a workaround to handle where 'typing.Union' is represented as '<class 'typing.Union'>' during signature parsing. Pick-to: 6.9 6.8 Task-number: PYSIDE-3147 Change-Id: I285e65dbf09a5f15429bcd279d89db173f2dff49 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Add Qt Design Studio tutorialJaime Resano8 days61-0/+2100
| | | | | | | | | | | | Add a new Qt Design Studio tutorial to the documentation. The "Drumpad" example is added to the examples/tutorials folder, with both initial and final projects. The required Sounds are in a directory at the same level as both tutorials in order to reduce space. Change-Id: I59fdd662775ae48ee04e663d4aa5aa8cb333fcd5 Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
* type hints: Fix some return typesEce Cinucen9 days2-6/+3
| | | | | | | | | | | | | | Use Optional[...] to reflect that these functions may return None for functions QGuiApplication.screenAt, QGuiApplication.modalWindow and QCompleter.popup mapping.py file had already a list for functions missing optional return, the function names added to the this list and removed from typesystem. Amends da0f2625bf368e7d8ebd643cc303c8b7e6a6805d. Task-number: PYSIDE-3139 Pick-to: 6.8 6.9 Change-Id: Id6331862d7b0894a3e97b95e2e825533eca1896f Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Fix crash of test qpaintengine_test.py when using Python 3.14Friedemann Kleint9 days1-2/+2
| | | | | | | | | | | | | Shiboken::AutoDecRef must not be used for return values, it causes a missing reference. Amends e3631c3322d28447068de3a874055ff937b237c4. Pick-to: 6.9 6.8 Task-number: PYSIDE-3147 Task-number: PYSIDE-3002 Change-Id: Ib011b35562947d45b997e35ca45a2f55d16348b3 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Update the quicknanobrowser example from C++Friedemann Kleint9 days5-41/+143
| | | | | | | | | | | | Fixes warnings: Unknown File>: QML WebEngineProfile: Please use WebEngineProfilePrototype for profile creation from 6.9, as this function will be deprecated in the future releases <Unknown File>: QML WebEngineProfile: Please use WebEngineProfilePrototype for profile creation from 6.9, as this function will be deprecated in the future releases Storage name is empty. Cannot change profile from off-the-record to disk-based behavior until a proper storage name is set Switching to disk-based behavior Pick-to: 6.9 Change-Id: Ie46aefdd522cbdb47bd8a0ac152ab61e7c69f50c Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Fix detection of star imports for lazy loading for Python 3.14Friedemann Kleint9 days1-2/+24
| | | | | | | | | | Adapt the op codes for detecting a star import. Pick-to: 6.9 6.8 Task-number: PYSIDE-3147 Task-number: PYSIDE-2404 Change-Id: I54abb289e7beff519a0087af6e5b96c7a3df5880 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Enumerations: Enable the forgiveness feature ENOPT_NO_ZERODEFAULT for 3.14Friedemann Kleint9 days2-23/+63
| | | | | | | | | | | Adapt the op codes for detecting a parameterless __init__() call in enum code to 3.14. Pick-to: 6.9 6.8 Task-number: PYSIDE-3147 Task-number: PYSIDE-1735 Change-Id: I7dcaaae82b4c136db5dbd9ef36519783b73c15ce Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Tests: Fix remaining flake 8 warningsFriedemann Kleint10 days21-46/+48
| | | | | Change-Id: I3eae10ca459eae88632357ae5334c93fa2d0254f Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Tests: Fix flake 8 warning F841 local variable is assigned to but never usedFriedemann Kleint10 days34-37/+38
| | | | | | Pick-to: 6.9 6.8 Change-Id: Idff689832a68fadf6c4492032df3ed94b9343389 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Tests: Fix flake 8 warning E402 module level import not at top of fileFriedemann Kleint10 days27-82/+83
| | | | | | Pick-to: 6.9 6.8 Change-Id: Ibcd0ee3190638ac224c6dd770de0dffe93ed9dda Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Deployment: sort list values before filling values into pysidedeploy.specYoung Lee13 days2-1/+7
| | | | | | Task-number: PYSIDE-3146 Change-Id: I2c23e8ae3302bafc31a1a65013e2f3ed342d22ed Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* shibokenmodule: Output id() (PyObject *address) in dump()Friedemann Kleint13 days1-1/+2
| | | | | | Task-number: PYSIDE-3143 Change-Id: I2a7467e32adc180a41ba4ed992644a943194161b Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Fix leaking QStandardItem instances returned from QStandardItemModel functionsFriedemann Kleint13 days1-26/+0
| | | | | | | | | No longer add a parent-child relationship in functions that return QStandardItem (non-owning wrappers). Task-number: PYSIDE-3143 Change-Id: I7d48d9fbd149010fde0f42347af5b47c84855657 Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
* libshiboken: Add a warning when attempting to re-add a childFriedemann Kleint13 days1-1/+7
| | | | | | | | | The warning can be triggered by return value heuristics, so restrict it to verbose mode. Task-number: PYSIDE-3143 Change-Id: Id6935893af5a4ae57a0c6bf4dfb0c3d2b9a8f383 Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
* PySide6: Suppress warning when doing first signal connection from a threadFriedemann Kleint13 days1-1/+17
| | | | | | | | | | Explicitly move the tracker helper object to the thread. Fixes: PYSIDE-3137 Task-number: PYSIDE-2221 Task-number: PYSIDE-2810 Change-Id: I308467ca9ef8acab35d30578ca694136855c2d1a Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
* qfp_tool: Add an option to uninstall the PySide packagesFriedemann Kleint13 days1-1/+33
| | | | | | Pick-to: 6.9 Change-Id: Idb9354fa8e443fc0ea4aea72851163b9908a5e3f Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
* qfp_tool: Add a way to install via wheelsFriedemann Kleint13 days1-7/+31
| | | | | | | | | Add a boolean config key for wheel installation so that it can be configured by directory. Pick-to: 6.9 Change-Id: I2c245bd7746c13b2ed66159f3d95eed2ef6ceda1 Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
* Add developer documentation on thread sanitizerFriedemann Kleint13 days1-0/+34
| | | | | | | | | Complements 7b8592161d6c4d63c511a352fdf25d49ab0a1906. Task-number: PYSIDE-2221 Change-Id: Iceef71b8cf9b85f9f41c91e34638184848d4f653 Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io> Reviewed-by: Ece Cinucen <ece.cinucen@qt.io>
* Brush up developer documentation (extras.rst)Friedemann Kleint13 days1-4/+7
| | | | | | | Pick-to: 6.9 Change-Id: I5199c2780b108aa1dacb7a3f352e3e7a2f9220b3 Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io> Reviewed-by: Ece Cinucen <ece.cinucen@qt.io>
* Fix charts examples to run with Python 3.14Friedemann Kleint13 days2-2/+2
| | | | | | | | | | Default-constructing flags no longer works in Python 3.14, add value. Pick-to: 6.9 6.8 Task-number: PYSIDE-3147 Change-Id: Idd1d123fb38ee60d4877440521dca57f997a69db Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io> Reviewed-by: Ece Cinucen <ece.cinucen@qt.io>
* lineandbar example: Fix warnings about adding axesFriedemann Kleint13 days1-1/+1
| | | | | | | | | | | | Fix: "Can not add axis. Axis already on the chart." "Can not find axis on the chart." "Can not find axis on the chart." Pick-to: 6.9 6.8 Change-Id: I95f6201635008f8b751448a035d301046723c29e Reviewed-by: Ece Cinucen <ece.cinucen@qt.io> Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
* shiboken6: Fix crash occurring when no source class can be found for typedef ↵Friedemann Kleint2025-07-221-4/+12
| | | | | | | | | entries Task-number: PYSIDE-3144 Pick-to: 6.9 6.8 Change-Id: I8696b9559f7ebe42048e7e8611834db61b7d5948 Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
* shiboken6: Add platform version optionFriedemann Kleint2025-07-225-2/+48
| | | | | | | | | | As observed for iOS, libclang falls back to a too-old OS version. Make it possible to override using a command line option. Task-number: PYSIDE-3105 Task-number: PYSIDE-2352 Change-Id: I251dca3e45e9bbc1737e54e0e9799595ab680ff9 Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
* shiboken6: Add platform version to the triplet parsingFriedemann Kleint2025-07-223-19/+59
| | | | | | | | | Complements 244b5dd5e1869ea85c5b78d27259965f7ca2c7bb. Task-number: PYSIDE-3105 Task-number: PYSIDE-2352 Change-Id: I0cb197a1683b8a4d5a7c7babbfc900180005a723 Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
* type hints: Fix QLocale.toString methodEce Cinucen2025-07-180-0/+0
| | | | | | | | | fix format parameter, type 'str' is correct instead of 'int' . Fixes: PYSIDE-3134 Pick-to: 6.8 6.9 Change-Id: I9a05ce730489a2d6a71867b21c70543f30d924cc Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
* type hints: Fix return types of QGuiApplication.screenAt and modalWindowEce Cinucen2025-07-181-0/+6
| | | | | | | | | Use Optional[...] to reflect that these functions may return None. Fixes: PYSIDE-3139 Pick-to: 6.8 6.9 Change-Id: Iea6da03b7f39ce0090804c58f0906863266fc87a Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
* type hints: Fix QLocale.toString methodEce Cinucen2025-07-161-0/+3
| | | | | | | | | | fix format parameter, type 'str' is correct instead of 'int' . Fixes: PYSIDE-3134 Pick-to: 6.8 6.9 Change-Id: I9a05ce730489a2d6a71867b21c70543f30d924cc Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
* Potential fix for stabilizing QtRemoteObjects cpp_interop testFriedemann Kleint2025-07-112-5/+14
| | | | | | | | | | | | | | The test sometimes fails, reporting an empty URL. Change the harness to use stdout for printing the URL so that the flushing can be controlled. Amends 19abd816e73bebdd489408d0a3b7676822bff39c. Pick-to: 6.9 Task-number: PYSIDE-862 Change-Id: Ie85ad5a4eb092f91add01905b711ff1db86e3a8f Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Fix OpenGL-Related error in iOS buildFriedemann Kleint2025-07-111-0/+1
| | | | | | | | | | Use the special casing from macOS. Task-number: PYSIDE-3105 Task-number: PYSIDE-2352 Change-Id: I43bc2268bcd07c5e124c08875bf1a4da56476a53 Reviewed-by: Ece Cinucen <ece.cinucen@qt.io> Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
* Fix QtMultimedia::audio_test to runFriedemann Kleint2025-07-112-5/+2
| | | | | | | | QMediaDevices needs allow-threads for the query functions. Pick-to: 6.9 6.8 Change-Id: Ieff9e9191491e6294232a0509d675ffa5a93d386 Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
* Use newer versions of the MSVC runtimeFriedemann Kleint2025-07-111-1/+1
| | | | | | | | | Bump the archive version. Pick-to: 6.9 Fixes: PYSIDE-2938 Change-Id: I1e00c96df9c6ba4ea55f1c0cf9e6ebdd0ae1f4f3 Reviewed-by: Simo Fält <simo.falt@qt.io>
* Download MSVC runtime instead of copying it from the build hostFriedemann Kleint2025-07-111-29/+2
| | | | | | | | | | | | This effectivly reverts 36f62dd5d45b8b84bd80064ceb43bab74a89321e since the MSVC runtime found on COIN hosts is quite old and cannot easily be updated. Now, the downloadable artifacts are used. Pick-to: 6.9 Task-number: PYSIDE-2938 Task-number: PYSIDE-2162 Change-Id: I228632070c92c18c60367d39c9d3540d36e7f6a2 Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>