[vlc-commits] [Git][videolan/vlc][master] macosx: fix crash when right-clicking empty space in library table view

Steve Lhomme (@robUx4) gitlab at videolan.org
Sun Jul 12 01:31:42 UTC 2026



Steve Lhomme pushed to branch master at VideoLAN / VLC


Commits:
cf184a3e by Serhii Bykov at 2026-07-12T01:18:24+00:00
macosx: fix crash when right-clicking empty space in library table view

- - - - -


2 changed files:

- modules/gui/macosx/library/VLCLibraryMenuController.m
- modules/gui/macosx/library/VLCLibraryTableView.m


Changes:

=====================================
modules/gui/macosx/library/VLCLibraryMenuController.m
=====================================
@@ -192,6 +192,16 @@
 
     _removeFromPlaylistItem.hidden = YES;
 
+    /* no represented items (right-click on empty space) - media actions are disabled */
+    if (self.representedItems.count == 0 && self.representedInputItems.count == 0) {
+        [self menuItems:_inputItemRequiringMenuItems setHidden:YES];
+        [self menuItems:_localInputItemRequiringMenuItems setHidden:YES];
+        [self menuItems:_folderInputItemRequiringMenuItems setHidden:YES];
+        [self menuItems:_recentsMediaItemRequiringMenuItems setHidden:YES];
+        [self menuItems:_mediaItemRequiringMenuItems setHidden:NO];
+        return;
+    }
+
     if (self.representedItems != nil && self.representedItems.count > 0) {
         [self menuItems:_inputItemRequiringMenuItems setHidden:YES];
         [self menuItems:_localInputItemRequiringMenuItems setHidden:YES];
@@ -277,6 +287,15 @@
    }
 }
 
+- (BOOL)validateMenuItem:(NSMenuItem *)menuItem
+{
+    /* add media action is always available, every other action needs a represented item. */
+    if (menuItem.action == @selector(addMedia:)) {
+        return YES;
+    }
+    return self.representedItems.count > 0 || self.representedInputItems.count > 0;
+}
+
 - (void)popupMenuWithEvent:(NSEvent *)theEvent forView:(NSView *)theView
 {
     [NSMenu popUpContextMenu:_libraryMenu withEvent:theEvent forView:theView];


=====================================
modules/gui/macosx/library/VLCLibraryTableView.m
=====================================
@@ -91,6 +91,12 @@
         return;
     }
 
+    /* right-click on empty space - no represented items, so actions are disabled */
+    if (self.clickedRow == -1) {
+        _menuController.representedItems = @[];
+        return;
+    }
+
     NSMutableIndexSet * const indices = self.selectedRowIndexes.mutableCopy;
     const NSUInteger hasSelectedIndices = indices.count > 0;
     const NSInteger clickedRow = self.clickedRow;



View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/cf184a3e73a658546d7812c76a2e0e473eadd2a3

-- 
View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/cf184a3e73a658546d7812c76a2e0e473eadd2a3
You're receiving this email because of your account on code.videolan.org. Manage all notifications: https://code.videolan.org/-/profile/notifications | Help: https://code.videolan.org/help




More information about the vlc-commits mailing list