fix: prevent qthrottled and qdebounced from holding strong references with bound methods (#247)

* finish

* linting

* done

* use weakmethod, add signature

* add test for warning
This commit is contained in:
Talley Lambert
2024-06-03 10:24:03 -04:00
committed by GitHub
parent 7b1aefd119
commit 1f4d9081b9
4 changed files with 107 additions and 35 deletions

View File

@@ -37,19 +37,18 @@ jobs:
- python-version: "3.11"
backend: pyside2
include:
# https://bugreports.qt.io/browse/PYSIDE-2627
- python-version: "3.10"
platform: macos-latest
backend: "'pyside6!=6.6.2'"
backend: pyside6
- python-version: "3.11"
platform: macos-latest
backend: "'pyside6!=6.6.2'"
backend: pyside6
- python-version: "3.10"
platform: windows-latest
backend: "'pyside6!=6.6.2'"
backend: pyside6
- python-version: "3.11"
platform: windows-latest
backend: "'pyside6!=6.6.2'"
backend: pyside6
- python-version: "3.12"
platform: macos-latest
backend: pyqt6
@@ -69,7 +68,7 @@ jobs:
with:
python-version: "3.8"
qt: pyqt5
pip-post-installs: 'qtpy==1.1.0 typing-extensions==3.7.4.3'
pip-post-installs: "qtpy==1.1.0 typing-extensions==3.7.4.3"
pip-install-flags: -e
coverage-upload: artifact
@@ -84,11 +83,11 @@ jobs:
with:
dependency-repo: napari/napari
dependency-ref: ${{ matrix.napari-version }}
dependency-extras: 'testing'
dependency-extras: "testing"
qt: ${{ matrix.qt }}
pytest-args: 'napari/_qt -k "not async and not qt_dims_2 and not qt_viewer_console_focus and not keybinding_editor"'
python-version: "3.10"
post-install-cmd: 'pip install lxml_html_clean'
post-install-cmd: "pip install lxml_html_clean"
strategy:
fail-fast: false
matrix: