vlc/vlc-3.0 | branch: master | Marvin Scholz <[email protected]> | Wed Jun 3 15:45:48 2020 +0200| [77a6345fa1aa8f77b83be8207449d5a258e44492] | committer: Marvin Scholz
macosx: use vlc_safeDrawInBezierPath:angle: (cherry picked from commit 6c1786b6e0ff677ec7bff9de47f506443d889765) Signed-off-by: Marvin Scholz <[email protected]> > http://git.videolan.org/gitweb.cgi/vlc/vlc-3.0.git/?a=commit;h=77a6345fa1aa8f77b83be8207449d5a258e44492 --- modules/gui/macosx/VLCBottomBarView.m | 16 +++++++--------- modules/gui/macosx/VLCSliderCell.m | 5 ++--- modules/gui/macosx/VLCVolumeSliderCell.m | 19 +++++++------------ 3 files changed, 16 insertions(+), 24 deletions(-) diff --git a/modules/gui/macosx/VLCBottomBarView.m b/modules/gui/macosx/VLCBottomBarView.m index 912c355532..f0d97f7cfb 100644 --- a/modules/gui/macosx/VLCBottomBarView.m +++ b/modules/gui/macosx/VLCBottomBarView.m @@ -24,6 +24,7 @@ #import "VLCBottomBarView.h" #import "CompatibilityFixes.h" +#import "NSGradient+VLCAdditions.h" @interface VLCBottomBarView () { NSBezierPath *_rectanglePath; @@ -129,15 +130,12 @@ [[NSColor clearColor] setFill]; NSRectFill(barRect); - // Drawing a gradient into an empty bezier path will cause an exception, prevent that - if (![_rectanglePath isEmpty]) { - if (_isDark) { - [_darkGradient drawInBezierPath:_rectanglePath angle:270.0]; - [_darkStroke setStroke]; - } else { - [_lightGradient drawInBezierPath:_rectanglePath angle:270.0]; - [_lightStroke setStroke]; - } + if (_isDark) { + [_darkGradient vlc_safeDrawInBezierPath:_rectanglePath angle:270.0]; + [_darkStroke setStroke]; + } else { + [_lightGradient vlc_safeDrawInBezierPath:_rectanglePath angle:270.0]; + [_lightStroke setStroke]; } [_separatorPath stroke]; diff --git a/modules/gui/macosx/VLCSliderCell.m b/modules/gui/macosx/VLCSliderCell.m index 09fc9e2e1a..6cd71de105 100644 --- a/modules/gui/macosx/VLCSliderCell.m +++ b/modules/gui/macosx/VLCSliderCell.m @@ -23,6 +23,7 @@ #import "VLCSliderCell.h" #import "CompatibilityFixes.h" +#import "NSGradient+VLCAdditions.h" @interface VLCSliderCell () { NSInteger _animationPosition; @@ -228,9 +229,7 @@ static CVReturn DisplayLinkCallback(CVDisplayLinkRef displayLink, const CVTimeSt // Empty Track Drawing NSBezierPath* emptyTrackPath = [NSBezierPath bezierPathWithRoundedRect:rect xRadius:3 yRadius:3]; - // Drawing a gradient into an empty bezier path will cause an exception, prevent that - if (![emptyTrackPath isEmpty]) - [_trackGradient drawInBezierPath:emptyTrackPath angle:-90]; + [_trackGradient vlc_safeDrawInBezierPath:emptyTrackPath angle:-90]; if (_isKnobHidden) { [_trackStrokeColor setStroke]; diff --git a/modules/gui/macosx/VLCVolumeSliderCell.m b/modules/gui/macosx/VLCVolumeSliderCell.m index 489ac6dd76..e655ccb091 100644 --- a/modules/gui/macosx/VLCVolumeSliderCell.m +++ b/modules/gui/macosx/VLCVolumeSliderCell.m @@ -23,6 +23,7 @@ #import "VLCVolumeSliderCell.h" #import "CompatibilityFixes.h" +#import "NSGradient+VLCAdditions.h" @interface VLCVolumeSliderCell () { BOOL _isRTL; @@ -145,16 +146,14 @@ // Draw knob NSBezierPath* knobPath = [NSBezierPath bezierPathWithOvalInRect:NSInsetRect(knobRect, 1.0, 1.0)]; if (self.isHighlighted) { - // Drawing a gradient into an empty bezier path will cause an exception, prevent that - if (_knobGradient && ![knobPath isEmpty]) { - [_knobGradient drawInBezierPath:knobPath angle:_knobGradientAngleHighlighted]; + if (_knobGradient) { + [_knobGradient vlc_safeDrawInBezierPath:knobPath angle:_knobGradientAngleHighlighted]; } else { [_activeKnobFillColor setFill]; } } else { - // Drawing a gradient into an empty bezier path will cause an exception, prevent that - if (_knobGradient && ![knobPath isEmpty]) { - [_knobGradient drawInBezierPath:knobPath angle:_knobGradientAngle]; + if (_knobGradient) { + [_knobGradient vlc_safeDrawInBezierPath:knobPath angle:_knobGradientAngle]; } else { [_knobFillColor setFill]; } @@ -203,14 +202,10 @@ [emptyTrackPath fill]; // Filled part drawing - // Drawing a gradient into an empty bezier path will cause an exception, prevent that - if (![leadingTrackPath isEmpty]) - [_trackGradient drawInBezierPath:leadingTrackPath angle:-90]; + [_trackGradient vlc_safeDrawInBezierPath:leadingTrackPath angle:-90]; } else { // Empty part drawing - // Drawing a gradient into an empty bezier path will cause an exception, prevent that - if (![emptyTrackPath isEmpty]) - [_trackGradient drawInBezierPath:emptyTrackPath angle:-90]; + [_trackGradient vlc_safeDrawInBezierPath:emptyTrackPath angle:-90]; // Filled part drawing [_filledTrackColor setFill]; _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
