From e8765d97d5effe1e5552cd71275827790caf0153 Mon Sep 17 00:00:00 2001 From: Mark Brand Date: Thu, 12 Dec 2013 12:37:52 +0100 Subject: update qt5 packages (5.2.0 final) --- src/qtactiveqt.mk | 2 +- src/qtbase-1.patch | 3018 +-------------------------------------------- src/qtbase.mk | 6 +- src/qtconnectivity.mk | 2 +- src/qtdeclarative.mk | 2 +- src/qtgraphicaleffects.mk | 2 +- src/qtimageformats.mk | 2 +- src/qtlocation.mk | 2 +- src/qtmultimedia-1.patch | 266 +--- src/qtmultimedia.mk | 2 +- src/qtquick1.mk | 2 +- src/qtquickcontrols.mk | 2 +- src/qtscript.mk | 2 +- src/qtsensors.mk | 2 +- src/qtserialport.mk | 2 +- src/qtsvg.mk | 2 +- src/qttools.mk | 2 +- src/qttranslations.mk | 2 +- src/qtwinextras-1.patch | 255 +--- src/qtwinextras.mk | 2 +- src/qtxmlpatterns.mk | 2 +- 21 files changed, 27 insertions(+), 3552 deletions(-) diff --git a/src/qtactiveqt.mk b/src/qtactiveqt.mk index 44330ce..e7f9ca3 100644 --- a/src/qtactiveqt.mk +++ b/src/qtactiveqt.mk @@ -4,7 +4,7 @@ PKG := qtactiveqt $(PKG)_IGNORE := $(PKG)_VERSION = $(qtbase_VERSION) -$(PKG)_CHECKSUM := 56d1017d0afc02dfafbdc8ade3def4f845f7e481 +$(PKG)_CHECKSUM := 20d46965fb8d28b6a1e175a057e58debbd65d7cb $(PKG)_SUBDIR = $(subst qtbase,qtactiveqt,$(qtbase_SUBDIR)) $(PKG)_FILE = $(subst qtbase,qtactiveqt,$(qtbase_FILE)) $(PKG)_URL = $(subst qtbase,qtactiveqt,$(qtbase_URL)) diff --git a/src/qtbase-1.patch b/src/qtbase-1.patch index 96c35ba..97b7943 100644 --- a/src/qtbase-1.patch +++ b/src/qtbase-1.patch @@ -1,3018 +1,10 @@ This file is part of MXE. See index.html for further information. -From e903b5cddaaa606300292ad2cf26c2b6ee111cdd Mon Sep 17 00:00:00 2001 -From: Simon Hausmann -Date: Tue, 26 Nov 2013 10:45:53 +0100 -Subject: [PATCH 01/57] Fix for co-existence of QtDeclarative and QtQml - -As a follow-up to commit 2f87fde9bb4bad6787101c0d135419b350b201a5, we also need -to change "hack" in the QGraphicsItem and QWidget destructor for early item -destruction to support the _qml1 variant of the QObject destroyed callback. - -Task-number: QTBUG-35006 - -Change-Id: I65e37b1e9ddd8d14267aaba024408611b8cd3d77 -Reviewed-by: Lars Knoll - -diff --git a/src/widgets/graphicsview/qgraphicsitem.cpp b/src/widgets/graphicsview/qgraphicsitem.cpp -index 7cab132..fffc805 100644 ---- a/src/widgets/graphicsview/qgraphicsitem.cpp -+++ b/src/widgets/graphicsview/qgraphicsitem.cpp -@@ -1414,7 +1414,10 @@ QGraphicsItem::~QGraphicsItem() - QObjectPrivate *p = QObjectPrivate::get(o); - p->wasDeleted = true; - if (p->declarativeData) { -- QAbstractDeclarativeData::destroyed(p->declarativeData, o); -+ if (QAbstractDeclarativeData::destroyed) -+ QAbstractDeclarativeData::destroyed(p->declarativeData, o); -+ if (QAbstractDeclarativeData::destroyed_qml1) -+ QAbstractDeclarativeData::destroyed_qml1(p->declarativeData, o); - p->declarativeData = 0; - } - } -diff --git a/src/widgets/kernel/qwidget.cpp b/src/widgets/kernel/qwidget.cpp -index 1da0be9..421ce57 100644 ---- a/src/widgets/kernel/qwidget.cpp -+++ b/src/widgets/kernel/qwidget.cpp -@@ -1464,7 +1464,10 @@ QWidget::~QWidget() - } - - if (d->declarativeData) { -- QAbstractDeclarativeData::destroyed(d->declarativeData, this); -+ if (QAbstractDeclarativeData::destroyed) -+ QAbstractDeclarativeData::destroyed(d->declarativeData, this); -+ if (QAbstractDeclarativeData::destroyed_qml1) -+ QAbstractDeclarativeData::destroyed_qml1(d->declarativeData, this); - d->declarativeData = 0; // don't activate again in ~QObject - } - --- -1.8.4 - - -From 939a001c3ac33ebf801d2594ac9073da28d09a46 Mon Sep 17 00:00:00 2001 -From: Eskil Abrahamsen Blomfeldt -Date: Tue, 26 Nov 2013 10:13:04 +0100 -Subject: [PATCH 02/57] Android: Remove invalid error message - -All usage of context menus prints out an error message because -onContextMenuClosed() is called more than once. We just return -silently instead if the method is called after the menu has -already been closed. - -Change-Id: Ifa27ed42d188fdf670f09c4b1450b9fec0d5941f -Reviewed-by: BogDan Vatra - -diff --git a/src/android/jar/src/org/qtproject/qt5/android/QtActivityDelegate.java b/src/android/jar/src/org/qtproject/qt5/android/QtActivityDelegate.java -index 3dcffeb..3bcd6ea 100644 ---- a/src/android/jar/src/org/qtproject/qt5/android/QtActivityDelegate.java -+++ b/src/android/jar/src/org/qtproject/qt5/android/QtActivityDelegate.java -@@ -858,10 +858,8 @@ public class QtActivityDelegate - - public void onContextMenuClosed(Menu menu) - { -- if (!m_contextMenuVisible) { -- Log.e(QtNative.QtTAG, "invalid onContextMenuClosed call"); -+ if (!m_contextMenuVisible) - return; -- } - m_contextMenuVisible = false; - QtNative.onContextMenuClosed(menu); - } --- -1.8.4 - - -From 08f3177fdfc9aefbd4232dcd1529b537b2ca9402 Mon Sep 17 00:00:00 2001 -From: Gabriel de Dietrich -Date: Mon, 25 Nov 2013 13:41:49 +0100 -Subject: [PATCH 03/57] CoreWLan: Fix potential unhandled exception assert - --[QNSListener notificationHandler:] was declared as not taking any parameter, -but used as taking a single NSNotification. This would lead to an 'unrecognized -selector' exception raised by Cocoa. - -Task-number: QTBUG-26844 -Change-Id: I56d03a7738c2a1b9dcf3cdecc696b01e65d7b233 -Reviewed-by: Liang Qi - -diff --git a/src/plugins/bearer/corewlan/qcorewlanengine.mm b/src/plugins/bearer/corewlan/qcorewlanengine.mm -index b0ed407..dc29203 100644 ---- a/src/plugins/bearer/corewlan/qcorewlanengine.mm -+++ b/src/plugins/bearer/corewlan/qcorewlanengine.mm -@@ -71,7 +71,7 @@ extern "C" { // Otherwise it won't find CWKeychain* symbols at link time - QCoreWlanEngine *engine; - NSLock *locker; - } --- (void)notificationHandler;//:(NSNotification *)notification; -+- (void)notificationHandler:(NSNotification *)notification; - - (void)remove; - - (void)setEngine:(QCoreWlanEngine *)coreEngine; - - (QCoreWlanEngine *)engine; -@@ -120,8 +120,9 @@ extern "C" { // Otherwise it won't find CWKeychain* symbols at link time - [locker unlock]; - } - --- (void)notificationHandler//:(NSNotification *)notification -+- (void)notificationHandler:(NSNotification *)notification - { -+ Q_UNUSED(notification); - engine->requestUpdate(); - } - @end -diff --git a/src/plugins/bearer/corewlan/qcorewlanengine_10_6.mm b/src/plugins/bearer/corewlan/qcorewlanengine_10_6.mm -index 1b95ae2..7044e96 100644 ---- a/src/plugins/bearer/corewlan/qcorewlanengine_10_6.mm -+++ b/src/plugins/bearer/corewlan/qcorewlanengine_10_6.mm -@@ -48,7 +48,7 @@ - QCoreWlanEngine *engine; - NSLock *locker; - } --- (void)notificationHandler;//:(NSNotification *)notification; -+- (void)notificationHandler:(NSNotification *)notification; - - (void)remove; - - (void)setEngine:(QCoreWlanEngine *)coreEngine; - - (QCoreWlanEngine *)engine; -@@ -97,8 +97,9 @@ - [locker unlock]; - } - --- (void)notificationHandler//:(NSNotification *)notification -+- (void)notificationHandler:(NSNotification *)notification - { -+ Q_UNUSED(notification); - engine->requestUpdate(); - } - @end --- -1.8.4 - - -From f03fd0d82a50361c0b89165b3f8d98d66b0a4e16 Mon Sep 17 00:00:00 2001 -From: Stephen Kelly -Date: Tue, 26 Nov 2013 15:06:20 +0100 -Subject: [PATCH 04/57] Remove leading '/' from target paths. - -This is inappropriate on Windows, and breaks non-prefix builds there. - -This is only needed when we calculate a relative path from a sysroot, -so only add it in that case. - -Task-number: QTBUG-34880 -Change-Id: I0e3b3d977a7b56649e4ba0077ac574aabf1dc915 -Reviewed-by: Oswald Buddenhagen -Reviewed-by: Stephen Kelly - -diff --git a/mkspecs/features/cmake_functions.prf b/mkspecs/features/cmake_functions.prf -index a9b0c86..1e6b05c 100644 ---- a/mkspecs/features/cmake_functions.prf -+++ b/mkspecs/features/cmake_functions.prf -@@ -27,9 +27,9 @@ defineReplace(cmakeModuleList) { - - defineReplace(cmakeTargetPath) { - SYSR = $$[QT_SYSROOT] -- !isEmpty(SYSR): path = $$relative_path($$1, $$[QT_SYSROOT]) -+ !isEmpty(SYSR): path = /$$relative_path($$1, $$[QT_SYSROOT]) - else: path = $$1 -- return($$clean_path(/$$path)) -+ return($$clean_path($$path)) - } - - defineReplace(cmakeTargetPaths) { --- -1.8.4 - - -From 94c17dce04c7726afbdd6ac67c569eedc629a81a Mon Sep 17 00:00:00 2001 -From: Frank Osterfeld -Date: Fri, 22 Nov 2013 10:43:49 +0100 -Subject: [PATCH 05/57] QNX: Fix retrieving the window group name - -The code assumes that there is a root window, and crashed -otherwise. - -Task-number: QTBUG-35121 -Change-Id: Idbf0e0bfc03cd427f0aab81db88b34fe94228c81 -Reviewed-by: Rafael Roquetto - -diff --git a/src/plugins/platforms/qnx/qqnxnativeinterface.cpp b/src/plugins/platforms/qnx/qqnxnativeinterface.cpp -index 8958a5c..24af5c2 100644 ---- a/src/plugins/platforms/qnx/qqnxnativeinterface.cpp -+++ b/src/plugins/platforms/qnx/qqnxnativeinterface.cpp -@@ -52,11 +52,13 @@ QT_BEGIN_NAMESPACE - void *QQnxNativeInterface::nativeResourceForWindow(const QByteArray &resource, QWindow *window) - { - if (resource == "windowGroup" && window && window->screen()) { -- const QQnxScreen * const screen = static_cast(window->screen()->handle()); -+ QQnxScreen * const screen = static_cast(window->screen()->handle()); - if (screen) { -+ screen_window_t screenWindow = reinterpret_cast(window->winId()); -+ QQnxWindow *qnxWindow = screen->findWindow(screenWindow); - // We can't just call data() instead of constData() here, since that would detach - // and the lifetime of the char * would not be long enough. Therefore the const_cast. -- return const_cast(screen->rootWindow()->groupName().constData()); -+ return qnxWindow ? const_cast(qnxWindow->groupName().constData()) : 0; - } - } - --- -1.8.4 - - -From 4fbe50e77a8d24d42581cdeabd1e93cb993b0d8d Mon Sep 17 00:00:00 2001 -From: Yoann Lopes -Date: Fri, 22 Nov 2013 18:45:49 +0100 -Subject: [PATCH 06/57] Revert "Store the font's scalability in QFontEngine." - -This reverts commit 65b12fbdb13d34c61bcadd5cc8fd6ee28a8dfafd. - -QFontEngine is not always loaded from QFontDatabase, resulting in -the flag not being set. - -Change-Id: I39bc5bd4a8dea153d191cfc55f4324195f75f64c -Reviewed-by: Konstantin Ritt -Reviewed-by: Mitch Curtis -Reviewed-by: Lars Knoll - -diff --git a/src/gui/text/qfontdatabase_qpa.cpp b/src/gui/text/qfontdatabase_qpa.cpp -index fddbb11..6c0be95 100644 ---- a/src/gui/text/qfontdatabase_qpa.cpp -+++ b/src/gui/text/qfontdatabase_qpa.cpp -@@ -184,7 +184,6 @@ QFontEngine *loadSingleEngine(int script, - if (!engine) { - engine = pfdb->fontEngine(def, QChar::Script(script), size->handle); - if (engine) { -- engine->smoothScalable = style->smoothScalable; - QFontCache::Key key(def,script); - QFontCache::instance()->instance()->insertEngine(key,engine); - } -diff --git a/src/gui/text/qfontengine.cpp b/src/gui/text/qfontengine.cpp -index 7d1afbb..303c85c 100644 ---- a/src/gui/text/qfontengine.cpp -+++ b/src/gui/text/qfontengine.cpp -@@ -208,8 +208,7 @@ Q_AUTOTEST_EXPORT QList QFontEngine_stopCollectingEngines() - QFontEngine::QFontEngine() - : ref(0), - font_(0), font_destroy_func(0), -- face_(0), face_destroy_func(0), -- smoothScalable(false) -+ face_(0), face_destroy_func(0) - { - cache_cost = 0; - fsType = 0; -diff --git a/src/gui/text/qfontengine_p.h b/src/gui/text/qfontengine_p.h -index 07be498..c181d61 100644 ---- a/src/gui/text/qfontengine_p.h -+++ b/src/gui/text/qfontengine_p.h -@@ -302,8 +302,6 @@ public: - - inline QVariant userData() const { return m_userData; } - -- bool smoothScalable; -- - protected: - QFixed lastRightBearing(const QGlyphLayout &glyphs, bool round = false); - --- -1.8.4 - - -From 82a2d28d841c7f59fa76fae6a67e1712a5fb4740 Mon Sep 17 00:00:00 2001 -From: Stephen Kelly -Date: Wed, 27 Nov 2013 12:22:54 +0100 -Subject: [PATCH 07/57] CMake: Parse the output of new CMake versions. - -As of CMake 3.0, the output of `cmake --version` now has a second line -showing that it is maintained by Kitware. Change the version parsing to -look only at the first line of output. - -Change-Id: I347de4c376e0bde25a43a38d59587d9b63f6b43a -Reviewed-by: Oswald Buddenhagen - -diff --git a/mkspecs/features/ctest_testcase_common.prf b/mkspecs/features/ctest_testcase_common.prf -index 118eed1..a9461eb 100644 ---- a/mkspecs/features/ctest_testcase_common.prf -+++ b/mkspecs/features/ctest_testcase_common.prf -@@ -1,10 +1,11 @@ - - win32 { -- CMAKE_VERSION = $$system(cmake --version 2>NUL) -+ CMAKE_VERSION = $$system(cmake --version 2>NUL, lines) - } else { -- CMAKE_VERSION = $$system(cmake --version 2>/dev/null) -+ CMAKE_VERSION = $$system(cmake --version 2>/dev/null, lines) - } - -+CMAKE_VERSION = $$member(CMAKE_VERSION, 0, 0) - - check.commands = - QMAKE_EXTRA_TARGETS *= check --- -1.8.4 - - -From 7c029e83a3e5058f7b82efd0235e766952357ffd Mon Sep 17 00:00:00 2001 -From: Simon Hausmann -Date: Thu, 28 Nov 2013 11:00:15 +0100 -Subject: [PATCH 08/57] Fix invalid memory read when shutting down QML - applications - -As the last line in the QObject destructor, we call setParentHelper(0) to -remove ourselves from the parent. In the process of that we also initiate the -QML parentChanged callback. The first thing that parentChanged callback used to -do (but now does it too late, after 26350b5ceafa0ade1328037f6234a7d288eb8f48 in -qtdeclarative) is to check if the object was deleted and then return. We could -re-introduce the check there, but I think it's cleaner to not bother calling -the callback on a dead object in the first place. - -Change-Id: Ia4d43b65a9b3744a451b4c312a2d6f9c0e3b67dc -Reviewed-by: Lars Knoll - -diff --git a/src/corelib/kernel/qobject.cpp b/src/corelib/kernel/qobject.cpp -index e062a38..f8664ba 100644 ---- a/src/corelib/kernel/qobject.cpp -+++ b/src/corelib/kernel/qobject.cpp -@@ -1876,7 +1876,7 @@ void QObjectPrivate::setParent_helper(QObject *o) - } - } - } -- if (!isDeletingChildren && declarativeData && QAbstractDeclarativeData::parentChanged) -+ if (!wasDeleted && !isDeletingChildren && declarativeData && QAbstractDeclarativeData::parentChanged) - QAbstractDeclarativeData::parentChanged(declarativeData, q, o); - } - -diff --git a/tests/auto/corelib/kernel/qobject/tst_qobject.cpp b/tests/auto/corelib/kernel/qobject/tst_qobject.cpp -index ece88d4..f1e0451 100644 ---- a/tests/auto/corelib/kernel/qobject/tst_qobject.cpp -+++ b/tests/auto/corelib/kernel/qobject/tst_qobject.cpp -@@ -152,6 +152,7 @@ private slots: - void connectBase(); - void qmlConnect(); - void exceptions(); -+ void noDeclarativeParentChangedOnDestruction(); - }; - - struct QObjectCreatedOnShutdown -@@ -6233,6 +6234,43 @@ void tst_QObject::exceptions() - #endif - } - -+#ifdef QT_BUILD_INTERNAL -+static bool parentChangeCalled = false; -+ -+static void testParentChanged(QAbstractDeclarativeData *, QObject *, QObject *) -+{ -+ parentChangeCalled = true; -+} -+#endif -+ -+void tst_QObject::noDeclarativeParentChangedOnDestruction() -+{ -+#ifdef QT_BUILD_INTERNAL -+ typedef void (*ParentChangedCallback)(QAbstractDeclarativeData *, QObject *, QObject *); -+ QScopedValueRollback rollback(QAbstractDeclarativeData::parentChanged); -+ QAbstractDeclarativeData::parentChanged = testParentChanged; -+ -+ QObject *parent = new QObject; -+ QObject *child = new QObject; -+ -+ QAbstractDeclarativeData dummy; -+ QObjectPrivate::get(child)->declarativeData = &dummy; -+ -+ parentChangeCalled = false; -+ child->setParent(parent); -+ -+ QVERIFY(parentChangeCalled); -+ parentChangeCalled = false; -+ -+ delete child; -+ QVERIFY(!parentChangeCalled); -+ -+ delete parent; -+#else -+ QSKIP("Needs QT_BUILD_INTERNAL"); -+#endif -+} -+ - // Test for QtPrivate::HasQ_OBJECT_Macro - Q_STATIC_ASSERT(QtPrivate::HasQ_OBJECT_Macro::Value); - Q_STATIC_ASSERT(!QtPrivate::HasQ_OBJECT_Macro::Value); --- -1.8.4 - - -From bedc5a3ae268594100b5e0eb8f35c0ce2b95ee96 Mon Sep 17 00:00:00 2001 -From: Marc Mutz -Date: Tue, 26 Nov 2013 12:27:45 +0100 -Subject: [PATCH 09/57] Update ChangeLog for 5.2.0 [QtWidgets II] - -Second batch of changes. - -Change-Id: I5b3add1df19bcad195f8b9286337de9fe926337c -Reviewed-by: Thiago Macieira - -diff --git a/dist/changes-5.2.0 b/dist/changes-5.2.0 -index f513d64..30cd288 100644 ---- a/dist/changes-5.2.0 -+++ b/dist/changes-5.2.0 -@@ -48,6 +48,10 @@ information about a particular change. - * QUrl now normalizes the path given in setPath, removing ./ and ../ and - duplicate slashes. - -+ - QWheelEvent has gained a "phase" attribute and may now be sent with -+ zero delta() in order to indicate beginning and end of transient -+ scrolling. -+ - **************************************************************************** - * Library * - **************************************************************************** -@@ -353,12 +357,24 @@ Changes in Qt 5.2.0 - QtWidgets - --------- - -+ - Added class QKeySequenceEdit. -+ - Added QMaxCocoaViewContainer and QMacNativeWidget classes. -+ - [QTBUG-1016] Added API to control tool tip timing via: -+ * new QToolTip::showTip() overload -+ * QWidget::toolTipDuration() property. -+ * QStyle::SH_ToolTip_WakeUpDelay and SH_ToolTip_FallAsleepDelay -+ style hints. - - [QTBUG-30255] Fixed a bug where spans across empty cells in a grid - layout got broken. -+ - [QTBUG-31569] WA_QuitOnClose now works even if there are other -+ windows that don't have it set. - - [QTBUG-32788] Properly handles Qt::WidgetWithChildrenShortcut - shortcuts in MDI subwindows now. - - [QTBUG-33078] QWidget::setWindowOpacity() now works when called - before QWidget::show(). -+ - [QTBUG-33104] Fixed a bug where layout items with a Preferred size -+ policy would be treated as fixed size, if mixed with Expanding -+ items having maximumSize set. - - [QTBUG-33247] Changed accessible trees and tables to always expose - hidden headers, instead of only exposing the visible headers. - - [QTBUG-34007] Fixed a crash in tablet support. -@@ -384,18 +400,26 @@ QtWidgets - overriding viewportSizeHint() needs to be recompiled against 5.2 for - this feature to work correctly. - -+ - QButtonGroup: -+ * [QTBUG-14857] Added buttonToggled() signals. -+ - - QColorDialog: - * Added a web color QLineEdit. - * [QTBUG-14332] Added a screen color picker button. - * [QTBUG-31998] Does no longer create widgets when using the - platform dialog. -+ * [QTBUG-32054] Fixed a bug with keyboard navigation. - - - QComboBox: -+ * [QTBUG-31146] Fixed selection of items with identical text in -+ popup completion. - * Added currentData() convenience function which allows to retrieve - the user data set for the current item. - - - QCompleter: - * [QTBUG-3414] Added filterMode property. -+ * The activated() signal now passes invalid indexes instead of -+ random bogus ones when falling back to the completion prefix. - - - QDesktopWidget: - * [QTBUG-32567] Fixed emission of workAreaResized() signal. -@@ -434,10 +458,16 @@ QtWidgets - * [QTBUG-33039] Does no longer create widgets when using the - platform dialog. - -+ - QFontComboBox: -+ * [QTBUG-1573] Made QFontComboBox locale-sensitive. -+ - - QFontDialog: - * Now has finer-grained control over the types of fonts listed, - similar to what QFontComboBox already had. - -+ - QGestureManager -+ * Now supports Mac OS X native gestures. -+ - - QGraphicsView etc - * Fixed a crash in QGraphicsProxyWidget. - * [QTBUG-8061] Allow handling of mouseDoubleClickEvent in -@@ -446,16 +476,30 @@ QtWidgets - Qt::{Contains,Intersets}ItemBoundingRect with items that contain - the point in the bounding rectangle, but not their (custom) - shape. -+ * [QTBUG-29945] Fixed drop-shadow and blur effects when using a -+ QGLWidget viewport. -+ -+ - QGroupBox: -+ * [QTBUG-33610] The check indicator of a checkable group box is no -+ longer clipped when using a small title font. - - - QHeaderView: -+ * Reduced memory usage by 33%. - * [QTBUG-4346] A maximumSize for sections has been introduced. The - maximum section size is by default the largest possible section - size which in Qt 5.2 has been limited to 1048575 pixels. -+ * [QTBUG-32203] Fixed a painting bug involving hidden and reordered -+ sections. - - - QInputDialog: - * Added getMultiLineText static method. - -+ - QLayout: -+ * Added replaceWidget() function. -+ - - QLineEdit: -+ * [QTBUG-32061] The cursor is now positioned correctly in an empty -+ line edit with placeholder text. - * Keep placeholderText visible when focused, until text is added. - * Context-menu actions now have icons. - * Made it possible to add side widgets. -@@ -467,28 +511,59 @@ QtWidgets - no longer loses the icon. Also fixed a bug where under certain - conditions code overriding QAbstractItemView::viewOptions() would - not be called. -+ * [QTBUG-21433] Fixed content size calculation when either -+ horizontal or vertical scroll bar policy is always off. -+ -+ - QMacStyle: -+ * [QTBUG-31668] Fixed a case where multiple auto-default button -+ animations were running in parallel on OS X -+ -+ - QMainWindow: -+ * Added takeCentalWidget() function. -+ -+ - QMenu: -+ * Added QMenu::toNSMenu() conversion function (Mac only) -+ * Added QMenu::setAsDockMenu() and qt_mac_set_doc_menu(QMenu *menu) -+ functions (Mac only). -+ * [QTBUG-31664] Moving the mouse over a menu separator now closes -+ any open sub menus. - - - QMenuBar: - * [QTBUG-32807] Menus now close again on second click. -+ * Added QMenuBar::toNSMenu() conversion function (Mac only) - - - QMessageBox: - * May use native message boxes on some platforms now. -+ * setDetailedText() now works after show(). -+ * [QTBUG-2450] Added setCheckBox() function. - * [QTBUG-6731] It is now possible to select some or all text from a - QMessageBox and copy it to the clipboard. - -+ - QScrollBar: -+ * Transient scrollbars are now properly shown when starting -+ two-finger scrolling on OS X. -+ - - QSizePolicy: - * Added a retainSizeWhenHidden attribute. - - - QSpinBox: - * Values can now be displayed in different bases - (cf. displayIntegerBase property) -- * [QTBUG-31602] Size calculation will now be fixed when stylesheets -- are used. -+ * [QTBUG-31602][QTBUG-34305] Fixed size calculation when -+ stylesheets are used. -+ -+ - QSplashScreen: -+ * Added message(), a getter for the currently displayed message. - - - QSplitter: - * Now gets the default value of opaqueResize property from (new) - QStyle::SH_Splitter_OpaqueResize styleHint. - -+ - QStyle: -+ * Added SH_ToolTip_WakeUpDelay and SH_ToolTip_FallAsleepDelay. -+ * Fixed SH_ItemView_ActivateItemOnSingleClick not being retrieved -+ correctly from the platform theme. -+ - - QSystemTrayIcon: - * [QTBUG-31762] Fixed position of system tray icon on Linux/X11 - (except Unity). -@@ -505,14 +580,26 @@ QtWidgets - * Added placeholderText akin to QLineEdit. - * Context-menu actions now have icons. - -+ - QToolTip: -+ * Added new showText() overload taking a duration. -+ - - QTreeView: -- * QTreeView now has setTreePosition to allow the treestructure to -- show data from other columns than logicalindex zero. -+ * Added setTreePosition() function. -+ -+ - QWidget: -+ * Added window{Title,Icon,IconText}Changed() signals. -+ * Added toolTipDuration property. - - - QWindowContainer: - * [QTBUG-32177] Sets active window correctly now. -+ * [QTBUG-34138] Will not create native child widgets any more. -+ -+ - QWindowsVistaStyle: -+ * [QTBUG-26503] Does no longer draw inapplicable scroll bar -+ grippers on Windows 8. - - - QWizard: -+ * [QTBUG-26722] The default background pixmap works again on OS X. - * [QTBUG-29924] Gave all buttons an objectName(). - - **************************************************************************** -@@ -537,6 +624,7 @@ Android - OS X - ---- - -+ - Added QMaxCocoaViewContainer and QMacNativeWidget classes. - - Qt for OS X is now identified by the macro Q_OS_OSX. This complements the - existing Q_OS_DARWIN macro (which identifies the open source kernel and - could identify non-Apple products) and Q_OS_MAC, which is defined for -@@ -547,6 +635,17 @@ OS X - supported until official announcement by the Qt Project. - - Added a number of functions to QtCore to convert to and from - CFString/NSString and QString, CFURL/NSURL and QUrl. -+ - QGestureManager now supports Mac OS X native gestures. -+ - Added QMenu::setAsDockMenu(), QMenu(Bar)::toNSMenu(), -+ qt_mac_set_doc_menu() functions. -+ - [QTBUG-26722] The QWizard default background pixmap works again. -+ -+BlackBerry -+---------- -+ -+ - Cover windows (aka active frames) are now supported. Cover windows must -+ have the Qt::CoverWindow flag set. They are shown when the application -+ is minimized. - - Windows - ------- --- -1.8.4 - - -From c5b19f252188a01dd7b12090f4776420e3714000 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Tor=20Arne=20Vestb=C3=B8?= -Date: Thu, 28 Nov 2013 15:33:06 +0100 -Subject: [PATCH 10/57] iOS: Forward [UIApplicationDelegate handleOpenURL:] to - QDesktopServices - -The user may use QDesktopServices::setUrlHandler() in combination with -the appropriate Info.plist keys (CFBundleURLTypes, CFBundleURLSchemes) -to react to URL requests from other applications. - -This is among other things useful for handling OAuth authentication from -applications such as Dropbox. See: - - https://www.dropbox.com/developers/core/start/ios - -We protect against recursive URL opening, but an application may still -redirect a request to open a URL by opening another URL, eg a website. - -Task-number: QTBUG-35201 -Change-Id: I9f1d246206c5594b1b65bb11fa98c6bcdefc443e -Reviewed-by: Richard Moe Gustavsen - -diff --git a/src/plugins/platforms/ios/qiosapplicationdelegate.mm b/src/plugins/platforms/ios/qiosapplicationdelegate.mm -index cf702c8..9cf1047 100644 ---- a/src/plugins/platforms/ios/qiosapplicationdelegate.mm -+++ b/src/plugins/platforms/ios/qiosapplicationdelegate.mm -@@ -41,9 +41,14 @@ - - #include "qiosapplicationdelegate.h" - -+#include "qiosintegration.h" -+#include "qiosservices.h" - #include "qiosviewcontroller.h" - #include "qioswindow.h" - -+#include -+#include -+ - #include - - @implementation QIOSApplicationDelegate -@@ -82,6 +87,21 @@ - return YES; - } - -+- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation -+{ -+ Q_UNUSED(application); -+ Q_UNUSED(sourceApplication); -+ Q_UNUSED(annotation); -+ -+ if (!QGuiApplication::instance()) -+ return NO; -+ -+ QIOSIntegration *iosIntegration = static_cast(QGuiApplicationPrivate::platformIntegration()); -+ QIOSServices *iosServices = static_cast(iosIntegration->services()); -+ -+ return iosServices->handleUrl(QUrl::fromNSURL(url)); -+} -+ - - (void)dealloc - { - [window release]; -diff --git a/src/plugins/platforms/ios/qiosservices.h b/src/plugins/platforms/ios/qiosservices.h -index 692b3a0b..aa39fbb 100644 ---- a/src/plugins/platforms/ios/qiosservices.h -+++ b/src/plugins/platforms/ios/qiosservices.h -@@ -41,6 +41,8 @@ - - #ifndef QIOSSERVICES_H - #define QIOSSERVICES_H -+ -+#include - #include - - QT_BEGIN_NAMESPACE -@@ -50,6 +52,11 @@ class QIOSServices : public QPlatformServices - public: - bool openUrl(const QUrl &url); - bool openDocument(const QUrl &url); -+ -+ bool handleUrl(const QUrl &url); -+ -+private: -+ QUrl m_handlingUrl; - }; - - QT_END_NAMESPACE -diff --git a/src/plugins/platforms/ios/qiosservices.mm b/src/plugins/platforms/ios/qiosservices.mm -index 32203ae..0ac6c59 100644 ---- a/src/plugins/platforms/ios/qiosservices.mm -+++ b/src/plugins/platforms/ios/qiosservices.mm -@@ -42,6 +42,7 @@ - #include "qiosservices.h" - - #include -+#include - - #import - -@@ -49,6 +50,9 @@ QT_BEGIN_NAMESPACE - - bool QIOSServices::openUrl(const QUrl &url) - { -+ if (url == m_handlingUrl) -+ return false; -+ - if (url.scheme().isEmpty()) - return openDocument(url); - -@@ -66,4 +70,19 @@ bool QIOSServices::openDocument(const QUrl &url) - return QPlatformServices::openDocument(url); - } - -+/* Callback from iOS that the application should handle a URL */ -+bool QIOSServices::handleUrl(const QUrl &url) -+{ -+ QUrl previouslyHandling = m_handlingUrl; -+ m_handlingUrl = url; -+ -+ // FIXME: Add platform services callback from QDesktopServices::setUrlHandler -+ // so that we can warn the user if calling setUrlHandler without also setting -+ // up the matching keys in the Info.plist file (CFBundleURLTypes and friends). -+ bool couldHandle = QDesktopServices::openUrl(url); -+ -+ m_handlingUrl = previouslyHandling; -+ return couldHandle; -+} -+ - QT_END_NAMESPACE --- -1.8.4 - - -From 9b782dca45331c0e0246b8439d5cf007a440afc8 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Tor=20Arne=20Vestb=C3=B8?= -Date: Wed, 27 Nov 2013 18:20:10 +0100 -Subject: [PATCH 11/57] iOS: Update screen properties when we trigger statusbar - changes on iOS7 - -Ideally we'd have a callback from iOS when this happens, so we can also -react to changes done outside of Qt, but willChangeStatusBarFrame and -friends do not seem to give us what we want. - -Change-Id: I686ce7950395a83c4257372363c773a95c3935ed -Reviewed-by: Richard Moe Gustavsen - -diff --git a/src/plugins/platforms/ios/qiosscreen.mm b/src/plugins/platforms/ios/qiosscreen.mm -index 57522cb..9641095 100644 ---- a/src/plugins/platforms/ios/qiosscreen.mm -+++ b/src/plugins/platforms/ios/qiosscreen.mm -@@ -189,6 +189,9 @@ void QIOSScreen::updateProperties() - - void QIOSScreen::updateStatusBarVisibility() - { -+ if (!isQtApplication()) -+ return; -+ - QWindow *focusWindow = QGuiApplication::focusWindow(); - - // If we don't have a focus window we leave the status -@@ -199,20 +202,26 @@ void QIOSScreen::updateStatusBarVisibility() - return; - - UIView *view = reinterpret_cast(focusWindow->handle()->winId()); -+ QIOSViewController *viewController = static_cast(view.viewController); -+ -+ bool currentStatusBarVisibility = [UIApplication sharedApplication].statusBarHidden; -+ if (viewController.prefersStatusBarHidden == currentStatusBarVisibility) -+ return; -+ - #if QT_IOS_PLATFORM_SDK_EQUAL_OR_ABOVE(__IPHONE_7_0) - if (QSysInfo::MacintoshVersion >= QSysInfo::MV_IOS_7_0) { -- [view.viewController setNeedsStatusBarAppearanceUpdate]; -+ [viewController setNeedsStatusBarAppearanceUpdate]; -+ dispatch_async(dispatch_get_main_queue(), ^{ -+ updateProperties(); -+ }); - } else - #endif - { -- bool wasHidden = [UIApplication sharedApplication].statusBarHidden; -- QIOSViewController *viewController = static_cast(view.viewController); - [[UIApplication sharedApplication] - setStatusBarHidden:[viewController prefersStatusBarHidden] - withAnimation:UIStatusBarAnimationNone]; - -- if ([UIApplication sharedApplication].statusBarHidden != wasHidden) -- updateProperties(); -+ updateProperties(); - } - } - --- -1.8.4 - - -From 7016ea797a4ceefc8df8a6e13971045a215c5e4c Mon Sep 17 00:00:00 2001 -From: Eskil Abrahamsen Blomfeldt -Date: Wed, 27 Nov 2013 09:12:08 +0100 -Subject: [PATCH 13/31] Add a few notes to changes-5.2.0 - -Mostly changes for Android. One change in Qt Gui. - -Change-Id: Ifce627b6688702b3a3ae1634bd344eb8331f6caf -Reviewed-by: Paul Olav Tvete -Reviewed-by: BogDan Vatra - -diff --git a/dist/changes-5.2.0 b/dist/changes-5.2.0 -index 30cd288..a51cc91 100644 ---- a/dist/changes-5.2.0 -+++ b/dist/changes-5.2.0 -@@ -294,6 +294,9 @@ QtGui - - [QTBUG-27349] Reintroduced command line argument for positioning - windows (-geometry on X11, -qwindowgeometry on other platforms) - -+ - [QTBUG-28832] Fixed regression from Qt 4 when using -+ QTextOption::ShowLineAndParagraphSeparators. -+ - QtNetwork - --------- - -@@ -620,6 +623,40 @@ Android - show the status bar (QWindow::showMaximized()). Use - QWindow::showFullScreen() to hide it. - - Implemented support for accessibility on Android. -+ - Implemented support for native action bar backend for menu bars in -+ Qt Quick Controls and Qt Widgets. -+ - Implemented support for native popup menus and comboboxes in Qt Quick -+ Controls. -+ - Implemented support for native message boxes in Qt Widgets. -+ - Several improvements to handling dialogs and multiple top-level -+ windows in Qt Widgets. -+ - Implemented automatic inclusion of necessary permissions in manifest -+ when linking against Qt Multimedia. -+ - Fixed crash on startup when running on Android 4.4. -+ - Add requirement for Android SDK version 13 or higher for building -+ Qt application. Note that this is for building only. The application -+ can still be targeted for devices with SDK versions 9 and up. -+ - Default to target SDK version 14 to disable overflow button in -+ system navigation. -+ - New module: Qt Android Extras. Contains convenience APIs for using -+ JNI, and will in the future include support for Android-specific -+ features which do not fit in a cross-platform API. -+ - Implemented support for thread-affinity in qrand() functions. -+ - Fixed several problems with predictive text in soft keyboard. -+ - Made several improvements to stability. -+ - Implemented support for camera and low-latency audio in Qt Multimedia. -+ - Fixed driver-specific bugs in text rendering in Qt Quick 2. -+ - Added preference in default manifest for installing applications to -+ external storage if possible. -+ - Fixed delivery of key press event for the Back key. -+ - Fixed race condition when showing a window in full screen which would -+ cause it to not be maximized. -+ - Fixed input method hints. -+ - Made font point sizes compatible with the interpretation of point -+ sizes on iOS to ease sharing code between the two platforms. -+ - Added support for QAmbientTemperatureSensor, QPressureSensor -+ and QProximitySensor to Qt Sensors. -+ - Removed dependency on Qt Widgets in default build of Qt Quick Controls. - - OS X - ---- --- -1.8.4 - - -From 6c3adb5f966e349f0488c194462e48cc8ddf248e Mon Sep 17 00:00:00 2001 -From: Nico Vertriest -Date: Wed, 27 Nov 2013 14:47:26 +0100 -Subject: [PATCH 14/57] Doc: corrected invalid ref. to output iterators -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Task-number: QTBUG-34749 -Change-Id: I7abd504b6081e84a8e67c7957e13d402999e9d38 -Reviewed-by: Martin Smith -Reviewed-by: Topi Reiniö - -diff --git a/src/corelib/tools/qalgorithms.qdoc b/src/corelib/tools/qalgorithms.qdoc -index cd38947..412b9cf 100644 ---- a/src/corelib/tools/qalgorithms.qdoc -+++ b/src/corelib/tools/qalgorithms.qdoc -@@ -49,9 +49,9 @@ - iterators they accept. For example, qFill() accepts two - \l {forward iterators}. The iterator types required are specified - for each algorithm. If an iterator of the wrong type is passed (for -- example, if QList::ConstIterator is passed as an \l {output -- iterator}), you will always get a compiler error, although not -- necessarily a very informative one. -+ example, if QList::ConstIterator is passed as an -+ \l {Output Iterators}{output iterator}), you will always get a -+ compiler error, although not necessarily a very informative one. - - Some algorithms have special requirements on the value type - stored in the containers. For example, -@@ -99,7 +99,7 @@ - - \section2 Output Iterators - -- An \e{output iterator} is an iterator that can be used for -+ An output iterator is an iterator that can be used for - writing data sequentially to a container or to some output - stream. It must provide the following operators: unary \c{*} for - writing a value (i.e., \c{*it = val}) and prefix \c{++} for --- -1.8.4 - - -From 7d5448d9e2ae4d2d10c0cff867cf34b315336feb Mon Sep 17 00:00:00 2001 -From: J-P Nurmi -Date: Wed, 27 Nov 2013 13:24:59 +0100 -Subject: [PATCH 15/57] Docs: add important QWheelEvent::phase() related notes - -Change-Id: I4901b96b44b7c1179e678689af5962cb4570d50d -Reviewed-by: Jens Bache-Wiig -Reviewed-by: Gabriel de Dietrich -Reviewed-by: Lars Knoll - -diff --git a/src/gui/kernel/qevent.cpp b/src/gui/kernel/qevent.cpp -index 2866608..88f132b 100644 ---- a/src/gui/kernel/qevent.cpp -+++ b/src/gui/kernel/qevent.cpp -@@ -709,6 +709,12 @@ QWheelEvent::QWheelEvent(const QPointF &pos, const QPointF& globalPos, - Example: - - \snippet code/src_gui_kernel_qevent.cpp 0 -+ -+ \note On platforms that support scrolling \l{phase()}{phases}, the delta may be null when: -+ \list -+ \li scrolling is about to begin, but the distance did not yet change (Qt::ScrollBegin), -+ \li or scrolling has ended and the distance did not change anymore (Qt::ScrollEnd). -+ \endlist - */ - - /*! -@@ -731,6 +737,12 @@ QWheelEvent::QWheelEvent(const QPointF &pos, const QPointF& globalPos, - Example: - - \snippet code/src_gui_kernel_qevent.cpp 0 -+ -+ \note On platforms that support scrolling \l{phase()}{phases}, the delta may be null when: -+ \list -+ \li scrolling is about to begin, but the distance did not yet change (Qt::ScrollBegin), -+ \li or scrolling has ended and the distance did not change anymore (Qt::ScrollEnd). -+ \endlist - */ - - /*! -@@ -830,6 +842,9 @@ QWheelEvent::QWheelEvent(const QPointF &pos, const QPointF& globalPos, - \since 5.2 - - Returns the scrolling phase of this wheel event. -+ -+ \note The Qt::ScrollBegin and Qt::ScrollEnd phases are currently -+ supported only on Mac OS X. - */ - - --- -1.8.4 - - -From b8ccacbb03cb8d265209970c4443218dac33fc81 Mon Sep 17 00:00:00 2001 -From: BogDan Vatra -Date: Mon, 2 Dec 2013 16:48:18 +0200 -Subject: [PATCH 16/57] Default to 5.2 source repository for Qt 5.2.x - -We can't use latest anymore because the qreal change -is not back compatible and all the apps that used latest -will stop to run when Ministro will upgrade the libs. - -Change-Id: I5286e72eccf86b4dead773a637aa28e29d120605 -Reviewed-by: Paul Olav Tvete - -diff --git a/src/android/java/res/values/libs.xml b/src/android/java/res/values/libs.xml -index 231406d..797e6bb 100644 ---- a/src/android/java/res/values/libs.xml -+++ b/src/android/java/res/values/libs.xml -@@ -1,7 +1,7 @@ - - - -- https://download.qt-project.org/ministro/android/qt5/latest -+ https://download.qt-project.org/ministro/android/qt5/qt-5.2 - - -