File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -945,14 +945,17 @@ def save_all_changes(self) -> int:
945945 count = self ._data_source .save_changes (list (self .all_rows .values ()))
946946
947947 # Mark dirty rows as saved (sets original_* fields, which are unlocked)
948- for row in dirty_rows :
949- row .mark_saved ()
950-
951- # Reset fully-deleted rows to skeleton state using edit_session
952- if rows_to_reset :
953- with self .edit_session ():
954- for row in rows_to_reset :
955- self ._reset_skeleton_row (row )
948+ with self .edit_session ():
949+ for row in dirty_rows :
950+ row .mark_saved ()
951+ # MANUALLY MARK AS CHANGED:
952+ # This ensures addr_key is added to self._current_changes
953+ self .mark_changed (row .addr_key )
954+
955+ # Reset fully-deleted rows to skeleton state using edit_session
956+ if rows_to_reset :
957+ for row in rows_to_reset :
958+ self ._reset_skeleton_row (row )
956959
957960 # Update modified time to prevent immediate reload
958961 if self ._file_path and os .path .exists (self ._file_path ):
You can’t perform that action at this time.
0 commit comments