From 2cc3e2461e84785e92909219379ba9901b5decf9 Mon Sep 17 00:00:00 2001 From: Herman Snevajs Date: Fri, 13 Feb 2026 12:08:26 +0100 Subject: [PATCH 1/4] Shutdown pygeodiff when unloading plugin --- Mergin/plugin.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Mergin/plugin.py b/Mergin/plugin.py index af706de0..734e5425 100644 --- a/Mergin/plugin.py +++ b/Mergin/plugin.py @@ -552,6 +552,8 @@ def add_context_menu_actions(self, layers): self.iface.addCustomActionForLayer(self.action_export_mbtiles, l) def unload(self): + from .utils import pygeodiff + if self.iface is not None: # Disconnect Mergin related signals self.iface.projectRead.disconnect(self.on_qgis_project_changed) @@ -577,6 +579,8 @@ def unload(self): QgsExpressionContextUtils.removeGlobalVariable("mm_user_email") QgsApplication.instance().dataItemProviderRegistry().removeProvider(self.data_item_provider) self.data_item_provider = None + # unload pygeodiff to avoid .pyd to be write-protected and thus impossible to delete on Windows + pygeodiff.shutdown() # this is crashing qgis on exit # self.iface.browserModel().reload() From 0d0a4a7f1d456baaeb8ced2ddbe052a6241aaaa4 Mon Sep 17 00:00:00 2001 From: Herman Snevajs Date: Mon, 16 Feb 2026 16:38:14 +0100 Subject: [PATCH 2/4] Upgrade geodiff version --- .github/workflows/packages.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/packages.yml b/.github/workflows/packages.yml index 25d9659c..616a721b 100644 --- a/.github/workflows/packages.yml +++ b/.github/workflows/packages.yml @@ -10,11 +10,11 @@ on: type: string REQUESTED_GEODIFF_VER: description: 'Geodiff version' - default: '2.1.2' + default: '2.2.0' type: string env: PYTHON_API_CLIENT_VER: ${{ inputs.REQUESTED_PYTHON_API_CLIENT_VER || '0.12.2' }} - GEODIFF_VER: ${{ inputs.REQUESTED_GEODIFF_VER || '2.1.2' }} + GEODIFF_VER: ${{ inputs.REQUESTED_GEODIFF_VER || '2.2.0' }} PYTHON_VER: "38" jobs: build_linux_binary: From 740eadcd4e52abb12107f1485e04a5d3fe7e4e98 Mon Sep 17 00:00:00 2001 From: Herman Snevajs Date: Mon, 16 Feb 2026 16:55:31 +0100 Subject: [PATCH 3/4] drop win32 --- .github/workflows/packages.yml | 7 ------- 1 file changed, 7 deletions(-) diff --git a/.github/workflows/packages.yml b/.github/workflows/packages.yml index 616a721b..f36a3440 100644 --- a/.github/workflows/packages.yml +++ b/.github/workflows/packages.yml @@ -61,13 +61,6 @@ jobs: run: | choco install unzip - - name: Download pygeodiff 32 binaries - run: | - pip3 download --only-binary=:all: --no-deps --platform "win32" --python-version $env:PYTHON_VER pygeodiff==$env:GEODIFF_VER - unzip -o pygeodiff-$env:GEODIFF_VER-cp$env:PYTHON_VER-cp$env:PYTHON_VER-win32.whl -d tmp32 - mkdir pygeodiff-binaries - copy tmp32\pygeodiff\*.pyd pygeodiff-binaries\ - - name: Download pygeodiff 64 binaries run: | pip3 download --only-binary=:all: --no-deps --platform "win_amd64" --python-version $env:PYTHON_VER pygeodiff==$env:GEODIFF_VER From e8cd564724ed926a4cb68738a6c8e5aab69ade0b Mon Sep 17 00:00:00 2001 From: Herman Snevajs Date: Mon, 16 Feb 2026 17:32:46 +0100 Subject: [PATCH 4/4] mkdir back --- .github/workflows/packages.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/packages.yml b/.github/workflows/packages.yml index f36a3440..2d5a2f3c 100644 --- a/.github/workflows/packages.yml +++ b/.github/workflows/packages.yml @@ -65,6 +65,7 @@ jobs: run: | pip3 download --only-binary=:all: --no-deps --platform "win_amd64" --python-version $env:PYTHON_VER pygeodiff==$env:GEODIFF_VER unzip -o pygeodiff-$env:GEODIFF_VER-cp$env:PYTHON_VER-cp$env:PYTHON_VER-win_amd64.whl -d tmp64 + mkdir pygeodiff-binaries copy tmp64\pygeodiff\*.pyd pygeodiff-binaries\ - uses: actions/upload-artifact@v4