Revision: 29046
          http://sourceforge.net/p/bibdesk/svn/29046
Author:   hofman
Date:     2025-02-22 17:09:05 +0000 (Sat, 22 Feb 2025)
Log Message:
-----------
Avoid checking item changes when the change alrready occurred for another item

Modified Paths:
--------------
    trunk/bibdesk/BibDocument_UI.m

Modified: trunk/bibdesk/BibDocument_UI.m
===================================================================
--- trunk/bibdesk/BibDocument_UI.m      2025-02-22 17:04:02 UTC (rev 29045)
+++ trunk/bibdesk/BibDocument_UI.m      2025-02-22 17:09:05 UTC (rev 29046)
@@ -1488,16 +1488,16 @@
     }
     
     if (docFlags.isDocumentClosed == NO) {
-        if (groupFieldsDependOnKey([self currentGroupFields], changedKey))
+        if ((docFlags.itemChangeMask & BDSKItemChangedGroupFieldMask) == 0 && 
groupFieldsDependOnKey([self currentGroupFields], changedKey))
             docFlags.itemChangeMask |= BDSKItemChangedGroupFieldMask;
-        if (smartGroupsDependOnKey([[groups smartGroups] 
valueForKeyPath:@"@distinctUnionOfArrays.filter.conditions.key"], changedKey))
+        if ((docFlags.itemChangeMask & BDSKItemChangedSmartGroupMask) == 0 && 
smartGroupsDependOnKey([[groups smartGroups] 
valueForKeyPath:@"@distinctUnionOfArrays.filter.conditions.key"], changedKey))
             docFlags.itemChangeMask |= BDSKItemChangedSmartGroupMask;
-        if (sortKeyDependsOnKey(sortKey, changedKey) || 
sortKeyDependsOnKey(previousSortKey, changedKey))
+        if ((docFlags.itemChangeMask & BDSKItemChangedSortKeyMask) == 0 && 
sortKeyDependsOnKey(sortKey, changedKey) || 
sortKeyDependsOnKey(previousSortKey, changedKey))
             docFlags.itemChangeMask |= BDSKItemChangedSortKeyMask;
-        if ([self displaysControlView:BDSKControlViewSearch] && 
searchKeyDependsOnKey([searchButtonBar selectedIdentifier], changedKey))
+        if ((docFlags.itemChangeMask & BDSKItemChangedSearchKeyMask) == 0 && 
[self displaysControlView:BDSKControlViewSearch] && 
searchKeyDependsOnKey([searchButtonBar selectedIdentifier], changedKey))
             docFlags.itemChangeMask |= BDSKItemChangedSearchKeyMask;
-        if ([changedKey isEqualToString:BDSKLocalFileString] || [changedKey 
isEqualToString:BDSKRemoteURLString] ||
-            (docFlags.showingURLFields && ([changedKey 
isEqualToString:BDSKLocalUrlString] || [changedKey 
isEqualToString:BDSKUrlString])))
+        if ((docFlags.itemChangeMask & BDSKItemChangedFilesMask) == 0 && 
([changedKey isEqualToString:BDSKLocalFileString] || [changedKey 
isEqualToString:BDSKRemoteURLString] ||
+            (docFlags.showingURLFields && ([changedKey 
isEqualToString:BDSKLocalUrlString] || [changedKey 
isEqualToString:BDSKUrlString]))))
             docFlags.itemChangeMask |= BDSKItemChangedFilesMask;
         
         // queue for UI updating, in case the item is changed as part of a 
batch process such as Find & Replace or AutoFile

This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.



_______________________________________________
Bibdesk-commit mailing list
Bibdesk-commit@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bibdesk-commit

Reply via email to