[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