Revision: 29748
          http://sourceforge.net/p/bibdesk/svn/29748
Author:   hofman
Date:     2025-10-21 21:03:02 +0000 (Tue, 21 Oct 2025)
Log Message:
-----------
reset menuNeedsUpdate when menu was populated

Modified Paths:
--------------
    trunk/bibdesk/BDSKBookmarkController.m
    trunk/bibdesk/BDSKSearchBookmarkController.m

Modified: trunk/bibdesk/BDSKBookmarkController.m
===================================================================
--- trunk/bibdesk/BDSKBookmarkController.m      2025-10-21 16:17:08 UTC (rev 
29747)
+++ trunk/bibdesk/BDSKBookmarkController.m      2025-10-21 21:03:02 UTC (rev 
29748)
@@ -345,6 +345,7 @@
             }
             for (BDSKBookmark *bm in bookmarks)
                 [self addItemForBookmark:bm toMenu:menu forDisplay:display];
+            [bookmark setMenuNeedsUpdate:NO];
         } else if (display) {
             for (NSMenuItem *item in [menu itemArray]) {
                 BDSKBookmark *bm = [item representedObject];
@@ -360,7 +361,7 @@
 }
 
 - (BOOL)menuHasKeyEquivalent:(NSMenu *)menu forEvent:(NSEvent *)event 
target:(id *)target action:(SEL *)action {
-    if ([[NSUserDefaults standardUserDefaults] 
dictionaryForKey:@"NSUserKeyEquivalents"])
+    if ([[NSUserDefaults standardUserDefaults] 
objectForKey:@"NSUserKeyEquivalents"])
         [self updateMenu:menu forDisplay:NO];
     return NO;
 }

Modified: trunk/bibdesk/BDSKSearchBookmarkController.m
===================================================================
--- trunk/bibdesk/BDSKSearchBookmarkController.m        2025-10-21 16:17:08 UTC 
(rev 29747)
+++ trunk/bibdesk/BDSKSearchBookmarkController.m        2025-10-21 21:03:02 UTC 
(rev 29748)
@@ -320,26 +320,25 @@
     else if (idx >= 0)
         bookmark = [[supermenu itemAtIndex:idx] representedObject];
     
-    if ([bookmark isKindOfClass:[BDSKSearchBookmark class]]) {
-        if ([bookmark menuNeedsUpdate]) {
-            NSArray *bookmarks = [bookmark children];
-            if (supermenu == [NSApp mainMenu]) {
-                NSInteger i = [menu numberOfItems];
-                while (i-- > 0 && ([[menu itemAtIndex:i] isSeparatorItem] || 
[[menu itemAtIndex:i] representedObject]))
-                    [menu removeItemAtIndex:i];
-                if ([bookmarks count] > 0)
-                    [menu addItem:[NSMenuItem separatorItem]];
-            } else {
-                [menu removeAllItems];
-            }
-            for (BDSKSearchBookmark *bm in bookmarks)
-                [self addItemForBookmark:bm toMenu:menu];
+    if ([bookmark isKindOfClass:[BDSKSearchBookmark class]] && [bookmark 
menuNeedsUpdate]) {
+        NSArray *bookmarks = [bookmark children];
+        if (supermenu == [NSApp mainMenu]) {
+            NSInteger i = [menu numberOfItems];
+            while (i-- > 0 && ([[menu itemAtIndex:i] isSeparatorItem] || 
[[menu itemAtIndex:i] representedObject]))
+                [menu removeItemAtIndex:i];
+            if ([bookmarks count] > 0)
+                [menu addItem:[NSMenuItem separatorItem]];
+        } else {
+            [menu removeAllItems];
         }
+        for (BDSKSearchBookmark *bm in bookmarks)
+            [self addItemForBookmark:bm toMenu:menu];
+        [bookmark setMenuNeedsUpdate:NO];
     }
 }
 
 - (BOOL)menuHasKeyEquivalent:(NSMenu *)menu forEvent:(NSEvent *)event 
target:(id *)target action:(SEL *)action {
-    if ([[NSUserDefaults standardUserDefaults] 
dictionaryForKey:@"NSUserKeyEquivalents"])
+    if ([[NSUserDefaults standardUserDefaults] 
objectForKey:@"NSUserKeyEquivalents"])
         [self menuNeedsUpdate:menu];
     return NO;
 }

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

Reply via email to