Skip to content

Commit 07ad2b6

Browse files
authored
gguf-py : fix disconnect-before-connect in editor-gui (#13569)
The bug caused a crash upon load with venvs created with --system-site-packages to use python3-pyside6.qtwidgets=python3-pyside6.qtwidgets=6.6.2-4 from Kubuntu 24.10.
1 parent c531edf commit 07ad2b6

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

gguf-py/gguf/scripts/gguf_editor_gui.py

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -823,6 +823,7 @@ def __init__(self):
823823
self.modified = False
824824
self.metadata_changes = {} # Store changes to apply when saving
825825
self.metadata_to_remove = set() # Store keys to remove when saving
826+
self.on_metadata_changed_is_connected = False
826827

827828
self.setup_ui()
828829

@@ -941,9 +942,11 @@ def load_metadata(self):
941942
return
942943

943944
# Disconnect to prevent triggering during loading
944-
with warnings.catch_warnings():
945-
warnings.filterwarnings('ignore')
946-
self.metadata_table.itemChanged.disconnect(self.on_metadata_changed)
945+
if self.on_metadata_changed_is_connected:
946+
with warnings.catch_warnings():
947+
warnings.filterwarnings('ignore')
948+
self.metadata_table.itemChanged.disconnect(self.on_metadata_changed)
949+
self.on_metadata_changed_is_connected = False
947950

948951
for i, (key, field) in enumerate(self.reader.fields.items()):
949952
self.metadata_table.insertRow(i)
@@ -1021,6 +1024,7 @@ def load_metadata(self):
10211024

10221025
# Reconnect after loading
10231026
self.metadata_table.itemChanged.connect(self.on_metadata_changed)
1027+
self.on_metadata_changed_is_connected = True
10241028

10251029
def extract_array_values(self, field: ReaderField) -> list:
10261030
"""Extract all values from an array field."""

0 commit comments

Comments
 (0)