diff options
author | Liang Qi <liang.qi@qt.io> | 2016-09-22 07:28:34 +0200 |
---|---|---|
committer | Liang Qi <liang.qi@qt.io> | 2016-09-22 07:28:34 +0200 |
commit | 50908f023d83257dbc0b6d17bfe29e2f101615af (patch) | |
tree | de68e2d9587db1fb59d75505981b6ff033e12992 /src/plugins/platforms/ios | |
parent | 7555a925816e3244073803f0adc4d44640f5ac1d (diff) | |
parent | d10e4c193b0152350e884adcc1060aabd1a974f7 (diff) |
Merge remote-tracking branch 'origin/5.7' into 5.8
Conflicts:
src/plugins/platforms/ios/qiosviewcontroller.mm
Change-Id: I2dda31867cbc79ea7fe965f52afb518aefa4ad20
Diffstat (limited to 'src/plugins/platforms/ios')
-rw-r--r-- | src/plugins/platforms/ios/qiosmenu.mm | 7 | ||||
-rw-r--r-- | src/plugins/platforms/ios/qiosviewcontroller.mm | 4 | ||||
-rw-r--r-- | src/plugins/platforms/ios/qioswindow.mm | 2 | ||||
-rw-r--r-- | src/plugins/platforms/ios/quiview.mm | 3 |
4 files changed, 12 insertions, 4 deletions
diff --git a/src/plugins/platforms/ios/qiosmenu.mm b/src/plugins/platforms/ios/qiosmenu.mm index 6165e480dc..02deab59b5 100644 --- a/src/plugins/platforms/ios/qiosmenu.mm +++ b/src/plugins/platforms/ios/qiosmenu.mm @@ -321,7 +321,7 @@ QIOSMenu::QIOSMenu() : QPlatformMenu() , m_tag(0) , m_enabled(true) - , m_visible(true) + , m_visible(false) , m_text(QString()) , m_menuType(DefaultMenu) , m_effectiveMenuType(DefaultMenu) @@ -414,7 +414,7 @@ void QIOSMenu::handleItemSelected(QIOSMenuItem *menuItem) void QIOSMenu::showPopup(const QWindow *parentWindow, const QRect &targetRect, const QPlatformMenuItem *item) { - if (m_currentMenu == this || !m_visible || !m_enabled || !parentWindow) + if (m_currentMenu == this || !parentWindow) return; emit aboutToShow(); @@ -441,6 +441,8 @@ void QIOSMenu::showPopup(const QWindow *parentWindow, const QRect &targetRect, c toggleShowUsingUIPickerView(true); break; } + + m_visible = true; } void QIOSMenu::dismiss() @@ -462,6 +464,7 @@ void QIOSMenu::dismiss() } m_currentMenu = 0; + m_visible = false; } void QIOSMenu::toggleShowUsingUIMenuController(bool show) diff --git a/src/plugins/platforms/ios/qiosviewcontroller.mm b/src/plugins/platforms/ios/qiosviewcontroller.mm index 72eb5e27a0..0478c5b8c8 100644 --- a/src/plugins/platforms/ios/qiosviewcontroller.mm +++ b/src/plugins/platforms/ios/qiosviewcontroller.mm @@ -229,6 +229,10 @@ @implementation QIOSViewController +@synthesize prefersStatusBarHidden; +@synthesize preferredStatusBarUpdateAnimation; +@synthesize preferredStatusBarStyle; + - (id)initWithQIOSScreen:(QT_PREPEND_NAMESPACE(QIOSScreen) *)screen { if (self = [self init]) { diff --git a/src/plugins/platforms/ios/qioswindow.mm b/src/plugins/platforms/ios/qioswindow.mm index ae14d87a30..8ff0dfbd5f 100644 --- a/src/plugins/platforms/ios/qioswindow.mm +++ b/src/plugins/platforms/ios/qioswindow.mm @@ -93,7 +93,7 @@ QIOSWindow::~QIOSWindow() // practice this doesn't seem to happen when removing the view from its superview. To ensure that // Qt's internal state for touch and mouse handling is kept consistent, we therefor have to force // cancellation of all touch events. - [m_view touchesCancelled:0 withEvent:0]; + [m_view touchesCancelled:[NSSet set] withEvent:0]; clearAccessibleCache(); m_view->m_qioswindow = 0; diff --git a/src/plugins/platforms/ios/quiview.mm b/src/plugins/platforms/ios/quiview.mm index e039594406..5c493617b1 100644 --- a/src/plugins/platforms/ios/quiview.mm +++ b/src/plugins/platforms/ios/quiview.mm @@ -429,7 +429,8 @@ // We do this by assuming that there are no cases where a // sub-set of the active touch events are intentionally cancelled. - if (touches && (static_cast<NSInteger>([touches count]) != m_activeTouches.count())) + NSInteger count = static_cast<NSInteger>([touches count]); + if (count != 0 && count != m_activeTouches.count()) qWarning("Subset of active touches cancelled by UIKit"); m_activeTouches.clear(); |