[vlc-commits] [Git][videolan/vlc][master] 2 commits: macosx: Fix crash when glassifying video view buttons on macOS 26

Steve Lhomme (@robUx4) gitlab at videolan.org
Mon Oct 20 08:58:58 UTC 2025



Steve Lhomme pushed to branch master at VideoLAN / VLC


Commits:
c61cd4f9 by Claudio Cambra at 2025-10-20T08:38:55+00:00
macosx: Fix crash when glassifying video view buttons on macOS 26

Prevent adding nil buttons to array when using the classic video view on macOS 26

Signed-off-by: Claudio Cambra <developer at claudiocambra.com>

- - - - -
17327a15 by Claudio Cambra at 2025-10-20T08:38:55+00:00
macosx: Use NSPointerArray to avoid nil items with glass buttons

Signed-off-by: Claudio Cambra <developer at claudiocambra.com>

- - - - -


1 changed file:

- modules/gui/macosx/windows/controlsbar/VLCMainVideoViewControlsBar.m


Changes:

=====================================
modules/gui/macosx/windows/controlsbar/VLCMainVideoViewControlsBar.m
=====================================
@@ -79,22 +79,24 @@
     if (@available(macOS 26.0, *)) {
 #if __MAC_OS_X_VERSION_MAX_ALLOWED >= 260000
         _mainButtonsSymbolConfig = [NSImageSymbolConfiguration configurationWithPaletteColors:@[NSColor.whiteColor]];
-        NSArray<NSButton *> * const buttons = @[
-            self.playButton,
-            self.backwardButton,
-            self.forwardButton,
-            self.jumpBackwardButton,
-            self.jumpForwardButton,
-            self.bookmarksButton,
-            self.subtitlesButton,
-            self.audioButton,
-            self.videoButton,
-            self.fullscreenButton,
-            self.floatOnTopButton,
-            self.playbackRateButton,
-            self.pipButton,
-            self.muteVolumeButton,
-        ];
+
+        NSPointerArray * const buttons = NSPointerArray.weakObjectsPointerArray;
+        [buttons addPointer:(__bridge void *)self.playButton];
+        [buttons addPointer:(__bridge void *)self.backwardButton];
+        [buttons addPointer:(__bridge void *)self.forwardButton];
+        [buttons addPointer:(__bridge void *)self.jumpBackwardButton];
+        [buttons addPointer:(__bridge void *)self.jumpForwardButton];
+        [buttons addPointer:(__bridge void *)self.bookmarksButton];
+        [buttons addPointer:(__bridge void *)self.subtitlesButton];
+        [buttons addPointer:(__bridge void *)self.audioButton];
+        [buttons addPointer:(__bridge void *)self.videoButton];
+        [buttons addPointer:(__bridge void *)self.fullscreenButton];
+        [buttons addPointer:(__bridge void *)self.floatOnTopButton];
+        [buttons addPointer:(__bridge void *)self.playbackRateButton];
+        [buttons addPointer:(__bridge void *)self.pipButton];
+        [buttons addPointer:(__bridge void *)self.muteVolumeButton];
+        [buttons compact];
+        
         for (NSButton * const button in buttons) {
             button.bordered = YES;
             button.borderShape = NSControlBorderShapeCapsule;



View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/627296a36e86c6a3b7f2ec42af12f09fc662cede...17327a152aa18194ee490f6dfc4433c3d37208db

-- 
View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/627296a36e86c6a3b7f2ec42af12f09fc662cede...17327a152aa18194ee490f6dfc4433c3d37208db
You're receiving this email because of your account on code.videolan.org.


VideoLAN code repository instance


More information about the vlc-commits mailing list