[vlc-commits] [Git][videolan/vlc][master] macosx: fix progress slider artifacts on resize with macOS 14+

Jean-Baptiste Kempf (@jbk) gitlab at videolan.org
Sun Apr 5 20:45:06 UTC 2026



Jean-Baptiste Kempf pushed to branch master at VideoLAN / VLC


Commits:
0102360f by Serhii Bykov at 2026-04-05T22:31:26+02:00
macosx: fix progress slider artifacts on resize with macOS 14+

- - - - -


1 changed file:

- modules/gui/macosx/views/VLCPlaybackProgressSlider.m


Changes:

=====================================
modules/gui/macosx/views/VLCPlaybackProgressSlider.m
=====================================
@@ -37,11 +37,22 @@
     self = [super initWithCoder:coder];
 
     if (self) {
-        NSAssert([self.cell isKindOfClass:[VLCPlaybackProgressSlider cellClass]], 
+        NSAssert([self.cell isKindOfClass:[VLCPlaybackProgressSlider cellClass]],
                  @"VLCPlaybackProgressSlider cell is not a VLCPlaybackProgressSliderCell");
         self.scrollable = YES;
         if (@available(macOS 10.14, *)) {
             [self viewDidChangeEffectiveAppearance];
+
+            if (@available(macOS 13, *)) {
+                // Apple's documentation says the clipping default changed in macOS 13.
+                // Use a dynamic call so this still builds with SDKs that don't declare the selector.
+                SEL clipsToBoundsSelector = NSSelectorFromString(@"setClipsToBounds:");
+                if ([self respondsToSelector:clipsToBoundsSelector]) {
+                    void (*setClipsToBoundsImp)(id, SEL, BOOL) =
+                        (void (*)(id, SEL, BOOL))[self methodForSelector:clipsToBoundsSelector];
+                    setClipsToBoundsImp(self, clipsToBoundsSelector, YES);
+                }
+            }
         } else {
             [(VLCPlaybackProgressSliderCell*)self.cell setSliderStyleLight];
         }



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

-- 
View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/0102360f854d4305c17628cdaabd30293d37966d
You're receiving this email because of your account on code.videolan.org.




More information about the vlc-commits mailing list