Skip to content

Commit 292c077

Browse files
authored
Merge branch 'master' into py316-deprecate
2 parents d3b4897 + 990e7ba commit 292c077

5 files changed

Lines changed: 34 additions & 29 deletions

File tree

.github/workflows/main.yml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,15 @@ on:
77
- develop
88
pull_request:
99
branches:
10-
- '**'
10+
- "**"
1111

1212
concurrency:
1313
group: tests-${{ github.head_ref || github.ref }}
1414
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
1515

1616
jobs:
1717
tests:
18-
name: ${{ matrix.os }} / ${{ matrix.python-version }}
18+
name: ${{ matrix.os }} / ${{ matrix.python-version }} / ${{ matrix.qt-version }}
1919
runs-on: ${{ matrix.image }}
2020
strategy:
2121
matrix:
@@ -24,11 +24,11 @@ jobs:
2424
qt-version: ["pyside2", "pyside6", "pyqt5", "pyqt6"]
2525
include:
2626
- os: Ubuntu
27-
image: ubuntu-20.04
27+
image: ubuntu-24.04
2828
- os: Windows
2929
image: windows-2022
3030
- os: MacOS
31-
image: macos-12
31+
image: macos-14
3232
exclude:
3333
- os: MacOS
3434
qt-version: pyside2
@@ -52,7 +52,7 @@ jobs:
5252

5353
- name: Bootstrap poetry
5454
run: |
55-
curl -sSL https://install.python-poetry.org | python - -y
55+
curl -sSL https://install.python-poetry.org | POETRY_VERSION=1.8.4 python - -y
5656
5757
- name: Update Path
5858
if: ${{ matrix.os != 'Windows' }}
@@ -103,7 +103,7 @@ jobs:
103103
DEBIAN_FRONTEND: noninteractive
104104
run: |
105105
sudo apt-get -qq update
106-
sudo apt-get -qq install '^libxcb.*-dev' libx11-xcb-dev libglu1-mesa-dev libxrender-dev libxi-dev libxkbcommon-dev libxkbcommon-x11-dev
106+
sudo apt-get -qq install '^libxcb.*-dev' libx11-xcb-dev libglu1-mesa-dev libxrender-dev libxi-dev libxkbcommon-dev libxkbcommon-x11-dev libegl-dev
107107
108108
- name: Run pytest
109109
uses: coactions/setup-xvfb@v1

.github/workflows/release.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ name: Release
33
on:
44
push:
55
tags:
6-
- '*.*.*'
6+
- "*.*.*"
77

88
jobs:
99
release:
@@ -20,7 +20,7 @@ jobs:
2020

2121
- name: Install Poetry
2222
run: |
23-
curl -sSL https://install.python-poetry.org | python - -y
23+
curl -sSL https://install.python-poetry.org | POETRY_VERSION=1.8.4 python - -y
2424
2525
- name: Update PATH
2626
run: echo "$HOME/.local/bin" >> $GITHUB_PATH

pyproject.toml

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
[tool.poetry]
22
name = "qasync"
3-
version = "0.27.1"
3+
version = "0.27.2"
44
description = "Python library for using asyncio in Qt-based applications"
55
authors = [
6-
"Arve Knudsen <arve.knudsen@gmail.com>",
7-
"Gerard Marull-Paretas <gerard@teslabs.com>",
8-
"Mark Harviston <mark.harviston@gmail.com>",
9-
"Sam McCormack",
6+
"Arve Knudsen <arve.knudsen@gmail.com>",
7+
"Gerard Marull-Paretas <gerard@teslabs.com>",
8+
"Mark Harviston <mark.harviston@gmail.com>",
9+
"Sam McCormack",
1010
]
1111
maintainers = ["Alex March <alexmach@fastmail.com>"]
1212
license = "BSD-2-Clause"
@@ -15,13 +15,13 @@ homepage = "https://github.com/CabbageDevelopment/qasync"
1515
repository = "https://github.com/CabbageDevelopment/qasync"
1616
keywords = ["Qt", "asncio"]
1717
classifiers = [
18-
"Development Status :: 4 - Beta",
19-
"Environment :: X11 Applications :: Qt",
20-
"Intended Audience :: Developers",
21-
"Operating System :: MacOS",
22-
"Operating System :: Microsoft",
23-
"Operating System :: POSIX",
24-
"Topic :: Software Development :: Libraries :: Python Modules",
18+
"Development Status :: 4 - Beta",
19+
"Environment :: X11 Applications :: Qt",
20+
"Intended Audience :: Developers",
21+
"Operating System :: MacOS",
22+
"Operating System :: Microsoft",
23+
"Operating System :: POSIX",
24+
"Topic :: Software Development :: Libraries :: Python Modules",
2525
]
2626

2727
[tool.poetry.dependencies]

qasync/__init__.py

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -342,7 +342,9 @@ def __init__(self, app=None, set_running_loop=False, already_running=False):
342342

343343
self.__call_soon_signaller = signaller = _make_signaller(QtCore, object, tuple)
344344
self.__call_soon_signal = signaller.signal
345-
signaller.signal.connect(lambda callback, args: self.call_soon(callback, *args))
345+
self.__call_soon_signal.connect(
346+
lambda callback, args: self.call_soon(callback, *args)
347+
)
346348

347349
assert self.__app is not None
348350
super().__init__()
@@ -438,6 +440,9 @@ def close(self):
438440
if self.__default_executor is not None:
439441
self.__default_executor.shutdown()
440442

443+
if self.__call_soon_signal:
444+
self.__call_soon_signal.disconnect()
445+
441446
super().close()
442447

443448
self._timer.stop()
@@ -524,6 +529,7 @@ def _remove_reader(self, fd):
524529
return False
525530
else:
526531
notifier.setEnabled(False)
532+
notifier.activated["int"].disconnect()
527533
return True
528534

529535
def _add_writer(self, fd, callback, *args):
@@ -564,6 +570,7 @@ def _remove_writer(self, fd):
564570
return False
565571
else:
566572
notifier.setEnabled(False)
573+
notifier.activated["int"].disconnect()
567574
return True
568575

569576
def __notifier_cb_wrapper(self, notifiers, notifier, fd, callback, args):
@@ -579,8 +586,6 @@ def __notifier_cb_wrapper(self, notifiers, notifier, fd, callback, args):
579586
# callback. We must not re-enable it in that case.
580587
if notifiers.get(fd, None) is notifier:
581588
notifier.setEnabled(True)
582-
else:
583-
notifier.activated["int"].disconnect()
584589

585590
def __on_notifier_ready(self, notifiers, notifier, fd, callback, args):
586591
if fd not in notifiers:

tests/test_qeventloop.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,19 +4,19 @@
44
# BSD License
55

66
import asyncio
7-
import logging
8-
import sys
9-
import os
107
import ctypes
8+
import logging
119
import multiprocessing
12-
from concurrent.futures import ThreadPoolExecutor, ProcessPoolExecutor
10+
import os
1311
import socket
1412
import subprocess
15-
16-
import qasync
13+
import sys
14+
from concurrent.futures import ProcessPoolExecutor, ThreadPoolExecutor
1715

1816
import pytest
1917

18+
import qasync
19+
2020

2121
@pytest.fixture
2222
def loop(request, application):

0 commit comments

Comments
 (0)