Revision: 29068
http://sourceforge.net/p/bibdesk/svn/29068
Author: hofman
Date: 2025-02-25 10:09:15 +0000 (Tue, 25 Feb 2025)
Log Message:
-----------
Let the error manager call editor's updateDisplayName instead of using KVO from
the editor, it is dangerous to observe a weak property
Modified Paths:
--------------
trunk/bibdesk/BDSKErrorEditor.m
trunk/bibdesk/BDSKErrorManager.m
Modified: trunk/bibdesk/BDSKErrorEditor.m
===================================================================
--- trunk/bibdesk/BDSKErrorEditor.m 2025-02-24 22:45:38 UTC (rev 29067)
+++ trunk/bibdesk/BDSKErrorEditor.m 2025-02-25 10:09:15 UTC (rev 29068)
@@ -180,13 +180,9 @@
- (void)setManager:(BDSKErrorManager *)newManager {
if(manager != newManager){
+ manager = newManager;
if (manager)
- [manager removeObserver:self forKeyPath:@"displayName"
context:&BDSKErrorEditorObservationContext];
- manager = newManager;
- if (manager) {
[self updateDisplayName];
- [manager addObserver:self forKeyPath:@"displayName" options:0
context:&BDSKErrorEditorObservationContext];
- }
}
}
@@ -207,20 +203,10 @@
displayName = newDisplayName;
}
[self didChangeValueForKey:@"displayName"];
-}
-
-- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object
change:(NSDictionary *)change context:(void *)context{
- if (context == &BDSKErrorEditorObservationContext) {
- if(object == manager && [keyPath isEqualToString:@"displayName"]){
- [self updateDisplayName];
-
- if ([self isWindowLoaded]) {
- NSString *prefix = pasteDrag ? NSLocalizedString(@"Paste/Drag
Data", @"Partial window title") : NSLocalizedString(@"Source Data", @"Partial
window title");
- [[self window] setTitle:[NSString stringWithFormat:@"%@: %@",
prefix, [manager displayName]]];
- }
- }
- } else {
- [super observeValueForKeyPath:keyPath ofObject:object change:change
context:context];
+
+ if ([self isWindowLoaded]) {
+ NSString *prefix = pasteDrag ? NSLocalizedString(@"Paste/Drag Data",
@"Partial window title") : NSLocalizedString(@"Source Data", @"Partial window
title");
+ [[self window] setTitle:[NSString stringWithFormat:@"%@: %@", prefix,
[manager displayName]]];
}
}
Modified: trunk/bibdesk/BDSKErrorManager.m
===================================================================
--- trunk/bibdesk/BDSKErrorManager.m 2025-02-24 22:45:38 UTC (rev 29067)
+++ trunk/bibdesk/BDSKErrorManager.m 2025-02-25 10:09:15 UTC (rev 29068)
@@ -139,8 +139,6 @@
if(document == nil)
return;
- [self willChangeValueForKey:@"displayName"];
-
NSString *name = [document displayName];
[self setDocumentDisplayName:name ?: @"?"];
@@ -151,7 +149,7 @@
uniqueNumber = MAX(uniqueNumber, [manager uniqueNumber] + 1);
}
- [self didChangeValueForKey:@"displayName"];
+ [editors makeObjectsPerformSelector:@selector(updateDisplayName)];
}
- (NSStringEncoding)documentStringEncoding;
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
_______________________________________________
Bibdesk-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bibdesk-commit