diff --git a/atom/browser/native_window_mac.mm b/atom/browser/native_window_mac.mm index 34f4028d4a57..d2ca6b8621d1 100644 --- a/atom/browser/native_window_mac.mm +++ b/atom/browser/native_window_mac.mm @@ -369,6 +369,8 @@ bool ScopedDisableResize::disable_resize_ = false; } - (void)resetTouchBar:(const std::vector&)settings { + if (![self respondsToSelector:@selector(touchBar)]) return; + atom_touch_bar_.reset([[AtomTouchBar alloc] initWithDelegate:self window:shell_ settings:settings]); diff --git a/spec/api-touch-bar-spec.js b/spec/api-touch-bar-spec.js index b658c0c24866..cdca2d47c446 100644 --- a/spec/api-touch-bar-spec.js +++ b/spec/api-touch-bar-spec.js @@ -33,16 +33,18 @@ describe('TouchBar module', function () { }) it('can be added to and removed from a window', function () { + const label = new TouchBarLabel({label: 'bar'}) const touchBar = new TouchBar([ new TouchBarButton({label: 'foo', backgroundColor: '#F00', click: () => {}}), new TouchBarColorPicker({selectedColor: '#F00', change: () => {}}), new TouchBarGroup({items: new TouchBar([new TouchBarLabel({label: 'hello'})])}), - new TouchBarLabel({label: 'bar'}), + label, new TouchBarPopover({items: new TouchBar([new TouchBarButton({label: 'pop'})])}), new TouchBarSlider({label: 'slide', value: 5, minValue: 2, maxValue: 75, change: () => {}}), new TouchBarSpacer({size: 'large'}) ]) window.setTouchBar(touchBar) + label.label = 'baz' window.setTouchBar() window.setTouchBar(new TouchBar([new TouchBarLabel({label: 'two'})])) })