Title: [183831] trunk/Source/WebCore
- Revision
- 183831
- Author
- [email protected]
- Date
- 2015-05-05 15:01:42 -0700 (Tue, 05 May 2015)
Log Message
Prevent recursive calls to show target picker menu.
https://bugs.webkit.org/show_bug.cgi?id=144637
<rdar://problem/20824726>
Reviewed by Jer Noble.
* platform/graphics/avfoundation/objc/MediaPlaybackTargetPickerMac.h: Add m_showingMenu.
* platform/graphics/avfoundation/objc/MediaPlaybackTargetPickerMac.mm:
(WebCore::MediaPlaybackTargetPickerMac::showPlaybackTargetPicker): Do nothing if the menu
is already showing.
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (183830 => 183831)
--- trunk/Source/WebCore/ChangeLog 2015-05-05 21:31:14 UTC (rev 183830)
+++ trunk/Source/WebCore/ChangeLog 2015-05-05 22:01:42 UTC (rev 183831)
@@ -1,3 +1,16 @@
+2015-05-05 Eric Carlson <[email protected]>
+
+ Prevent recursive calls to show target picker menu.
+ https://bugs.webkit.org/show_bug.cgi?id=144637
+ <rdar://problem/20824726>
+
+ Reviewed by Jer Noble.
+
+ * platform/graphics/avfoundation/objc/MediaPlaybackTargetPickerMac.h: Add m_showingMenu.
+ * platform/graphics/avfoundation/objc/MediaPlaybackTargetPickerMac.mm:
+ (WebCore::MediaPlaybackTargetPickerMac::showPlaybackTargetPicker): Do nothing if the menu
+ is already showing.
+
2015-05-05 Dean Jackson <[email protected]>
Use system blue for Airplay Glyph
Modified: trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlaybackTargetPickerMac.h (183830 => 183831)
--- trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlaybackTargetPickerMac.h 2015-05-05 21:31:14 UTC (rev 183830)
+++ trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlaybackTargetPickerMac.h 2015-05-05 22:01:42 UTC (rev 183831)
@@ -69,6 +69,7 @@
RetainPtr<AVOutputDeviceMenuController> m_outputDeviceMenuController;
RetainPtr<WebAVOutputDeviceMenuControllerHelper> m_outputDeviceMenuControllerDelegate;
RunLoop::Timer<MediaPlaybackTargetPickerMac> m_pendingActionTimer;
+ bool m_showingMenu { false };
};
} // namespace WebCore
Modified: trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlaybackTargetPickerMac.mm (183830 => 183831)
--- trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlaybackTargetPickerMac.mm 2015-05-05 21:31:14 UTC (rev 183830)
+++ trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlaybackTargetPickerMac.mm 2015-05-05 22:01:42 UTC (rev 183831)
@@ -134,15 +134,17 @@
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
void MediaPlaybackTargetPickerMac::showPlaybackTargetPicker(const FloatRect& location, bool checkActiveRoute)
{
- if (!m_client)
+ if (!m_client || m_showingMenu)
return;
+ m_showingMenu = true;
AVOutputDeviceMenuControllerType *picker = devicePicker();
if ([picker respondsToSelector:@selector(showMenuForRect:appearanceName:allowReselectionOfSelectedOutputDevice:)]) {
if ([picker showMenuForRect:location appearanceName:NSAppearanceNameVibrantLight allowReselectionOfSelectedOutputDevice:!checkActiveRoute])
currentDeviceDidChange();
} else
[picker showMenuForRect:location appearanceName:NSAppearanceNameVibrantLight];
+ m_showingMenu = false;
}
#pragma clang diagnostic pop
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes