diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/qtactiveqt.mk | 2 | ||||
-rw-r--r-- | src/qtbase-1.patch | 3018 | ||||
-rw-r--r-- | src/qtbase.mk | 6 | ||||
-rw-r--r-- | src/qtconnectivity.mk | 2 | ||||
-rw-r--r-- | src/qtdeclarative.mk | 2 | ||||
-rw-r--r-- | src/qtgraphicaleffects.mk | 2 | ||||
-rw-r--r-- | src/qtimageformats.mk | 2 | ||||
-rw-r--r-- | src/qtlocation.mk | 2 | ||||
-rw-r--r-- | src/qtmultimedia-1.patch | 266 | ||||
-rw-r--r-- | src/qtmultimedia.mk | 2 | ||||
-rw-r--r-- | src/qtquick1.mk | 2 | ||||
-rw-r--r-- | src/qtquickcontrols.mk | 2 | ||||
-rw-r--r-- | src/qtscript.mk | 2 | ||||
-rw-r--r-- | src/qtsensors.mk | 2 | ||||
-rw-r--r-- | src/qtserialport.mk | 2 | ||||
-rw-r--r-- | src/qtsvg.mk | 2 | ||||
-rw-r--r-- | src/qttools.mk | 2 | ||||
-rw-r--r-- | src/qttranslations.mk | 2 | ||||
-rw-r--r-- | src/qtwinextras-1.patch | 255 | ||||
-rw-r--r-- | src/qtwinextras.mk | 2 | ||||
-rw-r--r-- | 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 <simon.hausmann@digia.com> -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 <lars.knoll@digia.com> - -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 <eskil.abrahamsen-blomfeldt@digia.com> -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 <bogdan@kde.org> - -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 <gabriel.dedietrich@digia.com> -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 <liang.qi@digia.com> - -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 <stephen.kelly@kdab.com> -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 <oswald.buddenhagen@digia.com> -Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com> - -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 <frank.osterfeld.qnx@kdab.com> -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 <rafael.roquetto@kdab.com> - -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<QQnxScreen *>(window->screen()->handle()); -+ QQnxScreen * const screen = static_cast<QQnxScreen *>(window->screen()->handle()); - if (screen) { -+ screen_window_t screenWindow = reinterpret_cast<screen_window_t>(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<char *>(screen->rootWindow()->groupName().constData()); -+ return qnxWindow ? const_cast<char *>(qnxWindow->groupName().constData()) : 0; - } - } - --- -1.8.4 - - -From 4fbe50e77a8d24d42581cdeabd1e93cb993b0d8d Mon Sep 17 00:00:00 2001 -From: Yoann Lopes <yoann.lopes@digia.com> -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 <ritt.ks@gmail.com> -Reviewed-by: Mitch Curtis <mitch.curtis@digia.com> -Reviewed-by: Lars Knoll <lars.knoll@digia.com> - -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 *> 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 <stephen.kelly@kdab.com> -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 <oswald.buddenhagen@digia.com> - -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 <simon.hausmann@digia.com> -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 <lars.knoll@digia.com> - -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<ParentChangedCallback> 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<tst_QObject>::Value); - Q_STATIC_ASSERT(!QtPrivate::HasQ_OBJECT_Macro<SiblingDeleter>::Value); --- -1.8.4 - - -From bedc5a3ae268594100b5e0eb8f35c0ce2b95ee96 Mon Sep 17 00:00:00 2001 -From: Marc Mutz <marc.mutz@kdab.com> -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 <thiago.macieira@intel.com> - -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?= <tor.arne.vestbo@digia.com> -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 <richard.gustavsen@digia.com> - -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 <QtGui/private/qguiapplication_p.h> -+#include <qpa/qplatformintegration.h> -+ - #include <QtCore/QtCore> - - @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<QIOSIntegration *>(QGuiApplicationPrivate::platformIntegration()); -+ QIOSServices *iosServices = static_cast<QIOSServices *>(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 <qurl.h> - #include <qpa/qplatformservices.h> - - 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 <QtCore/qurl.h> -+#include <QtGui/qdesktopservices.h> - - #import <UIKit/UIApplication.h> - -@@ -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?= <tor.arne.vestbo@digia.com> -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 <richard.gustavsen@digia.com> - -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<UIView *>(focusWindow->handle()->winId()); -+ QIOSViewController *viewController = static_cast<QIOSViewController *>(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<QIOSViewController *>(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 <eskil.abrahamsen-blomfeldt@digia.com> -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 <paul.tvete@digia.com> -Reviewed-by: BogDan Vatra <bogdan@kde.org> - -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 <nico.vertriest@digia.com> -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 <martin.smith@digia.com> -Reviewed-by: Topi Reiniö <topi.reinio@digia.com> - -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 <jpnurmi@digia.com> -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 <jens.bache-wiig@digia.com> -Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com> -Reviewed-by: Lars Knoll <lars.knoll@digia.com> - -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 <bogdan@kde.org> -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 <paul.tvete@digia.com> - -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 @@ - <?xml version='1.0' encoding='utf-8'?> - <resources> - <array name="qt_sources"> -- <item>https://download.qt-project.org/ministro/android/qt5/latest</item> -+ <item>https://download.qt-project.org/ministro/android/qt5/qt-5.2</item> - </array> - - <!-- The following is handled automatically by the deployment tool. It should -diff --git a/src/android/java/src/org/qtproject/qt5/android/bindings/QtActivity.java b/src/android/java/src/org/qtproject/qt5/android/bindings/QtActivity.java -index 7c741ed..a10e58b 100644 ---- a/src/android/java/src/org/qtproject/qt5/android/bindings/QtActivity.java -+++ b/src/android/java/src/org/qtproject/qt5/android/bindings/QtActivity.java -@@ -150,7 +150,7 @@ public class QtActivity extends Activity - - private ActivityInfo m_activityInfo = null; // activity info object, used to access the libs and the strings - private DexClassLoader m_classLoader = null; // loader object -- private String[] m_sources = {"https://download.qt-project.org/ministro/android/qt5/latest"}; // Make sure you are using ONLY secure locations -+ private String[] m_sources = {"https://download.qt-project.org/ministro/android/qt5/qt-5.2"}; // Make sure you are using ONLY secure locations - private String m_repository = "default"; // Overwrites the default Ministro repository - // Possible values: - // * default - Ministro default repository set with "Ministro configuration tool". --- -1.8.4 - - -From 923d498029be406a684f8953afc68f10c07e2789 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Tor=20Arne=20Vestb=C3=B8?= <tor.arne.vestbo@digia.com> -Date: Tue, 26 Nov 2013 14:48:02 +0100 -Subject: [PATCH 17/57] Add PBXCopyFilesBuildPhases to main target, not - preprocessing step - -Otherwise the 'Wrapper' destination of the PBXCopyFilesBuildPhase -will be empty, and the files end up outside of the application -bundle. - -Task-number: QTBUG-34457 - -Change-Id: I799db28185a6c5d3d940602914fd8ba14c538bf2 -Reviewed-by: Caroline Chao <caroline.chao@digia.com> -Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com> - -diff --git a/qmake/generators/mac/pbuilder_pbx.cpp b/qmake/generators/mac/pbuilder_pbx.cpp -index 5ea1ff1..e50df93 100644 ---- a/qmake/generators/mac/pbuilder_pbx.cpp -+++ b/qmake/generators/mac/pbuilder_pbx.cpp -@@ -1140,7 +1140,7 @@ ProjectBuilderMakefileGenerator::writeMakeParts(QTextStream &t) - //### - } - -- project->values("QMAKE_PBX_PRESCRIPT_BUILDPHASES").append(phase_key); -+ project->values("QMAKE_PBX_BUILDPHASES").append(phase_key); - t << "\t\t" << phase_key << " = {\n" - << "\t\t\t" << writeSettings("name", "Copy '" + bundle_data[i] + "' Files to Bundle") << ";\n" - << "\t\t\t" << writeSettings("buildActionMask", "2147483647", SettingsNoQuote) << ";\n" --- -1.8.4 - - -From 5361513ec812c545ca2cedea6c8a30c362cb8e5d Mon Sep 17 00:00:00 2001 -From: Christoph Schleifenbaum <christoph.schleifenbaum@kdab.com> -Date: Mon, 25 Nov 2013 19:45:06 +0100 -Subject: [PATCH 18/57] Cocoa: Mouse enter events on window activation. - -This patch tells the window system that it should create a mouse enter -event if a window was activated when the mouse was inside. This wasn't -working and was a regression. - -Task-number: QTBUG-35109 - -[ChangeLog][Cocoa] Fix enterEvent not being called on activate. - -Change-Id: I4e4662b4a4c58dafa8d0a2c09458ab88f678d243 -Reviewed-by: Liang Qi <liang.qi@digia.com> - -diff --git a/src/plugins/platforms/cocoa/qnsview.h b/src/plugins/platforms/cocoa/qnsview.h -index ca2a15a..403f8dc 100644 ---- a/src/plugins/platforms/cocoa/qnsview.h -+++ b/src/plugins/platforms/cocoa/qnsview.h -@@ -93,6 +93,8 @@ QT_END_NAMESPACE - - (BOOL)hasMask; - - (BOOL)isOpaque; - -+- (void)convertFromScreen:(NSPoint)mouseLocation toWindowPoint:(QPointF *)qtWindowPoint andScreenPoint:(QPointF *)qtScreenPoint; -+ - - (void)resetMouseButtons; - - - (void)handleMouseEvent:(NSEvent *)theEvent; -diff --git a/src/plugins/platforms/cocoa/qnswindowdelegate.h b/src/plugins/platforms/cocoa/qnswindowdelegate.h -index 06e11ff..5717551 100644 ---- a/src/plugins/platforms/cocoa/qnswindowdelegate.h -+++ b/src/plugins/platforms/cocoa/qnswindowdelegate.h -@@ -53,6 +53,7 @@ - - - (id)initWithQCocoaWindow: (QCocoaWindow *) cocoaWindow; - -+- (void)windowDidBecomeKey:(NSNotification *)notification; - - (void)windowDidResize:(NSNotification *)notification; - - (void)windowDidMove:(NSNotification *)notification; - - (void)windowWillMove:(NSNotification *)notification; -diff --git a/src/plugins/platforms/cocoa/qnswindowdelegate.mm b/src/plugins/platforms/cocoa/qnswindowdelegate.mm -index 10536bd..c9b3d69 100644 ---- a/src/plugins/platforms/cocoa/qnswindowdelegate.mm -+++ b/src/plugins/platforms/cocoa/qnswindowdelegate.mm -@@ -56,6 +56,17 @@ - return self; - } - -+- (void)windowDidBecomeKey:(NSNotification *)notification -+{ -+ Q_UNUSED(notification); -+ if (m_cocoaWindow->m_windowUnderMouse) { -+ QPointF windowPoint; -+ QPointF screenPoint; -+ [m_cocoaWindow->m_qtView convertFromScreen:[NSEvent mouseLocation] toWindowPoint:&windowPoint andScreenPoint:&screenPoint]; -+ QWindowSystemInterface::handleEnterEvent(m_cocoaWindow->m_enterLeaveTargetWindow, windowPoint, screenPoint); -+ } -+} -+ - - (void)windowDidResize:(NSNotification *)notification - { - Q_UNUSED(notification); --- -1.8.4 - - -From d1f9f2125e6cbba236dc50309a4aee2dc16a6345 Mon Sep 17 00:00:00 2001 -From: Friedemann Kleint <Friedemann.Kleint@digia.com> -Date: Tue, 3 Dec 2013 09:01:50 +0100 -Subject: [PATCH 19/57] Stabilize tst_QColumnView::dynamicModelChanges(). - -Use QTest::qWaitForWindowExposed() and QTRY_COMPARE() instead of -hardcoded timeout. - -Task-number: QTBUG-35308 -Change-Id: I27eee9932dd3b6087db4ad13b1a4fb184a487f57 -Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com> - -diff --git a/tests/auto/widgets/itemviews/qcolumnview/tst_qcolumnview.cpp b/tests/auto/widgets/itemviews/qcolumnview/tst_qcolumnview.cpp -index 6c04e5b..e2b2fb9 100644 ---- a/tests/auto/widgets/itemviews/qcolumnview/tst_qcolumnview.cpp -+++ b/tests/auto/widgets/itemviews/qcolumnview/tst_qcolumnview.cpp -@@ -1043,13 +1043,14 @@ void tst_QColumnView::dynamicModelChanges() - ColumnView view; - view.setModel(&model); - view.setItemDelegate(&delegate); -+ centerOnScreen(&view); - view.show(); - - QStandardItem *item = new QStandardItem(QLatin1String("item")); - model.appendRow(item); - -- QTest::qWait(200); //let the time for painting to occur -- QCOMPARE(delegate.paintedIndexes.count(), 1); -+ QVERIFY(QTest::qWaitForWindowExposed(&view)); //let the time for painting to occur -+ QTRY_COMPARE(delegate.paintedIndexes.count(), 1); - QCOMPARE(*delegate.paintedIndexes.begin(), model.index(0,0)); - - --- -1.8.4 - - -From 789b556ef1241dd3169c6040944fff44b88d9be6 Mon Sep 17 00:00:00 2001 -From: Topi Reinio <topi.reinio@digia.com> -Date: Fri, 29 Nov 2013 15:51:12 +0100 -Subject: [PATCH 20/57] Use Q_QDOC for Qt namespace declaration in Qt Gui - -This is a workaround for letting qdoc to successfully -generate documentation for the Qt namespace. qdoc -doesn't properly handle multiple declarations for the -same namespace spread across multiple modules. - -Task-number: QTBUG-35230 -Change-Id: I449b17e1171d1a4481b9cf07cd48c803feed5be9 -Reviewed-by: Martin Smith <martin.smith@digia.com> -Reviewed-by: Lars Knoll <lars.knoll@digia.com> - -diff --git a/src/gui/text/qtextdocument.h b/src/gui/text/qtextdocument.h -index a85e9c8..d8f52e9 100644 ---- a/src/gui/text/qtextdocument.h -+++ b/src/gui/text/qtextdocument.h -@@ -71,6 +71,7 @@ class QTextCursor; - - template<typename T> class QVector; - -+#ifndef Q_QDOC // Workaround for QTBUG-35230 - namespace Qt - { - Q_GUI_EXPORT bool mightBeRichText(const QString&); -@@ -80,6 +81,7 @@ namespace Qt - Q_GUI_EXPORT QTextCodec *codecForHtml(const QByteArray &ba); - #endif - } -+#endif // Q_QDOC - - class Q_GUI_EXPORT QAbstractUndoItem - { --- -1.8.4 - - -From edd51e44869c9774071355f32830ea510eafde04 Mon Sep 17 00:00:00 2001 -From: Oswald Buddenhagen <oswald.buddenhagen@digia.com> -Date: Wed, 13 Nov 2013 19:14:45 +0100 -Subject: [PATCH 21/57] Revert "configure: Abort if Xlib isn't present when - building for XCB." -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -the change is wrong for multiple reasons: -- it is possible to build qt (the offscreen plugin) with xlib but - without xcb, which was impossible after the change -- the check was built in a way that if xcb is auto-detected but xlib is - missing, configure would abort (instead of disabling xcb), which is - unreasonable (cf. linked task) -- it should be possible to build the xcb plugin without xlib - it's - testing for xcb-xlib and should have the correct #ifdefs. if these are - broken, they should be fixed. if this is unrealistic, the build system - should be adjusted to this fact ... differently. - -This reverts commit 683451e7c74d23abb0268a187d28cf7dc7afd032. - -Task-number: QTBUG-34382 -Change-Id: I1c5811e2fb1f09b084b6aeb7350e5f376e1b9b82 -Reviewed-by: Nicolás Alvarez <nicolas.alvarez@gmail.com> -Reviewed-by: Jørgen Lind <jorgen.lind@digia.com> - -diff --git a/configure b/configure -index d0b0ed8..a330dd6 100755 ---- a/configure -+++ b/configure -@@ -5080,6 +5080,11 @@ if [ "$CFG_TSLIB" != "no" ]; then - fi - fi - -+# Check we actually have X11 :-) -+if compileTest x11/xlib "XLib"; then -+ QT_CONFIG="$QT_CONFIG xlib" -+fi -+ - if [ "$CFG_XCB" != "no" ]; then - if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists "xcb >= 1.5" 2>/dev/null; then - QMAKE_CFLAGS_XCB="`$PKG_CONFIG --cflags xcb 2>/dev/null`" -@@ -5125,17 +5130,6 @@ if [ "$CFG_XCB" != "no" ]; then - fi - fi - -- # Check for X11. Eventually we should port everything to XCB, -- # but for now the port is incomplete and Xlib is a requirement. -- if compileTest x11/xlib "XLib"; then -- QT_CONFIG="$QT_CONFIG xlib" -- else -- echo "The test for linking against Xlib failed!" -- echo " You might need to install dependency packages." -- echo " See src/plugins/platforms/xcb/README." -- exit 1 -- fi -- - if compileTest qpa/xcb-xlib "xcb-xlib" $QMAKE_CFLAGS_XCB $QMAKE_LIBS_XCB; then - QT_CONFIG="$QT_CONFIG xcb-xlib" - fi --- -1.8.4 - - -From c70750f5363999640cc99278ccf90679fb27c84d Mon Sep 17 00:00:00 2001 -From: Marc Mutz <marc.mutz@kdab.com> -Date: Fri, 29 Nov 2013 10:06:20 +0100 -Subject: [PATCH 23/54] Stabilize tst_QGraphicsItem - -The cursor() test was missing a QTest::moveMouse() before sending of the -mouse event (as all the following subtests do). When run on a desktop with -the panel on the left side of the screen, the mouse pointer would land over -the left item instead of in between them, as assumed by the subtest, and -the following QCOMPARE failed. - -Change-Id: Ib74fdf0cfbfbc8ecb79a906610a2da5cb50c89d0 -Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> - -diff --git a/tests/auto/widgets/graphicsview/qgraphicsitem/tst_qgraphicsitem.cpp b/tests/auto/widgets/graphicsview/qgraphicsitem/tst_qgraphicsitem.cpp -index 6c26ddb..fc1d0e3 100644 ---- a/tests/auto/widgets/graphicsview/qgraphicsitem/tst_qgraphicsitem.cpp -+++ b/tests/auto/widgets/graphicsview/qgraphicsitem/tst_qgraphicsitem.cpp -@@ -4221,6 +4221,7 @@ void tst_QGraphicsItem::cursor() - QCursor cursor = view.viewport()->cursor(); - - { -+ QTest::mouseMove(view.viewport(), QPoint(100, 50)); - QMouseEvent event(QEvent::MouseMove, QPoint(100, 50), Qt::NoButton, 0, 0); - QApplication::sendEvent(view.viewport(), &event); - } --- -1.8.4 - - -From 9302169bd5ad8380ebe95f50986d2b32eb486901 Mon Sep 17 00:00:00 2001 -From: Nikolai Kosjar <nikolai.kosjar@digia.com> -Date: Fri, 29 Nov 2013 14:06:50 +0100 -Subject: [PATCH 24/57] QtConcurrent: Workaround GCC bug 58800 in median - calculation - -1) Revert 880b614 for libstdc++ <= 4.7.3 || (4.8.0 >= ... <= 4.8.2) -2) Fix off-by-one error in reverted code for Median::_bufferSize <= 2. - -Task-number: QTBUG-35058 -Change-Id: I9d226c2806c1cf06c3d5b9c9f371262d2d69bf2b -Reviewed-by: Olivier Goffart <ogoffart@woboq.com> -Reviewed-by: Marc Mutz <marc.mutz@kdab.com> - -diff --git a/src/concurrent/qtconcurrentmedian.h b/src/concurrent/qtconcurrentmedian.h -index b39b3ed..ce2afb9 100644 ---- a/src/concurrent/qtconcurrentmedian.h -+++ b/src/concurrent/qtconcurrentmedian.h -@@ -102,10 +102,19 @@ public: - { - if (dirty) { - dirty = false; -+ -+// This is a workaround for http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58800 -+// Avoid using std::nth_element for stdlibc++ <= 4.7.3 || (>= 4.8.0 && <= 4.8.2) -+#if defined(__GLIBCXX__) && (__GLIBCXX__ <= 20130411 || (__GLIBCXX__ >= 20130322 && __GLIBCXX__ <= 20131016)) -+ QVector<T> sorted = values; -+ std::sort(sorted.begin(), sorted.end()); -+ currentMedian = sorted.at(bufferSize / 2); -+#else - QVector<T> copy = values; - typename QVector<T>::iterator begin = copy.begin(), mid = copy.begin() + bufferSize/2, end = copy.end(); - std::nth_element(begin, mid, end); - currentMedian = *mid; -+#endif - } - return currentMedian; - } -diff --git a/tests/auto/concurrent/concurrent.pro b/tests/auto/concurrent/concurrent.pro -index 20bad24..e67c51a 100644 ---- a/tests/auto/concurrent/concurrent.pro -+++ b/tests/auto/concurrent/concurrent.pro -@@ -3,6 +3,7 @@ SUBDIRS=\ - qtconcurrentfilter \ - qtconcurrentiteratekernel \ - qtconcurrentmap \ -+ qtconcurrentmedian \ - qtconcurrentrun \ - qtconcurrentthreadengine - -diff --git a/tests/auto/concurrent/qtconcurrentmedian/qtconcurrentmedian.pro b/tests/auto/concurrent/qtconcurrentmedian/qtconcurrentmedian.pro -new file mode 100644 -index 0000000..1eb27d8 ---- /dev/null -+++ b/tests/auto/concurrent/qtconcurrentmedian/qtconcurrentmedian.pro -@@ -0,0 +1,5 @@ -+CONFIG += testcase parallel_test -+TARGET = tst_qtconcurrentmedian -+QT = core testlib concurrent -+SOURCES = tst_qtconcurrentmedian.cpp -+DEFINES += QT_STRICT_ITERATORS -diff --git a/tests/auto/concurrent/qtconcurrentmedian/tst_qtconcurrentmedian.cpp b/tests/auto/concurrent/qtconcurrentmedian/tst_qtconcurrentmedian.cpp -new file mode 100644 -index 0000000..c9fbc79 ---- /dev/null -+++ b/tests/auto/concurrent/qtconcurrentmedian/tst_qtconcurrentmedian.cpp -@@ -0,0 +1,87 @@ -+/**************************************************************************** -+** -+** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). -+** Contact: http://www.qt-project.org/legal -+** -+** This file is part of the test suite of the Qt Toolkit. -+** -+** $QT_BEGIN_LICENSE:LGPL$ -+** Commercial License Usage -+** Licensees holding valid commercial Qt licenses may use this file in -+** accordance with the commercial license agreement provided with the -+** Software or, alternatively, in accordance with the terms contained in -+** a written agreement between you and Digia. For licensing terms and -+** conditions see http://qt.digia.com/licensing. For further information -+** use the contact form at http://qt.digia.com/contact-us. -+** -+** GNU Lesser General Public License Usage -+** Alternatively, this file may be used under the terms of the GNU Lesser -+** General Public License version 2.1 as published by the Free Software -+** Foundation and appearing in the file LICENSE.LGPL included in the -+** packaging of this file. Please review the following information to -+** ensure the GNU Lesser General Public License version 2.1 requirements -+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -+** -+** In addition, as a special exception, Digia gives you certain additional -+** rights. These rights are described in the Digia Qt LGPL Exception -+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -+** -+** GNU General Public License Usage -+** Alternatively, this file may be used under the terms of the GNU -+** General Public License version 3.0 as published by the Free Software -+** Foundation and appearing in the file LICENSE.GPL included in the -+** packaging of this file. Please review the following information to -+** ensure the GNU General Public License version 3.0 requirements will be -+** met: http://www.gnu.org/copyleft/gpl.html. -+** -+** -+** $QT_END_LICENSE$ -+** -+****************************************************************************/ -+#include <qtconcurrentmedian.h> -+ -+#include <QtTest/QtTest> -+ -+class tst_QtConcurrentMedian: public QObject -+{ -+ Q_OBJECT -+private slots: -+ void median_data(); -+ void median(); -+}; -+ -+void tst_QtConcurrentMedian::median_data() -+{ -+ QTest::addColumn<QList<int> >("values"); -+ QTest::addColumn<int>("expectedMedian"); -+ -+ QTest::newRow("size=1") -+ << (QList<int>() << 1) -+ << 1; -+ -+ QTest::newRow("size=2") -+ << (QList<int>() << 3 << 2) -+ << 3; -+ -+ QTest::newRow("size=3") -+ << (QList<int>() << 3 << 1 << 2) -+ << 2; -+ -+ QTest::newRow("gcc bug 58800 (nth_element)") -+ << (QList<int>() << 207089 << 202585 << 180067 << 157549 << 211592 << 216096 << 207089) -+ << 207089; -+} -+ -+void tst_QtConcurrentMedian::median() -+{ -+ QFETCH(QList<int> , values); -+ QFETCH(int, expectedMedian); -+ -+ QtConcurrent::Median<int> m(values.size()); -+ foreach (int value, values) -+ m.addValue(value); -+ QCOMPARE(m.median(), expectedMedian); -+} -+ -+QTEST_MAIN(tst_QtConcurrentMedian) -+#include "tst_qtconcurrentmedian.moc" --- -1.8.4 - - -From 119ea0f2dbaa4cdea6929e542c59f99b2dfd0ef9 Mon Sep 17 00:00:00 2001 -From: Richard Moe Gustavsen <richard.gustavsen@digia.com> -Date: Mon, 2 Dec 2013 22:34:26 +0100 -Subject: [PATCH 25/57] iOS: fix application hangs when opening keyboard -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -QIOSInputContext controls QUIViews first responder status -based on whether or not the keyboard should be open. -But since QGuiApplication updates focusObject before -focusWindow (when e.g a popup closes), we sometimes ended up -activating the old window upon a call to becomeFirstResponder. -This in turn led the application to hang because of -recursive dependencies in qioscontext when the focus window -changed. - -So the solution for now is to avoid activating the window -when the view becomes first responder. This should be -fine since we now activate the window from -QIOSWindow::requestActivateWindow (ref: 6272a816d1) - -Task-number: QTBUG-35340 -Change-Id: I3068c14fec18d84d4b0b348a043c4c054e366c75 -Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com> - -diff --git a/src/plugins/platforms/ios/qioswindow.mm b/src/plugins/platforms/ios/qioswindow.mm -index 0dd810b..43f36e3 100644 ---- a/src/plugins/platforms/ios/qioswindow.mm -+++ b/src/plugins/platforms/ios/qioswindow.mm -@@ -330,13 +330,9 @@ - - - (BOOL)becomeFirstResponder - { -- // On iOS, a QWindow should only have input focus when the input panel is -- // open. This is to stop cursors and focus rects from being drawn when the -- // user cannot type. And since the keyboard will open when a view becomes -- // the first responder, it's now a good time to inform QPA that the QWindow -- // this view backs became active: -+ // Note: QIOSInputContext controls our first responder status based on -+ // whether or not the keyboard should be open or closed. - [self updateTextInputTraits]; -- QWindowSystemInterface::handleWindowActivated(m_qioswindow->window()); - return [super becomeFirstResponder]; - } - --- -1.8.4 - - -From 1fc28716e67cb9a4384c99c39e8a283ca344e771 Mon Sep 17 00:00:00 2001 -From: Martin Smith <martin.smith@digia.com> -Date: Mon, 2 Dec 2013 10:46:21 +0100 -Subject: [PATCH 26/57] qdoc: Replaced hard-coded href with computed href -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -For enum types that have QFlags versions, qdoc was -outputting the documentation with a hard-coded link -to qflags.html, which only workjed in the single -directory mode. When qdoc outputs modular documentation, -the href for the link should be "../qtcore/qflags.html" . -Now qdoc computes this href correctly before it writes -the docs. The href is no longer hard-coded. - -Task-number: QTBUG-35209 -Change-Id: Ibdf5b11dbd063726eb77048de78f8874c65752ca -Reviewed-by: Topi Reiniö <topi.reinio@digia.com> -Reviewed-by: Lars Knoll <lars.knoll@digia.com> - -diff --git a/src/tools/qdoc/htmlgenerator.cpp b/src/tools/qdoc/htmlgenerator.cpp -index 986b4ae..511dc32 100644 ---- a/src/tools/qdoc/htmlgenerator.cpp -+++ b/src/tools/qdoc/htmlgenerator.cpp -@@ -269,6 +269,9 @@ QString HtmlGenerator::format() - void HtmlGenerator::generateTree() - { - qdb_->buildCollections(); -+ Node* qflags = qdb_->findNodeByNameAndType(QStringList("QFlags"), Node::Class, Node::NoSubType); -+ if (qflags) -+ qflagsHref_ = linkForNode(qflags,0); - if (!runPrepareOnly()) { - Generator::generateTree(); - generateCollisionPages(); -@@ -3660,7 +3663,7 @@ void HtmlGenerator::generateDetailedMember(const Node *node, - if (enume->flagsType()) { - out() << "<p>The " << protectEnc(enume->flagsType()->name()) - << " type is a typedef for " -- << "<a href=\"qflags.html\">QFlags</a><" -+ << "<a href=\"" << qflagsHref_ << "\">QFlags</a><" - << protectEnc(enume->name()) - << ">. It stores an OR combination of " - << protectEnc(enume->name()) -diff --git a/src/tools/qdoc/htmlgenerator.h b/src/tools/qdoc/htmlgenerator.h -index f252532..ae16f3c 100644 ---- a/src/tools/qdoc/htmlgenerator.h -+++ b/src/tools/qdoc/htmlgenerator.h -@@ -262,6 +262,7 @@ private: - QString cppclassespage; - QString qmltypespage; - QString buildversion; -+ QString qflagsHref_; - - public: - static bool debugging_on; --- -1.8.4 - - -From ac54abfb07579c747612c0d9e53089fe5cd32caf Mon Sep 17 00:00:00 2001 -From: J-P Nurmi <jpnurmi@digia.com> -Date: Mon, 2 Dec 2013 22:23:11 +0100 -Subject: [PATCH 27/57] Fix style animations to stop when the animation target - is hidden - -QStyleAnimation automatically stopped for hidden QWidgets, but didn't -know anything about QQuickItems and kept animating regardless of their -visibility. This change ensures that style animations stop as soon as -the animation target no longer accepts the animation update eg. it has -become hidden or the window was minimized. - -Task-number: QTBUG-35319 -Change-Id: Ie48191fd918c626c0d9afe2e7d2390c495efb071 -Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com> - -diff --git a/src/widgets/graphicsview/qgraphicsitem.cpp b/src/widgets/graphicsview/qgraphicsitem.cpp -index fffc805..0ba0889 100644 ---- a/src/widgets/graphicsview/qgraphicsitem.cpp -+++ b/src/widgets/graphicsview/qgraphicsitem.cpp -@@ -7634,7 +7634,10 @@ QGraphicsObject::~QGraphicsObject() - bool QGraphicsObject::event(QEvent *ev) - { - if (ev->type() == QEvent::StyleAnimationUpdate) { -- update(); -+ if (isVisible()) { -+ ev->accept(); -+ update(); -+ } - return true; - } - return QObject::event(ev); -diff --git a/src/widgets/graphicsview/qgraphicswidget.cpp b/src/widgets/graphicsview/qgraphicswidget.cpp -index 4abb5e3..ccc5112 100644 ---- a/src/widgets/graphicsview/qgraphicswidget.cpp -+++ b/src/widgets/graphicsview/qgraphicswidget.cpp -@@ -1409,9 +1409,14 @@ bool QGraphicsWidget::event(QEvent *event) - break; - case QEvent::WindowActivate: - case QEvent::WindowDeactivate: -- case QEvent::StyleAnimationUpdate: - update(); - break; -+ case QEvent::StyleAnimationUpdate: -+ if (isVisible()) { -+ event->accept(); -+ update(); -+ } -+ break; - // Taken from QWidget::event - case QEvent::ActivationChange: - case QEvent::EnabledChange: -diff --git a/src/widgets/kernel/qwidget.cpp b/src/widgets/kernel/qwidget.cpp -index 421ce57..ab9e536 100644 ---- a/src/widgets/kernel/qwidget.cpp -+++ b/src/widgets/kernel/qwidget.cpp -@@ -8243,7 +8243,10 @@ bool QWidget::event(QEvent *event) - update(static_cast<QUpdateLaterEvent*>(event)->region()); - break; - case QEvent::StyleAnimationUpdate: -- update(); -+ if (isVisible() && !window()->isMinimized()) { -+ event->accept(); -+ update(); -+ } - break; - - case QEvent::WindowBlocked: -diff --git a/src/widgets/styles/qstyleanimation.cpp b/src/widgets/styles/qstyleanimation.cpp -index 4fb67d9..90fb371 100644 ---- a/src/widgets/styles/qstyleanimation.cpp -+++ b/src/widgets/styles/qstyleanimation.cpp -@@ -93,7 +93,10 @@ void QStyleAnimation::setStartTime(const QTime &time) - void QStyleAnimation::updateTarget() - { - QEvent event(QEvent::StyleAnimationUpdate); -+ event.setAccepted(false); - QCoreApplication::sendEvent(target(), &event); -+ if (!event.isAccepted()) -+ stop(); - } - - bool QStyleAnimation::isUpdateNeeded() const -@@ -103,16 +106,8 @@ bool QStyleAnimation::isUpdateNeeded() const - - void QStyleAnimation::updateCurrentTime(int) - { -- if (QObject *tgt = target()) { -- if (tgt->isWidgetType()) { -- QWidget *widget = static_cast<QWidget *>(tgt); -- if (!widget->isVisible() || widget->window()->isMinimized()) -- stop(); -- } -- -- if (isUpdateNeeded()) -- updateTarget(); -- } -+ if (target() && isUpdateNeeded()) -+ updateTarget(); - } - - QProgressStyleAnimation::QProgressStyleAnimation(int speed, QObject *target) : --- -1.8.4 - - -From dd97932a04c1ef27d0e4d73b701acc2aad411b07 Mon Sep 17 00:00:00 2001 -From: Topi Reinio <topi.reinio@digia.com> -Date: Tue, 3 Dec 2013 14:42:40 +0100 -Subject: [PATCH 28/57] qdoc: Fix output filenames for QML basic type - documentation - -qdoc intends to prepend all html files related to QML with -a 'qml-' prefix. This doesn't work for basic QML types, as -those nodes do not have valid qml module name information. - -This change fixes the issue by removing the requirement -for a qml module name, thereby always using the qml -prefix for a qml (basic) type. - -Task-number: QTBUG-35229 -Change-Id: If61572b2dc8a39be08140c37aa59646b88e99b29 -Reviewed-by: Martin Smith <martin.smith@digia.com> -Reviewed-by: Jerome Pasion <jerome.pasion@digia.com> - -diff --git a/src/tools/qdoc/generator.cpp b/src/tools/qdoc/generator.cpp -index 97a980a..3cbba78 100644 ---- a/src/tools/qdoc/generator.cpp -+++ b/src/tools/qdoc/generator.cpp -@@ -334,14 +334,14 @@ QString Generator::fileBase(const Node *node) const - if (node->isQmlNode()) { - if (!node->qmlModuleName().isEmpty()) { - base.prepend(node->qmlModuleName() + QLatin1Char('-')); -- /* -- To avoid file name conflicts in the html directory, -- we prepend a prefix (by default, "qml-") to the file name of QML -- element doc files. -- */ -- if ((node->subType() == Node::QmlClass) || (node->subType() == Node::QmlBasicType)) { -- base.prepend(outputPrefix(QLatin1String("QML"))); -- } -+ } -+ /* -+ To avoid file name conflicts in the html directory, -+ we prepend a prefix (by default, "qml-") to the file name of QML -+ element doc files. -+ */ -+ if ((node->subType() == Node::QmlClass) || (node->subType() == Node::QmlBasicType)) { -+ base.prepend(outputPrefix(QLatin1String("QML"))); - } - } - else if (node->subType() == Node::QmlModule) { --- -1.8.4 - - -From 32f71db1bdcf93c8a03a9ef11ff4044479afa369 Mon Sep 17 00:00:00 2001 -From: Richard Moe Gustavsen <richard.gustavsen@digia.com> -Date: Tue, 3 Dec 2013 13:55:20 +0100 -Subject: [PATCH 29/57] iOS: fix crash when application quits -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -An application will sometimes crash if the keyboard -is told to hide while the application is about to -quit. This patch will ensure that we set m_qioswindow -(and [UIView qwindow]) to 0 when the window is destroyed. -We also check this pointer before telling QUIView to -resign first responder when closing the keyboard. The -latter will fix the crash. - -Task-number: QTBUG-35356 - -Change-Id: I934088beb7e877c5b33d96225cb215a8ffd4dbb2 -Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com> - -diff --git a/src/plugins/platforms/ios/qioswindow.mm b/src/plugins/platforms/ios/qioswindow.mm -index 43f36e3..7b217e0 100644 ---- a/src/plugins/platforms/ios/qioswindow.mm -+++ b/src/plugins/platforms/ios/qioswindow.mm -@@ -341,7 +341,8 @@ - // Resigning first responed status means that the virtual keyboard was closed, or - // some other view became first responder. In either case we clear the focus object to - // avoid blinking cursors in line edits etc: -- static_cast<QWindowPrivate *>(QObjectPrivate::get(m_qioswindow->window()))->clearFocusObject(); -+ if (m_qioswindow) -+ static_cast<QWindowPrivate *>(QObjectPrivate::get(m_qioswindow->window()))->clearFocusObject(); - return [super resignFirstResponder]; - } - -@@ -423,8 +424,10 @@ - - - (QWindow *)qwindow - { -- if ([self isKindOfClass:[QUIView class]]) -- return static_cast<QUIView *>(self)->m_qioswindow->window(); -+ if ([self isKindOfClass:[QUIView class]]) { -+ if (QIOSWindow *w = static_cast<QUIView *>(self)->m_qioswindow) -+ return w->window(); -+ } - return nil; - } - -@@ -461,6 +464,7 @@ QIOSWindow::~QIOSWindow() - // cancellation of all touch events. - [m_view touchesCancelled:0 withEvent:0]; - -+ m_view->m_qioswindow = 0; - [m_view removeFromSuperview]; - [m_view release]; - } --- -1.8.4 - - -From bd9cf0b7b96ea5836d18259b073870f8b145b46d Mon Sep 17 00:00:00 2001 -From: Richard Moe Gustavsen <richard.gustavsen@digia.com> -Date: Mon, 2 Dec 2013 22:32:13 +0100 -Subject: [PATCH 30/57] iOS: fix crash when focusWindow changes while keyboard - is open -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -It turns out we cannot rely on QGuiApplication::focusWindow() to -be non-zero at all times (e.g when pop-ups are closing etc). -So instead use m_focusView.qwindow which points to a -valid QWindow. This window is the same as QGuiApplication::focusWindow -most of the time, except when a focus window closes. -For those cases we get a new call to scrollRootView immediately -after with m_focusView updated to reflect the new focusWindow. - -Task-number: QTBUG-35339 - -Change-Id: Icb3a8d3140af1f1904495a9289c8c26ab79e70f6 -Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com> - -diff --git a/src/plugins/platforms/ios/qiosinputcontext.mm b/src/plugins/platforms/ios/qiosinputcontext.mm -index 0e43429..ea6a0bd 100644 ---- a/src/plugins/platforms/ios/qiosinputcontext.mm -+++ b/src/plugins/platforms/ios/qiosinputcontext.mm -@@ -270,7 +270,7 @@ void QIOSInputContext::scrollRootView() - && m_keyboardListener->m_keyboardVisibleAndDocked - && m_focusView.window == view.window) { - QRectF cursorRect = qGuiApp->inputMethod()->cursorRectangle(); -- cursorRect.translate(qGuiApp->focusWindow()->geometry().topLeft()); -+ cursorRect.translate(m_focusView.qwindow->geometry().topLeft()); - qreal keyboardY = m_keyboardListener->m_keyboardEndRect.y(); - int statusBarY = qGuiApp->primaryScreen()->availableGeometry().y(); - const int margin = 20; --- -1.8.4 - - -From 41dedabb0115da186583c49f7fc93882f3e8abde Mon Sep 17 00:00:00 2001 -From: Oswald Buddenhagen <oswald.buddenhagen@digia.com> -Date: Mon, 2 Dec 2013 22:22:54 +0100 -Subject: [PATCH 31/57] added buildsystem/qmake changelog -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Change-Id: Ic1549b97fd4f71ac41f66432d40ff12bfa9d6897 -Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> -Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com> - -diff --git a/dist/changes-5.2.0 b/dist/changes-5.2.0 -index a51cc91..659bb21 100644 ---- a/dist/changes-5.2.0 -+++ b/dist/changes-5.2.0 -@@ -52,6 +52,10 @@ information about a particular change. - zero delta() in order to indicate beginning and end of transient - scrolling. - -+ - Mac OS X framework builds of Qt no longer contain a Unix-like include/ -+ directory; all headers are located in the frameworks. This may affect -+ 3rd party build systems not based on qmake or cmake. -+ - **************************************************************************** - * Library * - **************************************************************************** -@@ -700,3 +704,44 @@ X11 - - [QTBUG-31762] Fix position of system tray icon (except Unity) - - [QTBUG-27349] Reintroduced command line argument for positioning - windows (-geometry) -+ -+**************************************************************************** -+* Tools * -+**************************************************************************** -+ -+- configure -+ -+ * Added option to disable the QtMultimedia WMF backend -+ * [Unix] Added option to build with gcov support -+ * Added -extprefix option to support Qt installing into a different -+ location than the on-device -prefix within the -sysroot. -+ * [QTBUG-33584][Unix] Fixed parsing of -device-option with equal signs. -+ -+- cmake config files -+ -+ * [QTBUG-33145] Fixed usage of non-QtBase modules with Qt compiled from -+ source tarballs. -+ * [QTBUG-33223] Fixed header file location on multi-arch systems. -+ * Added support for automatic packaging of Qt plugins with cpack. -+ -+- qmake -+ -+ * [QTBUG-491] Added saner approach to debug/release path rewriting. -+ * Added the parseJson() function. -+ * Added "osx" scope as an alias for "macx". Note that matching on the -+ makespec is generally deprecated - use "linux", "gcc", etc. -+ * Added support for .qmake.stash files which are really *just* caches. -+ * [Xcode] Added support for QMAKE_PRE_LINK and QMAKE_POST_LINK. -+ * [QTBUG-31129] Added installation of PDB files for dlltarget. -+ * [QTBUG-28102] Added support for querying disabled Qt features. -+ * Removed macx-clang-libc++* makespecs. libc++ is now handled automatically. -+ * [QTBUG-32912][MSVS] Fixed moc not being run in case of DBUS_ADAPTORS or -+ DBUS_INTERFACES being present. -+ * [QTBUG-30644] Fixed unsatisfied requires() breaking recursive targets. -+ * [QTBUG-31204] Fixed extra compilers not finding their inputs. -+ * [QTBUG-32885][MSVS] Made it possible to disable debug information. -+ * [QTBUG-33446][MSVS] Fixed generation of VS2010+ solution files. -+ * [QTBUG-32375][MSVS] Fixed output directory of nested projects. -+ * [QTBUG-34392][MSVS] Fixed /SAFESEH:NO with VS2010+. -+ * [QTBUG-34357][MSVS] Fixed breakage with multiple VS versions in PATH. -+ * [MSVS] Fixed sub-project dependency generation. --- -1.8.4 - - -From 1983bc9c374fc8b83f608ecc1e6ce6ef4f54e572 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Morten=20Johan=20S=C3=B8rvig?= <morten.sorvig@digia.com> -Date: Mon, 2 Dec 2013 23:18:00 +0100 -Subject: [PATCH 32/57] Make layoutDirection pass with new expose behavior -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -A QMenu with no actions gets a size of (0, 0) on OS X. -With the new stricter expose event behavior this -is considered invalid geometry and the platform plugin -won't send an expose event, causing the qWaitForWindowExposed -test to fail. - -Add a menu entry since the layoutDirection test is -not really interested in testing the special case of -empty menus. - -Change-Id: I5221dc3f0472ac13edf821df08bacc3a4eb5cd9d -Reviewed-by: Simo Fält <simo.falt@digia.com> -Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com> - -diff --git a/tests/auto/widgets/widgets/qmenu/tst_qmenu.cpp b/tests/auto/widgets/widgets/qmenu/tst_qmenu.cpp -index 7c1bb95..ece9026 100644 ---- a/tests/auto/widgets/widgets/qmenu/tst_qmenu.cpp -+++ b/tests/auto/widgets/widgets/qmenu/tst_qmenu.cpp -@@ -570,6 +570,7 @@ void tst_QMenu::layoutDirection() - win.setLayoutDirection(Qt::RightToLeft); - - QMenu menu(&win); -+ menu.addAction("foo"); - menu.show(); - QVERIFY(QTest::qWaitForWindowExposed(&menu)); - QCOMPARE(menu.layoutDirection(), Qt::RightToLeft); --- -1.8.4 - - -From c6874106850f64c9d1b38238988110bdd4198336 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Morten=20Johan=20S=C3=B8rvig?= <morten.sorvig@digia.com> -Date: Mon, 25 Nov 2013 09:03:42 +0100 -Subject: [PATCH 33/57] Improve expose event handling. - -Prevent the cocoa platform plugin from sending expose -events for windows that are off-screen or has invalid -geometry. - -Differentiate between initial exposes and geometry -update exposes, in order that e.g. geometry updates -that happen before setVisible() don't trigger expose -events. After the initial expose geometry updates -to and from invalid geometry will trigger obscure -and expose events. - -Task-number: QTBUG-35143 -Task-number: QTBUG-35091 -Change-Id: Ibbff20c69974f098ea7635e9ca38620597840a05 -Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com> - -diff --git a/src/plugins/platforms/cocoa/qcocoawindow.h b/src/plugins/platforms/cocoa/qcocoawindow.h -index 4f5a208..c7ec315 100644 ---- a/src/plugins/platforms/cocoa/qcocoawindow.h -+++ b/src/plugins/platforms/cocoa/qcocoawindow.h -@@ -159,8 +159,10 @@ public: - void registerTouch(bool enable); - - qreal devicePixelRatio() const; -+ bool isWindowExposable(); - void exposeWindow(); - void obscureWindow(); -+ void updateExposedGeometry(); - QWindow *childWindowAt(QPoint windowPoint); - protected: - // NSWindow handling. The QCocoaWindow/QNSView can either be displayed -@@ -202,7 +204,9 @@ public: // for QNSView - - bool m_hasModalSession; - bool m_frameStrutEventsEnabled; -+ bool m_geometryUpdateExposeAllowed; - bool m_isExposed; -+ QRect m_exposedGeometry; - int m_registerTouchCount; - bool m_resizableTransientParent; - bool m_overrideBecomeKey; -diff --git a/src/plugins/platforms/cocoa/qcocoawindow.mm b/src/plugins/platforms/cocoa/qcocoawindow.mm -index 4da47f4..de99ecf 100644 ---- a/src/plugins/platforms/cocoa/qcocoawindow.mm -+++ b/src/plugins/platforms/cocoa/qcocoawindow.mm -@@ -213,6 +213,7 @@ QCocoaWindow::QCocoaWindow(QWindow *tlw) - , m_windowCursor(0) - , m_hasModalSession(false) - , m_frameStrutEventsEnabled(false) -+ , m_geometryUpdateExposeAllowed(false) - , m_isExposed(false) - , m_registerTouchCount(0) - , m_resizableTransientParent(false) -@@ -1078,22 +1079,61 @@ qreal QCocoaWindow::devicePixelRatio() const - } - } - -+// Returns whether the window can be expose, which it can -+// if it is on screen and has a valid geometry. -+bool QCocoaWindow::isWindowExposable() -+{ -+ QSize size = geometry().size(); -+ bool validGeometry = (size.width() > 0 && size.height() > 0); -+ bool validScreen = ([[m_contentView window] screen] != 0); -+ bool nonHiddenSuperView = ![[m_contentView superview] isHidden]; -+ return (validGeometry && validScreen && nonHiddenSuperView); -+} -+ -+// Exposes the window by posting an expose event to QWindowSystemInterface - void QCocoaWindow::exposeWindow() - { -- if (!m_isExposed && ![[m_contentView superview] isHidden]) { -+ m_geometryUpdateExposeAllowed = true; -+ -+ if (!isWindowExposable()) -+ return; -+ -+ if (!m_isExposed) { - m_isExposed = true; -+ m_exposedGeometry = geometry(); - QWindowSystemInterface::handleExposeEvent(window(), QRegion(geometry())); - } - } - -+// Obscures the window by posting an empty expose event to QWindowSystemInterface - void QCocoaWindow::obscureWindow() - { - if (m_isExposed) { -+ m_geometryUpdateExposeAllowed = false; - m_isExposed = false; - QWindowSystemInterface::handleExposeEvent(window(), QRegion()); - } - } - -+// Updates window geometry by posting an expose event to QWindowSystemInterface -+void QCocoaWindow::updateExposedGeometry() -+{ -+ // updateExposedGeometry is not allowed to send the initial expose. If you want -+ // that call exposeWindow(); -+ if (!m_geometryUpdateExposeAllowed) -+ return; -+ -+ if (!isWindowExposable()) -+ return; -+ -+ if (m_exposedGeometry == geometry()) -+ return; -+ -+ m_isExposed = true; -+ m_exposedGeometry = geometry(); -+ QWindowSystemInterface::handleExposeEvent(window(), QRegion(geometry())); -+} -+ - QWindow *QCocoaWindow::childWindowAt(QPoint windowPoint) - { - QWindow *targetWindow = window(); -diff --git a/src/plugins/platforms/cocoa/qnsview.mm b/src/plugins/platforms/cocoa/qnsview.mm -index 71c4de3..1c15c3b 100644 ---- a/src/plugins/platforms/cocoa/qnsview.mm -+++ b/src/plugins/platforms/cocoa/qnsview.mm -@@ -175,7 +175,7 @@ static QTouchDevice *touchDevice = 0; - - (void) globalFrameChanged:(NSNotification*)notification - { - Q_UNUSED(notification); -- QWindowSystemInterface::handleExposeEvent(m_window, m_window->geometry()); -+ m_platformWindow->updateExposedGeometry(); - } - - - (void)viewDidMoveToSuperview -@@ -186,7 +186,7 @@ static QTouchDevice *touchDevice = 0; - if ([self superview]) { - m_platformWindow->m_contentViewIsEmbedded = true; - QWindowSystemInterface::handleGeometryChange(m_window, m_platformWindow->geometry()); -- QWindowSystemInterface::handleExposeEvent(m_window, m_platformWindow->geometry()); -+ m_platformWindow->updateExposedGeometry(); - QWindowSystemInterface::flushWindowSystemEvents(); - } else { - m_platformWindow->m_contentViewIsEmbedded = false; -@@ -261,7 +261,7 @@ static QTouchDevice *touchDevice = 0; - // Send a geometry change event to Qt, if it's ready to handle events - if (!m_platformWindow->m_inConstructor) { - QWindowSystemInterface::handleGeometryChange(m_window, geometry); -- QWindowSystemInterface::handleExposeEvent(m_window, geometry); -+ m_platformWindow->updateExposedGeometry(); - QWindowSystemInterface::flushWindowSystemEvents(); - } - } --- -1.8.4 - - -From 520eee8570c8ddf4014d896ae3f121c315274000 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Tor=20Arne=20Vestb=C3=B8?= <tor.arne.vestbo@digia.com> -Date: Tue, 3 Dec 2013 15:37:49 +0100 -Subject: [PATCH 34/57] iOS: Disable drag and drop completely instead of - enabling simple d'n'd - -The drag and drop event filters do not play nicely with touch events -or virtual keyboards. - -Task-number: QTBUG-35348 -Change-Id: Id4d079ae72882f48750d394f13e10700d60e4532 -Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com> - -diff --git a/src/plugins/platforms/ios/qiosintegration.h b/src/plugins/platforms/ios/qiosintegration.h -index c655d8d..fdecf70 100644 ---- a/src/plugins/platforms/ios/qiosintegration.h -+++ b/src/plugins/platforms/ios/qiosintegration.h -@@ -74,6 +74,8 @@ public: - QStringList themeNames() const; - QPlatformTheme *createPlatformTheme(const QString &name) const; - -+ QPlatformDrag *drag() const Q_DECL_OVERRIDE { return 0; } -+ - QAbstractEventDispatcher *createEventDispatcher() const; - QPlatformNativeInterface *nativeInterface() const; - --- -1.8.4 - - -From b05b940185450af70791befd47b2dd47eb0acfd5 Mon Sep 17 00:00:00 2001 -From: Richard Moe Gustavsen <richard.gustavsen@digia.com> -Date: Wed, 4 Dec 2013 13:24:21 +0100 -Subject: [PATCH 35/57] iOS: fix assert when using QOffscreenSurface -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Qt defaults to creating a QWindow as offscreen surface -if QPlatformIntegration::createPlatformOffscreenSurface -returns 0. Using an offscreen surface is often done -in a background thread, which is problematic, since then -a QIOSWindow will also be created in a background thread. -According to Apple docs, working with a UIView from other -threads than the main thread should not be done. In our -case, we instead hit an assert in QApplication that -checks for the same. - -As a quick fix for Qt 5.2, we remove the offending call that -causes the assert, since we anyway will call the same function -lazily when becoming first responder. - -Task-number: QTBUG-35378 - -Change-Id: Id35462f99783a9748c688b163f6497de9bfff73e -Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com> - -diff --git a/src/plugins/platforms/ios/qioswindow.mm b/src/plugins/platforms/ios/qioswindow.mm -index 7b217e0..5374bc5 100644 ---- a/src/plugins/platforms/ios/qioswindow.mm -+++ b/src/plugins/platforms/ios/qioswindow.mm -@@ -108,8 +108,6 @@ - [NSNumber numberWithBool:YES], kEAGLDrawablePropertyRetainedBacking, - kEAGLColorFormatRGBA8, kEAGLDrawablePropertyColorFormat, nil]; - -- [self updateTextInputTraits]; -- - if (isQtApplication()) - self.hidden = YES; - --- -1.8.4 - - -From 63aa431999881d034d412bd74c0ddcb539684782 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Morten=20Johan=20S=C3=B8rvig?= <morten.sorvig@digia.com> -Date: Thu, 28 Nov 2013 23:47:29 +0100 -Subject: [PATCH 36/57] Revert "Cocoa (OpenGL): If no view is attached, - makeCurrent() should return false" - -This reverts commit 2eb1e28a90eaf82f4405dc65584021f16415014b, -which makes several of the OpenGL examples crash on startup. -(textures, hellogl_es2) - -Change-Id: Id47d2df6f57b2396c333e478b3c062f4cb4becb5 -Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com> -Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com> - -diff --git a/src/plugins/platforms/cocoa/qcocoaglcontext.mm b/src/plugins/platforms/cocoa/qcocoaglcontext.mm -index 1441443..0f45386 100644 ---- a/src/plugins/platforms/cocoa/qcocoaglcontext.mm -+++ b/src/plugins/platforms/cocoa/qcocoaglcontext.mm -@@ -182,8 +182,6 @@ bool QCocoaGLContext::makeCurrent(QPlatformSurface *surface) - QWindow *window = static_cast<QCocoaWindow *>(surface)->window(); - setActiveWindow(window); - -- if (![m_context view]) -- return false; - [m_context makeCurrentContext]; - update(); - return true; --- -1.8.4 - - -From 04ccc2b255633deb6dd1bfd8ff56efdbff58a543 Mon Sep 17 00:00:00 2001 -From: hjk <hjk121@nokiamail.com> -Date: Thu, 28 Nov 2013 16:08:53 +0100 -Subject: [PATCH 37/57] Doc: Adjust description of the qreal typedef - -Change-Id: I038df8034ee00868eeee18b1ed09f7a70e3dd77a -Reviewed-by: Jerome Pasion <jerome.pasion@digia.com> -Reviewed-by: Lars Knoll <lars.knoll@digia.com> - -diff --git a/src/corelib/global/qglobal.cpp b/src/corelib/global/qglobal.cpp -index 0c72bd7..279ba20 100644 ---- a/src/corelib/global/qglobal.cpp -+++ b/src/corelib/global/qglobal.cpp -@@ -556,10 +556,8 @@ Q_STATIC_ASSERT_X(UCHAR_MAX == 255, "Qt assumes that char is 8 bits"); - \typedef qreal - \relates <QtGlobal> - -- Typedef for \c double on all platforms except for those using CPUs with -- ARM architectures. -- On ARM-based platforms, \c qreal is a typedef for \c float for performance -- reasons. -+ Typedef for \c double unless Qt is configured with the -+ \c{-qreal float} option. - */ - - /*! \typedef uchar --- -1.8.4 - - -From 996d78d4c94a0116eecec160caf605ea3629f36c Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Tor=20Arne=20Vestb=C3=B8?= <tor.arne.vestbo@digia.com> -Date: Thu, 28 Nov 2013 13:09:44 +0100 -Subject: [PATCH 38/57] iOS: Handle statusbar changes to child windows -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Going through the platform window failed when the parent wasn't created -yet. We can still get the window state of an yet-to-be-created top level -window. - -Change-Id: Iaa61ddc50df037ac0bd2fd0884884c2bfce1dd9a -Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com> - -diff --git a/src/plugins/platforms/ios/qiosviewcontroller.mm b/src/plugins/platforms/ios/qiosviewcontroller.mm -index 2e7e44d..9a9fba5 100644 ---- a/src/plugins/platforms/ios/qiosviewcontroller.mm -+++ b/src/plugins/platforms/ios/qiosviewcontroller.mm -@@ -102,11 +102,11 @@ - - (BOOL)prefersStatusBarHidden - { - QWindow *focusWindow = QGuiApplication::focusWindow(); -- if (!focusWindow) -+ if (!focusWindow || !focusWindow->handle()) - return [UIApplication sharedApplication].statusBarHidden; - -- QIOSWindow *topLevel = static_cast<QIOSWindow *>(focusWindow->handle())->topLevelWindow(); -- return topLevel->window()->windowState() == Qt::WindowFullScreen; -+ QWindow *topLevel = static_cast<QIOSWindow *>(focusWindow->handle())->topLevelWindow(); -+ return topLevel->windowState() == Qt::WindowFullScreen; - } - - @end -diff --git a/src/plugins/platforms/ios/qioswindow.h b/src/plugins/platforms/ios/qioswindow.h -index a5e122b..01a8286 100644 ---- a/src/plugins/platforms/ios/qioswindow.h -+++ b/src/plugins/platforms/ios/qioswindow.h -@@ -85,7 +85,7 @@ public: - - WId winId() const { return WId(m_view); }; - -- QIOSWindow *topLevelWindow() const; -+ QWindow *topLevelWindow() const; - - private: - void applyGeometry(const QRect &rect); -diff --git a/src/plugins/platforms/ios/qioswindow.mm b/src/plugins/platforms/ios/qioswindow.mm -index 5374bc5..d62d542 100644 ---- a/src/plugins/platforms/ios/qioswindow.mm -+++ b/src/plugins/platforms/ios/qioswindow.mm -@@ -622,7 +622,7 @@ void QIOSWindow::setParent(const QPlatformWindow *parentWindow) - } - } - --QIOSWindow *QIOSWindow::topLevelWindow() const -+QWindow *QIOSWindow::topLevelWindow() const - { - QWindow *window = this->window(); - while (window) { -@@ -636,7 +636,7 @@ QIOSWindow *QIOSWindow::topLevelWindow() const - window = parent; - } - -- return static_cast<QIOSWindow *>(window->handle()); -+ return window; - } - - void QIOSWindow::requestActivateWindow() --- -1.8.4 - - -From 2e132854460e11a1ade516f61477723202d56a93 Mon Sep 17 00:00:00 2001 -From: Richard Moe Gustavsen <richard.gustavsen@digia.com> -Date: Tue, 26 Nov 2013 11:13:56 +0100 -Subject: [PATCH 39/57] iOS: don't show statusbar if hidden from Info.plist -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Currently there is no way to always hide the statusbar -on iOS other than showing a window in fullscreen. This -patch will check if the statusbar is (initially) hidden -from the Info.plist, and respect that in the application. - -SubAttack is an example of an app that (because -of styling issues with MainWindow margins) manually -sets the geometry larger than fullsreen, and calls -showNormal(). In that case we still want the statusbar to be -hidden. - -Change-Id: Ia365d14971978360d0b39621ff0f8f82f74b57e2 -Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com> - -diff --git a/src/plugins/platforms/ios/qiosviewcontroller.mm b/src/plugins/platforms/ios/qiosviewcontroller.mm -index 9a9fba5..0a6a00b 100644 ---- a/src/plugins/platforms/ios/qiosviewcontroller.mm -+++ b/src/plugins/platforms/ios/qiosviewcontroller.mm -@@ -101,6 +101,9 @@ - - - (BOOL)prefersStatusBarHidden - { -+ static bool hiddenFromPlist = infoPlistValue(@"UIStatusBarHidden", false); -+ if (hiddenFromPlist) -+ return YES; - QWindow *focusWindow = QGuiApplication::focusWindow(); - if (!focusWindow || !focusWindow->handle()) - return [UIApplication sharedApplication].statusBarHidden; --- -1.8.4 - - -From 6c5febd20331b58f0e55f137af6200d701b03b0e Mon Sep 17 00:00:00 2001 -From: Richard Moe Gustavsen <richard.gustavsen@digia.com> -Date: Tue, 26 Nov 2013 10:38:21 +0100 -Subject: [PATCH 40/57] iOS: move infoPlistValue to qiosglobal -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Change-Id: If237f08683290105413dc47923e23a496765bb22 -Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com> - -diff --git a/src/plugins/platforms/ios/qioseventdispatcher.mm b/src/plugins/platforms/ios/qioseventdispatcher.mm -index 51eb10d..f93c6cc 100644 ---- a/src/plugins/platforms/ios/qioseventdispatcher.mm -+++ b/src/plugins/platforms/ios/qioseventdispatcher.mm -@@ -206,13 +206,6 @@ namespace - bool debugStackUsage = false; - } - --static int infoPlistValue(NSString* key, int defaultValue) --{ -- static NSBundle *bundle = [NSBundle mainBundle]; -- NSNumber* value = [bundle objectForInfoDictionaryKey:key]; -- return value ? [value intValue] : defaultValue; --} -- - extern "C" int __attribute__((weak)) main(int argc, char *argv[]) - { - @autoreleasepool { -diff --git a/src/plugins/platforms/ios/qiosglobal.h b/src/plugins/platforms/ios/qiosglobal.h -index 1c76d29..17184dc 100644 ---- a/src/plugins/platforms/ios/qiosglobal.h -+++ b/src/plugins/platforms/ios/qiosglobal.h -@@ -61,6 +61,7 @@ QPointF fromCGPoint(const CGPoint &point); - Qt::ScreenOrientation toQtScreenOrientation(UIDeviceOrientation uiDeviceOrientation); - UIDeviceOrientation fromQtScreenOrientation(Qt::ScreenOrientation qtOrientation); - QRect fromPortraitToPrimary(const QRect &rect, QPlatformScreen *screen); -+int infoPlistValue(NSString* key, int defaultValue); - - QT_END_NAMESPACE - -diff --git a/src/plugins/platforms/ios/qiosglobal.mm b/src/plugins/platforms/ios/qiosglobal.mm -index d749b8f..8dd690f 100644 ---- a/src/plugins/platforms/ios/qiosglobal.mm -+++ b/src/plugins/platforms/ios/qiosglobal.mm -@@ -134,5 +134,12 @@ QRect fromPortraitToPrimary(const QRect &rect, QPlatformScreen *screen) - : QRect(rect.y(), geometry.height() - rect.width() - rect.x(), rect.height(), rect.width()); - } - -+int infoPlistValue(NSString* key, int defaultValue) -+{ -+ static NSBundle *bundle = [NSBundle mainBundle]; -+ NSNumber* value = [bundle objectForInfoDictionaryKey:key]; -+ return value ? [value intValue] : defaultValue; -+} -+ - QT_END_NAMESPACE - --- -1.8.4 - - -From 483806f35f0d7f55689addf0abe308b7757741fc Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Christian=20Str=C3=B8mme?= <christian.stromme@digia.com> -Date: Mon, 2 Dec 2013 14:56:50 +0100 -Subject: [PATCH 41/57] Android: Fix crash caused by QJNIs classLoader code. - -In some cases the classLoader is not able to resolve fully-qualified -names that contains forward slashes. Unlike FindClass() which expects -the fully-qualified name to contain slashes, the classLoader expects -the binary name, i.e., with '.' as separator. - -This caused a crash in QtMultimedia when accessing a nested class. - -Task-number: QTBUG-35298 -Change-Id: I77728352fbab930ae1914bc1cb2189e458e179e2 -Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com> -Reviewed-by: BogDan Vatra <bogdan@kde.org> - -diff --git a/src/corelib/kernel/qjni.cpp b/src/corelib/kernel/qjni.cpp -index 4e06d12..aaa75c0 100644 ---- a/src/corelib/kernel/qjni.cpp -+++ b/src/corelib/kernel/qjni.cpp -@@ -74,7 +74,8 @@ static jclass getCachedClass(JNIEnv *env, const char *className) - if (!classLoader.isValid()) - return 0; - -- QJNIObjectPrivate stringName = QJNIObjectPrivate::fromString(QLatin1String(className)); -+ QJNIObjectPrivate stringName = QJNIObjectPrivate::fromString(QString::fromLatin1(className).replace(QLatin1Char('/'), -+ QLatin1Char('.'))); - QJNIObjectPrivate classObject = classLoader.callObjectMethod("loadClass", - "(Ljava/lang/String;)Ljava/lang/Class;", - stringName.object()); --- -1.8.4 - - -From 6ebaad14ccd266326186ab338e0153eef580c755 Mon Sep 17 00:00:00 2001 -From: Eike Ziller <eike.ziller@digia.com> -Date: Wed, 27 Nov 2013 17:22:56 +0100 -Subject: [PATCH 42/57] QStyle: Fix painting of pixmaps with non-integer - devicePixelRatio - -For example QIcon can return pixmaps with non-integer devicePixelRatio, -if there is no pixmap that exactly matches the requested size. - -Task-number: QTBUG-35125 -Change-Id: I76bfa2766979a454c24b1abcf9e18930f5671c1e -Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com> -Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com> -Reviewed-by: Lars Knoll <lars.knoll@digia.com> - -diff --git a/src/widgets/styles/qstyle.cpp b/src/widgets/styles/qstyle.cpp -index 77f869f..da9b5da 100644 ---- a/src/widgets/styles/qstyle.cpp -+++ b/src/widgets/styles/qstyle.cpp -@@ -619,7 +619,7 @@ void QStyle::drawItemText(QPainter *painter, const QRect &rect, int alignment, c - void QStyle::drawItemPixmap(QPainter *painter, const QRect &rect, int alignment, - const QPixmap &pixmap) const - { -- int scale = pixmap.devicePixelRatio(); -+ qreal scale = pixmap.devicePixelRatio(); - QRect aligned = alignedRect(QApplication::layoutDirection(), QFlag(alignment), pixmap.size() / scale, rect); - QRect inter = aligned.intersected(rect); - --- -1.8.4 - - -From 7529d38d836d0d781c2a813d0a973b3ee152611d Mon Sep 17 00:00:00 2001 -From: Gabriel de Dietrich <gabriel.dedietrich@digia.com> -Date: Tue, 26 Nov 2013 19:42:50 +0100 -Subject: [PATCH 43/57] QComboBox: Don't do anything if wheel event delta is - zero - -This is a consequence of us wanting to show the OS X transient scrollbars -as soon as the user touches the trackpad with two fingers. - -Task-number: QTBUG-35120 -Change-Id: Icf63b0ec8c32ac66108822804bb06a0762547ef1 -Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com> -Reviewed-by: J-P Nurmi <jpnurmi@digia.com> - -diff --git a/src/widgets/widgets/qcombobox.cpp b/src/widgets/widgets/qcombobox.cpp -index 37a14d3..2c09f5a 100644 ---- a/src/widgets/widgets/qcombobox.cpp -+++ b/src/widgets/widgets/qcombobox.cpp -@@ -3073,7 +3073,7 @@ void QComboBox::wheelEvent(QWheelEvent *e) - newIndex--; - while ((newIndex >= 0) && !(d->model->flags(d->model->index(newIndex,d->modelColumn,d->root)) & Qt::ItemIsEnabled)) - newIndex--; -- } else { -+ } else if (e->delta() < 0) { - newIndex++; - while ((newIndex < count()) && !(d->model->flags(d->model->index(newIndex,d->modelColumn,d->root)) & Qt::ItemIsEnabled)) - newIndex++; --- -1.8.4 - - -From de816219eebf0b42df4bcd9089ae4691e9ca3095 Mon Sep 17 00:00:00 2001 -From: Olivier Goffart <ogoffart@woboq.com> -Date: Thu, 21 Nov 2013 10:08:45 +0100 -Subject: [PATCH 44/57] Document that disconnectNotify may be called with a - mutex locked - -And that connectNotify and disconnectNotify might be called from -another thread - -Task-number: QTBUG-34829 - -Change-Id: Id118b97b92e9aa085a1d4368282294f90cfb1706 -Reviewed-by: Alan Alpert <aalpert@blackberry.com> - -diff --git a/src/corelib/kernel/qobject.cpp b/src/corelib/kernel/qobject.cpp -index f8664ba..3fbeaa8 100644 ---- a/src/corelib/kernel/qobject.cpp -+++ b/src/corelib/kernel/qobject.cpp -@@ -2996,6 +2996,10 @@ bool QObject::disconnect(const QObject *sender, const QMetaMethod &signal, - expensive initialization only if something is connected to a - signal. - -+ \warning This function is called from the thread which performs the -+ connection, which may be a different thread from the thread in -+ which this object lives. -+ - \sa connect(), disconnectNotify() - */ - -@@ -3022,6 +3026,15 @@ void QObject::connectNotify(const QMetaMethod &signal) - modularity. However, it might be useful for optimizing access to - expensive resources. - -+ \warning This function is called from the thread which performs the -+ disconnection, which may be a different thread from the thread in -+ which this object lives. This function may also be called with a QObject -+ internal mutex locked. It is therefore not allowed to re-enter any -+ of any QObject functions from your reimplementation and if you lock -+ a mutex in your reimplementation, make sure that you don't call QObject -+ functions with that mutex held in other places or it will result in -+ a deadlock. -+ - \sa disconnect(), connectNotify() - */ - --- -1.8.4 - - -From b825a87d54b7ecdd8478216efaf4de7cb514ad64 Mon Sep 17 00:00:00 2001 -From: Oswald Buddenhagen <oswald.buddenhagen@digia.com> -Date: Tue, 26 Nov 2013 17:02:59 +0100 -Subject: [PATCH 45/57] don't install modules-inst dir - -for in-source builds, we end up attempting to install the modules-inst -dir in case we re-run qmake after some modules have been built. - -Change-Id: I50d4d394bfd6f48b9a5f5faa584919710a03dea9 -Reviewed-by: Robin Burchell <robin+qt@viroteck.net> -Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> -Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> - -diff --git a/qtbase.pro b/qtbase.pro -index 8da34c5..7576db7 100644 ---- a/qtbase.pro -+++ b/qtbase.pro -@@ -181,7 +181,7 @@ mkspecs.path = $$[QT_HOST_DATA]/mkspecs - mkspecs.files = \ - $$OUT_PWD/mkspecs/qconfig.pri $$OUT_PWD/mkspecs/qmodule.pri $$OUT_PWD/mkspecs/qdevice.pri \ - $$files($$PWD/mkspecs/*) --mkspecs.files -= $$PWD/mkspecs/modules -+mkspecs.files -= $$PWD/mkspecs/modules $$PWD/mkspecs/modules-inst - INSTALLS += mkspecs - - global_docs.files = $$PWD/doc/global --- -1.8.4 - - -From 39baff5847e23cbfdc86055b98dcced55342908a Mon Sep 17 00:00:00 2001 -From: Oswald Buddenhagen <oswald.buddenhagen@digia.com> -Date: Wed, 20 Nov 2013 14:12:15 +0100 -Subject: [PATCH 46/57] support s///i option in built-in sed - -Change-Id: I7521699a9b833c8b1d640a843b82f213952bba5a -Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> - -diff --git a/qmake/main.cpp b/qmake/main.cpp -index 79e3739..f5116ba 100644 ---- a/qmake/main.cpp -+++ b/qmake/main.cpp -@@ -85,6 +85,7 @@ static int doSed(int argc, char **argv) - return 3; - } - QChar sep = ++j < cmd.length() ? cmd.at(j) : QChar(); -+ Qt::CaseSensitivity matchcase = Qt::CaseSensitive; - bool escaped = false; - int phase = 1; - QStringList phases; -@@ -126,12 +127,16 @@ static int doSed(int argc, char **argv) - fprintf(stderr, "Error: sed s command requires three arguments (%d, %c, %s)\n", phase, sep.toLatin1(), qPrintable(curr)); - return 3; - } -+ if (curr.contains(QLatin1Char('i'))) { -+ curr.remove(QLatin1Char('i')); -+ matchcase = Qt::CaseInsensitive; -+ } - if (curr != QLatin1String("g")) { -- fprintf(stderr, "Error: sed s command must be used with the g option (only)\n"); -+ fprintf(stderr, "Error: sed s command supports only g & i options; g is required\n"); - return 3; - } - SedSubst subst; -- subst.from = QRegExp(phases.at(0)); -+ subst.from = QRegExp(phases.at(0), matchcase); - subst.to = phases.at(1); - subst.to.replace("\\\\", "\\"); // QString::replace(rx, sub) groks \1, but not \\. - substs << subst; --- -1.8.4 - - -From 53f48a4ba2a527735fd67968a211052a8eda00dc Mon Sep 17 00:00:00 2001 -From: Oswald Buddenhagen <oswald.buddenhagen@digia.com> -Date: Wed, 20 Nov 2013 15:14:52 +0100 -Subject: [PATCH 47/57] properly replace windows paths in installed meta files - -it's bogus in the first place that the meta files contain windows paths, -but straightening that out is a prohibitive effort. so instead generate -additional s/// commands which take care of these paths. - -fwiw, the generated s///i command is a gnu extension. but as we are -doing this on windows only where we are using our built-in sed command -anyway, this should be fine. - -Task-number: QTBUG-33794 -Change-Id: I46fcc598db12816ee56b5371ab184f6277eb3a22 -Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> - -diff --git a/mkspecs/features/qt_module.prf b/mkspecs/features/qt_module.prf -index 5068f70..84882cc 100644 ---- a/mkspecs/features/qt_module.prf -+++ b/mkspecs/features/qt_module.prf -@@ -146,8 +146,10 @@ unix|win32-g++* { - rplbase = $$MODULE_BASE_OUTDIR - include_replace.match = $$rplbase/include - include_replace.replace = $$[QT_INSTALL_HEADERS/raw] -+ include_replace.CONFIG = path - lib_replace.match = $$rplbase/lib - lib_replace.replace = $$QMAKE_PKGCONFIG_LIBDIR -+ lib_replace.CONFIG = path - QMAKE_PKGCONFIG_INSTALL_REPLACE += include_replace lib_replace - QMAKE_PRL_INSTALL_REPLACE += include_replace lib_replace - } -diff --git a/qmake/generators/makefile.cpp b/qmake/generators/makefile.cpp -index d88c6e4..d40c065 100644 ---- a/qmake/generators/makefile.cpp -+++ b/qmake/generators/makefile.cpp -@@ -3336,6 +3336,13 @@ MakefileGenerator::writePkgConfigFile() - t << endl; - } - -+static QString windowsifyPath(const QString &str) -+{ -+ // The paths are escaped in prl files, so every slash needs to turn into two backslashes. -+ // Then each backslash needs to be escaped for sed. And another level for C quoting here. -+ return QString(str).replace('/', "\\\\\\\\"); -+} -+ - QString MakefileGenerator::installMetaFile(const ProKey &replace_rule, const QString &src, const QString &dst) - { - QString ret; -@@ -3348,8 +3355,12 @@ QString MakefileGenerator::installMetaFile(const ProKey &replace_rule, const QSt - for (int r = 0; r < replace_rules.size(); ++r) { - const ProString match = project->first(ProKey(replace_rules.at(r) + ".match")), - replace = project->first(ProKey(replace_rules.at(r) + ".replace")); -- if (!match.isEmpty() /*&& match != replace*/) -+ if (!match.isEmpty() /*&& match != replace*/) { - ret += " -e " + shellQuote("s," + match + "," + replace + ",g"); -+ if (isWindowsShell() && project->first(ProKey(replace_rules.at(r) + ".CONFIG")).contains("path")) -+ ret += " -e " + shellQuote("s," + windowsifyPath(match.toQString()) -+ + "," + windowsifyPath(replace.toQString()) + ",gi"); -+ } - } - ret += " \"" + src + "\" >\"" + dst + "\""; - } -diff --git a/src/winmain/winmain.pro b/src/winmain/winmain.pro -index 4303c3b..62f8b3a 100644 ---- a/src/winmain/winmain.pro -+++ b/src/winmain/winmain.pro -@@ -34,5 +34,6 @@ wince*:QMAKE_POST_LINK = - unix|win32-g++* { - lib_replace.match = $$[QT_INSTALL_LIBS/get] - lib_replace.replace = $$[QT_INSTALL_LIBS/raw] -+ lib_replace.CONFIG = path - QMAKE_PRL_INSTALL_REPLACE += lib_replace - } --- -1.8.4 - - -From 08a2d8df4943453a0df8c02a88cfb29f210d0a10 Mon Sep 17 00:00:00 2001 -From: Oswald Buddenhagen <oswald.buddenhagen@digia.com> -Date: Mon, 25 Nov 2013 17:52:37 +0100 -Subject: [PATCH 48/57] enable path replacement in installed prl files on all - platforms - -Task-number: QTBUG-33794 -Change-Id: Id0d38715673b8a1c0c034e9c15783eb255c4315b -Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> - -diff --git a/mkspecs/features/qt_module.prf b/mkspecs/features/qt_module.prf -index 84882cc..11509ee 100644 ---- a/mkspecs/features/qt_module.prf -+++ b/mkspecs/features/qt_module.prf -@@ -131,32 +131,33 @@ android: CONFIG += qt_android_deps - #install directives - load(qt_installs) - -+!isEmpty(_QMAKE_SUPER_CACHE_): \ -+ rplbase = $$dirname(_QMAKE_SUPER_CACHE_)/[^/][^/]* -+else: \ -+ rplbase = $$MODULE_BASE_OUTDIR -+include_replace.match = $$rplbase/include -+include_replace.replace = $$[QT_INSTALL_HEADERS/raw] -+include_replace.CONFIG = path -+lib_replace.match = $$rplbase/lib -+host_build: \ -+ lib_replace.replace = $$[QT_HOST_LIBS] -+else: \ -+ lib_replace.replace = $$[QT_INSTALL_LIBS/raw] -+lib_replace.CONFIG = path -+QMAKE_PRL_INSTALL_REPLACE += include_replace lib_replace -+ - unix|win32-g++* { - CONFIG += create_pc -- host_build: \ -- QMAKE_PKGCONFIG_LIBDIR = $$[QT_HOST_LIBS] -- else: \ -- QMAKE_PKGCONFIG_LIBDIR = $$[QT_INSTALL_LIBS/raw] -- QMAKE_PKGCONFIG_INCDIR = $$[QT_INSTALL_HEADERS/raw] -+ QMAKE_PKGCONFIG_LIBDIR = $$lib_replace.replace -+ QMAKE_PKGCONFIG_INCDIR = $$include_replace.replace - QMAKE_PKGCONFIG_CFLAGS = -I${includedir}/$$MODULE_INCNAME - QMAKE_PKGCONFIG_DESTDIR = pkgconfig -- !isEmpty(_QMAKE_SUPER_CACHE_): \ -- rplbase = $$dirname(_QMAKE_SUPER_CACHE_)/[^/][^/]* -- else: \ -- rplbase = $$MODULE_BASE_OUTDIR -- include_replace.match = $$rplbase/include -- include_replace.replace = $$[QT_INSTALL_HEADERS/raw] -- include_replace.CONFIG = path -- lib_replace.match = $$rplbase/lib -- lib_replace.replace = $$QMAKE_PKGCONFIG_LIBDIR -- lib_replace.CONFIG = path - QMAKE_PKGCONFIG_INSTALL_REPLACE += include_replace lib_replace -- QMAKE_PRL_INSTALL_REPLACE += include_replace lib_replace - } - - unix { - CONFIG += create_libtool explicitlib -- QMAKE_LIBTOOL_LIBDIR = $$QMAKE_PKGCONFIG_LIBDIR -+ QMAKE_LIBTOOL_LIBDIR = $$lib_replace.replace - QMAKE_LIBTOOL_INSTALL_REPLACE += include_replace lib_replace - } - -diff --git a/src/winmain/winmain.pro b/src/winmain/winmain.pro -index 62f8b3a..b0771ca 100644 ---- a/src/winmain/winmain.pro -+++ b/src/winmain/winmain.pro -@@ -31,9 +31,7 @@ load(qt_targets) - - wince*:QMAKE_POST_LINK = - --unix|win32-g++* { -- lib_replace.match = $$[QT_INSTALL_LIBS/get] -- lib_replace.replace = $$[QT_INSTALL_LIBS/raw] -- lib_replace.CONFIG = path -- QMAKE_PRL_INSTALL_REPLACE += lib_replace --} -+lib_replace.match = $$[QT_INSTALL_LIBS/get] -+lib_replace.replace = $$[QT_INSTALL_LIBS/raw] -+lib_replace.CONFIG = path -+QMAKE_PRL_INSTALL_REPLACE += lib_replace --- -1.8.4 - - -From 835b8213905b315645bc60ff5f2ab99340d075a2 Mon Sep 17 00:00:00 2001 -From: Thiago Macieira <thiago.macieira@intel.com> -Date: Mon, 2 Dec 2013 17:58:25 -0800 -Subject: [PATCH 49/57] Announce the deprecation of platforms still using - qoldbasicatomic.h - -Change-Id: I480e182c2923754142bc54ff44f798b13bbe71e4 -Reviewed-by: Tuukka Turunen <tuukka.turunen@digia.com> -Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> - -diff --git a/dist/changes-5.2.0 b/dist/changes-5.2.0 -index 659bb21..4dd1604 100644 ---- a/dist/changes-5.2.0 -+++ b/dist/changes-5.2.0 -@@ -57,6 +57,25 @@ information about a particular change. - 3rd party build systems not based on qmake or cmake. - - **************************************************************************** -+* Platform deprecation notice * -+**************************************************************************** -+ -+ - The support for the old implementation of QAtomicInt and -+ QAtomicPointer is deprecated in Qt 5.2 and will be removed in Qt -+ 5.3. Building with the following compilers or environments will not -+ be possible in Qt 5.3 or the build will suffer greatly in -+ performance, unless support is revived by writing new atomics code. -+ * Green Hills compiler for INTEGRITY -+ * Sun Studio compiler suite for Solaris -+ * IBM Visual Age compiler suite for AIX -+ * Kernel-mode VxWorks -+ -+ Developers interested in picking up support should contact the -+ development mailing list at development@qt-project.org for more -+ information. Note that those platforms are currently not tested. Most -+ likely, they have further problems than just the atomics code. -+ -+**************************************************************************** - * Library * - **************************************************************************** - --- -1.8.4 - - -From 7cfe7c198224babeb06eac583e419bbd82c7217e Mon Sep 17 00:00:00 2001 -From: Friedemann Kleint <Friedemann.Kleint@digia.com> -Date: Fri, 6 Dec 2013 10:17:05 +0200 -Subject: [PATCH 50/57] Windows command line parsing: Do escape backslash. - -This will break network paths passed as command line arguments. - -Introduced by 4ff6951550cb6e39c3b31895c3af57037e90c9ac . - -Task-number: QTBUG-35432 -Task-number: QTBUG-30628 - -Change-Id: Ice9ce15275ef69e9e9e82daf5a303e7c56294368 -Reviewed-by: Lars Knoll <lars.knoll@digia.com> - -diff --git a/src/corelib/kernel/qcorecmdlineargs_p.h b/src/corelib/kernel/qcorecmdlineargs_p.h -index d1cfa2d..bbbee7d 100644 ---- a/src/corelib/kernel/qcorecmdlineargs_p.h -+++ b/src/corelib/kernel/qcorecmdlineargs_p.h -@@ -101,8 +101,8 @@ static QVector<Char*> qWinCmdLine(Char *cmdParam, int length, int &argc) - } - } - if (*p == '\\') { // escape char? -- // testing by looking at argc, argv shows that it only escapes quotes and backslashes -- if (p < p_end && (*(p+1) == Char('\"') || *(p+1) == Char('\\'))) -+ // testing by looking at argc, argv shows that it only escapes quotes -+ if (p < p_end && (*(p+1) == Char('\"'))) - p++; - } else { - if (!quote && (*p == Char('\"'))) { -diff --git a/tests/auto/corelib/tools/qcommandlineparser/tst_qcommandlineparser.cpp b/tests/auto/corelib/tools/qcommandlineparser/tst_qcommandlineparser.cpp -index d8965de..06234ad 100644 ---- a/tests/auto/corelib/tools/qcommandlineparser/tst_qcommandlineparser.cpp -+++ b/tests/auto/corelib/tools/qcommandlineparser/tst_qcommandlineparser.cpp -@@ -550,15 +550,16 @@ void tst_QCommandLineParser::testQuoteEscaping() - QProcess process; - process.start("testhelper/qcommandlineparser_test_helper", QStringList() << - QString::number(QCommandLineParser::ParseAsCompactedShortOptions) << -- "-DKEY1=\"VALUE1\"" << "-DKEY2=\\\"VALUE2\\\"" << -+ "\\\\server\\path" << -+ "-DKEY1=\"VALUE1\"" - "-DQTBUG-15379=C:\\path\\'file.ext" << - "-DQTBUG-30628=C:\\temp\\'file'.ext"); - QVERIFY(process.waitForFinished(5000)); - QCOMPARE(process.exitStatus(), QProcess::NormalExit); - QString output = process.readAll(); - QVERIFY2(!output.contains("ERROR"), qPrintable(output)); -+ QVERIFY2(output.contains("\\\\server\\path"), qPrintable(output)); - QVERIFY2(output.contains("KEY1=\"VALUE1\""), qPrintable(output)); -- QVERIFY2(output.contains("KEY2=\\\"VALUE2\\\""), qPrintable(output)); - QVERIFY2(output.contains("QTBUG-15379=C:\\path\\'file.ext"), qPrintable(output)); - QVERIFY2(output.contains("QTBUG-30628=C:\\temp\\'file'.ext"), qPrintable(output)); - } --- -1.8.4 - - -From 7972553aca51587eb1dda80509ec66766e0743c2 Mon Sep 17 00:00:00 2001 -From: Allan Sandfeld Jensen <allan.jensen@digia.com> -Date: Tue, 26 Nov 2013 10:24:17 +0100 -Subject: [PATCH 51/57] Update ChangeLog with new QImage formats - -Change-Id: I4023edc29e81a8c29c3259c6024a5a20eda1aeec -Reviewed-by: Jani Heikkinen <jani.heikkinen@digia.com> -Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> - -diff --git a/dist/changes-5.2.0 b/dist/changes-5.2.0 -index 4dd1604..0e3f189 100644 ---- a/dist/changes-5.2.0 -+++ b/dist/changes-5.2.0 -@@ -314,6 +314,10 @@ QtGui - * When a QVariant holds a QPolygonF() then it will be correctly seen as - a null QVariant. - -+ - QImage: -+ * Added three byte-ordered RGBA8888 format that simplifies interaction -+ with OpenGL and other technologies that internally using RGBA formats. -+ - - [QTBUG-27349] Reintroduced command line argument for positioning - windows (-geometry on X11, -qwindowgeometry on other platforms) - --- -1.8.4 - - -From 313a74cc4a9a5d200b2059d3d8767fe1a274c50d Mon Sep 17 00:00:00 2001 -From: Simon Hausmann <simon.hausmann@digia.com> -Date: Fri, 6 Dec 2013 16:19:08 +0100 -Subject: [PATCH 52/57] Fix QtDeclarative and QtQml co-existence part three ;( - -Unfortunately the QObject destroyed callbacks for QtQml and QtDeclarative can't -be called in sequence, because if the QQmlData has the ownsMemory bit set, then -the destroyed callback will delete the QQmlData, and the sub-sequent call to -the destroyed callback of qml1 will try to dereference the QQmlData's first bit -(ownedByQml1), which is already destroyed. - -This patch fixes that by simply sharing the assumption of the first bit -indicating module ownership (QtQml vs. QtDeclarative) also to qtbase and using -it to distinguish between which destroyed callback function to call. - -Task-number: QTCREATORBUG-10273 - -Change-Id: I2773a31a3e9b3a1c22d1c1f33b2f29f3296cb3cf -Reviewed-by: Olivier Goffart <ogoffart@woboq.com> -Reviewed-by: Lars Knoll <lars.knoll@digia.com> - -diff --git a/src/corelib/kernel/qobject.cpp b/src/corelib/kernel/qobject.cpp -index 3fbeaa8..7e06e2c 100644 ---- a/src/corelib/kernel/qobject.cpp -+++ b/src/corelib/kernel/qobject.cpp -@@ -808,10 +808,13 @@ QObject::~QObject() - } - - if (d->declarativeData) { -- if (QAbstractDeclarativeData::destroyed) -- QAbstractDeclarativeData::destroyed(d->declarativeData, this); -- if (QAbstractDeclarativeData::destroyed_qml1) -- QAbstractDeclarativeData::destroyed_qml1(d->declarativeData, this); -+ if (static_cast<QAbstractDeclarativeDataImpl*>(d->declarativeData)->ownedByQml1) { -+ if (QAbstractDeclarativeData::destroyed_qml1) -+ QAbstractDeclarativeData::destroyed_qml1(d->declarativeData, this); -+ } else { -+ if (QAbstractDeclarativeData::destroyed) -+ QAbstractDeclarativeData::destroyed(d->declarativeData, this); -+ } - } - - // set ref to zero to indicate that this object has been deleted -diff --git a/src/corelib/kernel/qobject_p.h b/src/corelib/kernel/qobject_p.h -index cd2d592..011e140 100644 ---- a/src/corelib/kernel/qobject_p.h -+++ b/src/corelib/kernel/qobject_p.h -@@ -97,6 +97,14 @@ public: - static bool (*isSignalConnected)(QAbstractDeclarativeData *, const QObject *, int); - }; - -+// This is an implementation of QAbstractDeclarativeData that is identical with -+// the implementation in QtDeclarative and QtQml for the first bit -+struct QAbstractDeclarativeDataImpl : public QAbstractDeclarativeData -+{ -+ quint32 ownedByQml1:1; -+ quint32 unused: 31; -+}; -+ - class Q_CORE_EXPORT QObjectPrivate : public QObjectData - { - Q_DECLARE_PUBLIC(QObject) --- -1.8.4 - - From e5939294f82e7e337f517fead6d4d14ecde5ee24 Mon Sep 17 00:00:00 2001 From: Tobias Koenig <tobias.koenig.qnx@kdab.com> Date: Wed, 27 Nov 2013 13:11:01 +0100 -Subject: [PATCH 53/57] Fix sub-second handling in SQLite driver +Subject: [PATCH 1/5] Fix sub-second handling in SQLite driver Use explicit format string, that contains milliseconds, when converting an QDateTime/QTime to a SQLite field content. @@ -3065,7 +57,7 @@ index 0a8b71a..27bc80e 100644 From 0c5dcbce26413ee17e052d79f348c35b4f963842 Mon Sep 17 00:00:00 2001 From: Tobias Koenig <tobias.koenig.qnx@kdab.com> Date: Sat, 30 Nov 2013 14:40:11 +0100 -Subject: [PATCH 54/57] Fix evaluation of SQLite driver options +Subject: [PATCH 2/5] Fix evaluation of SQLite driver options Ensure that the options, which are passed to the SQLite driver, are evaluated in the correct order and do not overwrite each other. @@ -3135,7 +127,7 @@ index 27bc80e..c98d643 100644 From 4f829b92caae3ff877215b118b6c733714a74ab6 Mon Sep 17 00:00:00 2001 From: Nicolas Cornu <ncornu@aldebaran-robotics.com> Date: Thu, 28 Nov 2013 00:06:41 +0100 -Subject: [PATCH 55/57] Allow temporary databases in sqlite driver +Subject: [PATCH 3/5] Allow temporary databases in sqlite driver http://www3.sqlite.org/inmemorydb.html#temp_db [ChangeLog][QtSql][QSQLITE] Enable creating temporary databases @@ -3181,7 +173,7 @@ index c98d643..55ef092 100644 From 4222a7935ba386e296a0c24a56777de11b74bd75 Mon Sep 17 00:00:00 2001 From: Mark Brand <mabrand@mabrand.nl> Date: Tue, 26 Feb 2013 13:23:33 +0100 -Subject: [PATCH 56/57] use pkg-config for freetype +Subject: [PATCH 4/5] use pkg-config for freetype Change-Id: Id2f78ed9dbdcacd570eb25982cbd700d0437542a @@ -3204,7 +196,7 @@ index 88be809..8fc19d2 100644 From a9ed072cf46c2f23de4c7c4b7d706ea335b6a775 Mon Sep 17 00:00:00 2001 From: Mark Brand <mabrand@mabrand.nl> Date: Sat, 18 May 2013 23:07:46 +0200 -Subject: [PATCH 57/57] use pkgconfig for icu detection (MXE specific) +Subject: [PATCH 5/5] use pkgconfig for icu detection (MXE specific) Change-Id: I874171361fec812cb5a5a56e4d8d90a630be3bf3 diff --git a/src/qtbase.mk b/src/qtbase.mk index 6ec9f78..4b731c4 100644 --- a/src/qtbase.mk +++ b/src/qtbase.mk @@ -3,11 +3,11 @@ PKG := qtbase $(PKG)_IGNORE := -$(PKG)_VERSION := 5.2.0-rc1 -$(PKG)_CHECKSUM := 2577676eb37cec78d6d0864c094c7c8bb90a581e +$(PKG)_VERSION := 5.2.0 +$(PKG)_CHECKSUM := 36cbda404e1fe27938a3d5778c757de96ff9f27a $(PKG)_SUBDIR := $(PKG)-opensource-src-$($(PKG)_VERSION) $(PKG)_FILE := $(PKG)-opensource-src-$($(PKG)_VERSION).tar.xz -$(PKG)_URL := http://download.qt-project.org/development_releases/qt/5.2/$($(PKG)_VERSION)/submodules/$($(PKG)_FILE) +$(PKG)_URL := http://download.qt-project.org/official_releases/qt/5.2/$($(PKG)_VERSION)/submodules/$($(PKG)_FILE) $(PKG)_DEPS := gcc postgresql freetds openssl zlib libpng jpeg sqlite pcre fontconfig freetype dbus icu4c define $(PKG)_UPDATE diff --git a/src/qtconnectivity.mk b/src/qtconnectivity.mk index a496fc3..8502f87 100644 --- a/src/qtconnectivity.mk +++ b/src/qtconnectivity.mk @@ -4,7 +4,7 @@ PKG := qtconnectivity $(PKG)_IGNORE := $(PKG)_VERSION = $(qtbase_VERSION) -$(PKG)_CHECKSUM := 7c6258fd0c087357788c67744a69d84dd571a982 +$(PKG)_CHECKSUM := fddd0996d14149a482830cbb7e8aaa2d3d32456f $(PKG)_SUBDIR = $(subst qtbase,qtconnectivity,$(qtbase_SUBDIR)) $(PKG)_FILE = $(subst qtbase,qtconnectivity,$(qtbase_FILE)) $(PKG)_URL = $(subst qtbase,qtconnectivity,$(qtbase_URL)) diff --git a/src/qtdeclarative.mk b/src/qtdeclarative.mk index 88cce5b..81adb56 100644 --- a/src/qtdeclarative.mk +++ b/src/qtdeclarative.mk @@ -4,7 +4,7 @@ PKG := qtdeclarative $(PKG)_IGNORE := $(PKG)_VERSION = $(qtbase_VERSION) -$(PKG)_CHECKSUM := 465187e014512761d13a314afc463817823456fd +$(PKG)_CHECKSUM := 2768fab8f3d81cfb67e101e94194cb4f90d4efa4 $(PKG)_SUBDIR = $(subst qtbase,qtdeclarative,$(qtbase_SUBDIR)) $(PKG)_FILE = $(subst qtbase,qtdeclarative,$(qtbase_FILE)) $(PKG)_URL = $(subst qtbase,qtdeclarative,$(qtbase_URL)) diff --git a/src/qtgraphicaleffects.mk b/src/qtgraphicaleffects.mk index e19b09e..8c7b260 100644 --- a/src/qtgraphicaleffects.mk +++ b/src/qtgraphicaleffects.mk @@ -4,7 +4,7 @@ PKG := qtgraphicaleffects $(PKG)_IGNORE := $(PKG)_VERSION = $(qtbase_VERSION) -$(PKG)_CHECKSUM := b1443dd0c4d6bd681413d1366cd3a0ba840bcbe4 +$(PKG)_CHECKSUM := 44a0ab24ae15270b22919ee1a8925ad119421560 $(PKG)_SUBDIR = $(subst qtbase,qtgraphicaleffects,$(qtbase_SUBDIR)) $(PKG)_FILE = $(subst qtbase,qtgraphicaleffects,$(qtbase_FILE)) $(PKG)_URL = $(subst qtbase,qtgraphicaleffects,$(qtbase_URL)) diff --git a/src/qtimageformats.mk b/src/qtimageformats.mk index 92afd45..4a74c3d 100644 --- a/src/qtimageformats.mk +++ b/src/qtimageformats.mk @@ -4,7 +4,7 @@ PKG := qtimageformats $(PKG)_IGNORE := $(PKG)_VERSION = $(qtbase_VERSION) -$(PKG)_CHECKSUM := f773b5592d464c8c6682576418f00a7f25631af9 +$(PKG)_CHECKSUM := 2b68391c449343ac3c6579cb8e49bbdea1824b1d $(PKG)_SUBDIR = $(subst qtbase,qtimageformats,$(qtbase_SUBDIR)) $(PKG)_FILE = $(subst qtbase,qtimageformats,$(qtbase_FILE)) $(PKG)_URL = $(subst qtbase,qtimageformats,$(qtbase_URL)) diff --git a/src/qtlocation.mk b/src/qtlocation.mk index 4815a19..61c253e 100644 --- a/src/qtlocation.mk +++ b/src/qtlocation.mk @@ -4,7 +4,7 @@ PKG := qtlocation $(PKG)_IGNORE := $(PKG)_VERSION = $(qtbase_VERSION) -$(PKG)_CHECKSUM := d1951d132820e21c0eacfbf29d1149aa78f4e27a +$(PKG)_CHECKSUM := fabe92f954660719bd628be1811376b58ee4da29 $(PKG)_SUBDIR = $(subst qtbase,qtlocation,$(qtbase_SUBDIR)) $(PKG)_FILE = $(subst qtbase,qtlocation,$(qtbase_FILE)) $(PKG)_URL = $(subst qtbase,qtlocation,$(qtbase_URL)) diff --git a/src/qtmultimedia-1.patch b/src/qtmultimedia-1.patch index 4950c0c..b99f6f4 100644 --- a/src/qtmultimedia-1.patch +++ b/src/qtmultimedia-1.patch @@ -1,274 +1,10 @@ This file is part of MXE. See index.html for further information. -From fd3efc0163d9963c91e24ece43b774c70ec57640 Mon Sep 17 00:00:00 2001 -From: Yoann Lopes <yoann.lopes@digia.com> -Date: Wed, 27 Nov 2013 16:05:19 +0100 -Subject: [PATCH 1/5] Android: print a warning when using SurfaceTexture on - Android 2.3. - -SurfaceTexture is available since Android 3.0, print a warning when -camera preview or video playback is used on an older Android version. - -Task-number: QTBUG-35075 -Change-Id: Ie04c62df99048a25e8fd971e0708157d0d32c503 -Reviewed-by: Christian Stromme <christian.stromme@digia.com> -Reviewed-by: Lars Knoll <lars.knoll@digia.com> - -diff --git a/src/plugins/android/src/wrappers/jsurfacetexture.cpp b/src/plugins/android/src/wrappers/jsurfacetexture.cpp -index 1505443..47487f1 100644 ---- a/src/plugins/android/src/wrappers/jsurfacetexture.cpp -+++ b/src/plugins/android/src/wrappers/jsurfacetexture.cpp -@@ -62,6 +62,8 @@ JSurfaceTexture::JSurfaceTexture(unsigned int texName) - { - if (isValid()) - g_objectMap.insert(int(texName), this); -+ else // If the class is not available, it means the Android version is < 3.0 -+ qWarning("Camera preview and video playback require Android 3.0 (API level 11) or later."); - } - - JSurfaceTexture::~JSurfaceTexture() -@@ -94,16 +96,24 @@ static JNINativeMethod methods[] = { - - bool JSurfaceTexture::initJNI(JNIEnv *env) - { -- jclass clazz = env->FindClass("org/qtproject/qt5/android/multimedia/QtSurfaceTexture"); -+ // SurfaceTexture is available since API 11, try to find it first before loading -+ // our custom class -+ jclass surfaceTextureClass = env->FindClass("android/graphics/SurfaceTexture"); - if (env->ExceptionCheck()) - env->ExceptionClear(); - -- if (clazz) { -- g_qtSurfaceTextureClass = static_cast<jclass>(env->NewGlobalRef(clazz)); -- if (env->RegisterNatives(g_qtSurfaceTextureClass, -- methods, -- sizeof(methods) / sizeof(methods[0])) < 0) { -- return false; -+ if (surfaceTextureClass) { -+ jclass clazz = env->FindClass("org/qtproject/qt5/android/multimedia/QtSurfaceTexture"); -+ if (env->ExceptionCheck()) -+ env->ExceptionClear(); -+ -+ if (clazz) { -+ g_qtSurfaceTextureClass = static_cast<jclass>(env->NewGlobalRef(clazz)); -+ if (env->RegisterNatives(g_qtSurfaceTextureClass, -+ methods, -+ sizeof(methods) / sizeof(methods[0])) < 0) { -+ return false; -+ } - } - } - --- -1.8.4 - - -From e4654ca5ee255598269c0805507384c4a02ebdb2 Mon Sep 17 00:00:00 2001 -From: Yoann Lopes <yoann.lopes@digia.com> -Date: Wed, 27 Nov 2013 18:01:56 +0100 -Subject: [PATCH 2/5] Fix version availability for VideoOutput's - autoOrientation property. - -This new property is available since 5.2, not 5.1. - -Change-Id: Ie3b5cd3c5d909f6d4ba662a2eaf03f1e6bb8b21b -Reviewed-by: Tobias Koenig <tobias.koenig.qnx@kdab.com> -Reviewed-by: Lars Knoll <lars.knoll@digia.com> -Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com> - -diff --git a/src/imports/multimedia/multimedia.cpp b/src/imports/multimedia/multimedia.cpp -index d2bc829..f05252f 100644 ---- a/src/imports/multimedia/multimedia.cpp -+++ b/src/imports/multimedia/multimedia.cpp -@@ -76,7 +76,7 @@ public: - qmlRegisterType<QDeclarativeAudio>(uri, 5, 0, "Audio"); - qmlRegisterType<QDeclarativeAudio>(uri, 5, 0, "MediaPlayer"); - qmlRegisterType<QDeclarativeVideoOutput>(uri, 5, 0, "VideoOutput"); -- qmlRegisterType<QDeclarativeVideoOutput, 1>(uri, 5, 1, "VideoOutput"); -+ qmlRegisterType<QDeclarativeVideoOutput, 2>(uri, 5, 2, "VideoOutput"); - qmlRegisterType<QDeclarativeRadio>(uri, 5, 0, "Radio"); - qmlRegisterType<QDeclarativeRadioData>(uri, 5, 0, "RadioData"); - qmlRegisterType<QDeclarativeCamera>(uri, 5, 0, "Camera"); -diff --git a/src/imports/multimedia/qdeclarativevideooutput.cpp b/src/imports/multimedia/qdeclarativevideooutput.cpp -index 07c78b7..240dc46 100644 ---- a/src/imports/multimedia/qdeclarativevideooutput.cpp -+++ b/src/imports/multimedia/qdeclarativevideooutput.cpp -@@ -429,7 +429,7 @@ void QDeclarativeVideoOutput::setOrientation(int orientation) - - By default \c autoOrientation is disabled. - -- \since QtMultimedia 5.1 -+ \since QtMultimedia 5.2 - */ - bool QDeclarativeVideoOutput::autoOrientation() const - { -diff --git a/src/imports/multimedia/qdeclarativevideooutput_p.h b/src/imports/multimedia/qdeclarativevideooutput_p.h -index 1de1fcc..07fdb41 100644 ---- a/src/imports/multimedia/qdeclarativevideooutput_p.h -+++ b/src/imports/multimedia/qdeclarativevideooutput_p.h -@@ -62,7 +62,7 @@ class QDeclarativeVideoOutput : public QQuickItem - Q_PROPERTY(QObject* source READ source WRITE setSource NOTIFY sourceChanged) - Q_PROPERTY(FillMode fillMode READ fillMode WRITE setFillMode NOTIFY fillModeChanged) - Q_PROPERTY(int orientation READ orientation WRITE setOrientation NOTIFY orientationChanged) -- Q_PROPERTY(bool autoOrientation READ autoOrientation WRITE setAutoOrientation NOTIFY autoOrientationChanged REVISION 1) -+ Q_PROPERTY(bool autoOrientation READ autoOrientation WRITE setAutoOrientation NOTIFY autoOrientationChanged REVISION 2) - Q_PROPERTY(QRectF sourceRect READ sourceRect NOTIFY sourceRectChanged) - Q_PROPERTY(QRectF contentRect READ contentRect NOTIFY contentRectChanged) - Q_ENUMS(FillMode) --- -1.8.4 - - -From 288e49d49308f84afa180086aebb9ce61738e626 Mon Sep 17 00:00:00 2001 -From: Yoann Lopes <yoann.lopes@digia.com> -Date: Wed, 27 Nov 2013 19:20:27 +0100 -Subject: [PATCH 3/5] Add changes-5.2.0 file. - -Change-Id: Ieec89755a30996a5b0ed37ecaa6ee957344f8594 -Reviewed-by: Sergio Ahumada <sahumada@gmail.com> -Reviewed-by: Lars Knoll <lars.knoll@digia.com> - -diff --git a/dist/changes-5.2.0 b/dist/changes-5.2.0 -new file mode 100644 -index 0000000..e485659 ---- /dev/null -+++ b/dist/changes-5.2.0 -@@ -0,0 +1,86 @@ -+Qt 5.2 introduces many new features and improvements as well as bugfixes -+over the 5.1.x series. For more details, refer to the online documentation -+included in this distribution. The documentation is also available online: -+ -+ http://qt-project.org/doc/qt-5.2 -+ -+The Qt version 5.2 series is binary compatible with the 5.1.x series. -+Applications compiled for 5.1 will continue to run with 5.2. -+ -+Some of the changes listed in this file include issue tracking numbers -+corresponding to tasks in the Qt Bug Tracker: -+ -+ http://bugreports.qt-project.org/ -+ -+Each of these identifiers can be entered in the bug tracker to obtain more -+information about a particular change. -+ -+**************************************************************************** -+* General * -+**************************************************************************** -+ -+ - Improved ALSA implementation of the audio APIs. -+ - Improved WAV support in QSoundEffect. -+ - New resource policy plugin based on libresourceqt. -+ - Fix QVideoSurfaceArbFpPainter mistakenly failing to start in some cases. -+ - Improved QAudioRecorder implementation on Windows and Mac OS. -+ - Various documentation fixes. -+ - Improved audiorecorder example. -+ - [QTBUG-32487] Make PulseAudio implementation of QSoundEffect more robust. -+ - [QTBUG-32882] Enable QSoundEffect with loopCount of Infinite to play. -+ - [QTBUG-31731] WMF and GStreamer: fixed incorrect frame startTime and endTime. -+ - [QTBUG-30442] VideoOutput: take the video format's scanLineDirection into account. -+ - [QTBUG-34125] Correctly clear the current media in Audio and MediaPlayer qml elements. -+ -+Qt for Android -+-------------- -+ -+ - New OpenSL ES plugin for low-latency audio support on Android. -+ - New camera support on Android. -+ - Improved video renderering with Qt Quick. -+ - Camera and recording permissions are now automatically added when using QtMultimedia on Android. -+ - [QTBUG-32635] Fixed media player buffering logic. -+ - [QTBUG-34558] Fix two race conditions in the media player. -+ -+Qt for iOS -+---------- -+ -+ - New media player and basic camera support on iOS. -+ -+Qt for BlackBerry -+----------------- -+ -+ - Fix setting a URL containing reserved characters on a media player. -+ - Enable camera on the Playbook. -+ - New QAudioRecorder support. -+ - Fix video recording with BB 10.2. -+ - Improve camera focus handling. -+ - Fixed pixel aspect ratio for video windows. -+ - [QTBUG-33739] Fix camera viewfinder. -+ -+Qt for Windows -+-------------- -+ -+ - WMF: emit positionChanged() signal when reaching the end of a media. -+ - [QTBUG-30776] DirectShow: improve metadata support. -+ - [QTBUG-33631][QTBUG-33518] WMF: allow to load media whose content doesn't match its file extension. -+ - [QTBUG-33518] WMF: allow to load QRC files with QAudioDecoder. -+ - [QTBUG-30435] WMF: fixed the media player failing to play some media formats. -+ - [QTBUG-32360] WMF: fixed compilation with Visual Studio 2008. -+ - [QTBUG-34479] DirectShow: fixed compilation with Visual Studio 2008. -+ - [QTBUG-32864] WMF: fixed compilation on Windows Vista. -+ - [QTBUG-30825] WMF: fixed QMediaPlayer changing to EndOfMedia status too early. -+ - [QTBUG-33160] Fix QAudioOutput::setVolume() limited to 50% on 32-bit Windows. -+ -+Qt for QNX -+---------- -+ -+ - New camera and media player support when mmrenderer is available. -+ -+**************************************************************************** -+* Plugins * -+**************************************************************************** -+ -+ - New QML import version QtMultimedia 5.2 adds a new autoOrientation -+ property to the VideoOutput type, which allows the video output to -+ always match the screen orientation. --- -1.8.4 - - -From ea9f9788d502d4a4307a464d87a00be198df09ad Mon Sep 17 00:00:00 2001 -From: Frank Osterfeld <frank.osterfeld.qnx@kdab.com> -Date: Thu, 28 Nov 2013 10:27:46 +0100 -Subject: [PATCH 4/5] QNX/PPS: Fix end-of-track handling - -The state to check for is actually "stopped", not "STOPPED". -Fixes end-of-track detection. - -Task-number: QTBUG-35189 -Change-Id: Ifa2f0635b31ef8c584c1800ef870c0dbef2b1daf -Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com> -Reviewed-by: Tobias Koenig <tobias.koenig.qnx@kdab.com> -Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com> - -diff --git a/src/plugins/qnx/mediaplayer/ppsmediaplayercontrol.cpp b/src/plugins/qnx/mediaplayer/ppsmediaplayercontrol.cpp -index eb0842f..b54c796 100644 ---- a/src/plugins/qnx/mediaplayer/ppsmediaplayercontrol.cpp -+++ b/src/plugins/qnx/mediaplayer/ppsmediaplayercontrol.cpp -@@ -57,7 +57,7 @@ PpsMediaPlayerControl::PpsMediaPlayerControl(QObject *parent) - m_ppsStatusFd(-1), - m_ppsStateNotifier(0), - m_ppsStateFd(-1) -- , m_previouslySeenState("STOPPED") -+ , m_previouslySeenState("stopped") - { - openConnection(); - } -@@ -177,7 +177,7 @@ void PpsMediaPlayerControl::ppsReadyRead(int fd) - - if (pps_decoder_get_string(&decoder, "state", &value) == PPS_DECODER_OK) { - const QByteArray state = value; -- if (state != m_previouslySeenState && state == "STOPPED") -+ if (state != m_previouslySeenState && state == "stopped") - handleMmStopped(); - m_previouslySeenState = state; - } --- -1.8.4 - - From b3ca574eaada965dbd20a90f89c3eb524627321a Mon Sep 17 00:00:00 2001 From: Mark Brand <mabrand@mabrand.nl> Date: Thu, 13 Dec 2012 20:23:48 +0100 -Subject: [PATCH 5/5] remove duplicate defs (mxe-specific) +Subject: [PATCH] remove duplicate defs (mxe-specific) diff --git a/src/multimedia/audio/qaudiodeviceinfo_win32_p.cpp b/src/multimedia/audio/qaudiodeviceinfo_win32_p.cpp diff --git a/src/qtmultimedia.mk b/src/qtmultimedia.mk index 9c611bb..f3b1e9f 100644 --- a/src/qtmultimedia.mk +++ b/src/qtmultimedia.mk @@ -4,7 +4,7 @@ PKG := qtmultimedia $(PKG)_IGNORE := $(PKG)_VERSION = $(qtbase_VERSION) -$(PKG)_CHECKSUM := 28b9c29b80f178784de7198ae76c011acacf3153 +$(PKG)_CHECKSUM := 5bcb23814542dc73901fcb97331afb4bb06caf73 $(PKG)_SUBDIR = $(subst qtbase,qtmultimedia,$(qtbase_SUBDIR)) $(PKG)_FILE = $(subst qtbase,qtmultimedia,$(qtbase_FILE)) $(PKG)_URL = $(subst qtbase,qtmultimedia,$(qtbase_URL)) diff --git a/src/qtquick1.mk b/src/qtquick1.mk index 4d92f0a..eec985a 100644 --- a/src/qtquick1.mk +++ b/src/qtquick1.mk @@ -4,7 +4,7 @@ PKG := qtquick1 $(PKG)_IGNORE := $(PKG)_VERSION = $(qtbase_VERSION) -$(PKG)_CHECKSUM := a3e6784bf7b62deb770d4b8185ea4af972feb65b +$(PKG)_CHECKSUM := 259ba637af0d6be6d25da1e1e24be9cfe978e2e0 $(PKG)_SUBDIR = $(subst qtbase,qtquick1,$(qtbase_SUBDIR)) $(PKG)_FILE = $(subst qtbase,qtquick1,$(qtbase_FILE)) $(PKG)_URL = $(subst qtbase,qtquick1,$(qtbase_URL)) diff --git a/src/qtquickcontrols.mk b/src/qtquickcontrols.mk index 8cf5442..23156a9 100644 --- a/src/qtquickcontrols.mk +++ b/src/qtquickcontrols.mk @@ -4,7 +4,7 @@ PKG := qtquickcontrols $(PKG)_IGNORE := $(PKG)_VERSION = $(qtbase_VERSION) -$(PKG)_CHECKSUM := 7688217ba95c0c7590ab2e01fb0e97340ea2db99 +$(PKG)_CHECKSUM := c0ed05af06a89074f330814c397815a0acaf8042 $(PKG)_SUBDIR = $(subst qtbase,qtquickcontrols,$(qtbase_SUBDIR)) $(PKG)_FILE = $(subst qtbase,qtquickcontrols,$(qtbase_FILE)) $(PKG)_URL = $(subst qtbase,qtquickcontrols,$(qtbase_URL)) diff --git a/src/qtscript.mk b/src/qtscript.mk index 4a01a19..f5a6f36 100644 --- a/src/qtscript.mk +++ b/src/qtscript.mk @@ -4,7 +4,7 @@ PKG := qtscript $(PKG)_IGNORE := $(PKG)_VERSION = $(qtbase_VERSION) -$(PKG)_CHECKSUM := eb7874c4315872a6dd2b4805635f15c4d9ab391b +$(PKG)_CHECKSUM := 7cdfb46b76d75475108970194d0aceb78b26db91 $(PKG)_SUBDIR = $(subst qtbase,qtscript,$(qtbase_SUBDIR)) $(PKG)_FILE = $(subst qtbase,qtscript,$(qtbase_FILE)) $(PKG)_URL = $(subst qtbase,qtscript,$(qtbase_URL)) diff --git a/src/qtsensors.mk b/src/qtsensors.mk index f266104..d9567ea 100644 --- a/src/qtsensors.mk +++ b/src/qtsensors.mk @@ -4,7 +4,7 @@ PKG := qtsensors $(PKG)_IGNORE := $(PKG)_VERSION = $(qtbase_VERSION) -$(PKG)_CHECKSUM := 0b1f51b4aebe39727e241aad5ceea8752cfee4a9 +$(PKG)_CHECKSUM := 65baf9623452f787c4526ff462feb94ff5d3104f $(PKG)_SUBDIR = $(subst qtbase,qtsensors,$(qtbase_SUBDIR)) $(PKG)_FILE = $(subst qtbase,qtsensors,$(qtbase_FILE)) $(PKG)_URL = $(subst qtbase,qtsensors,$(qtbase_URL)) diff --git a/src/qtserialport.mk b/src/qtserialport.mk index d389d6e..782792b 100644 --- a/src/qtserialport.mk +++ b/src/qtserialport.mk @@ -4,7 +4,7 @@ PKG := qtserialport $(PKG)_IGNORE := $(PKG)_VERSION = $(qtbase_VERSION) -$(PKG)_CHECKSUM := d510b0dde86f17ef69600325ec1738472737eefa +$(PKG)_CHECKSUM := 55e94b94658464ba6bb9f83bbbe34ca5f13f24e1 $(PKG)_SUBDIR = $(subst qtbase,qtserialport,$(qtbase_SUBDIR)) $(PKG)_FILE = $(subst qtbase,qtserialport,$(qtbase_FILE)) $(PKG)_URL = $(subst qtbase,qtserialport,$(qtbase_URL)) diff --git a/src/qtsvg.mk b/src/qtsvg.mk index 4e8eaef..985d408 100644 --- a/src/qtsvg.mk +++ b/src/qtsvg.mk @@ -4,7 +4,7 @@ PKG := qtsvg $(PKG)_IGNORE := $(PKG)_VERSION = $(qtbase_VERSION) -$(PKG)_CHECKSUM := ca0ae973d62c99da1a222f9a3c641811c49677a3 +$(PKG)_CHECKSUM := c57a83786f6509b1e8bbd3514727f1d63f32a214 $(PKG)_SUBDIR = $(subst qtbase,qtsvg,$(qtbase_SUBDIR)) $(PKG)_FILE = $(subst qtbase,qtsvg,$(qtbase_FILE)) $(PKG)_URL = $(subst qtbase,qtsvg,$(qtbase_URL)) diff --git a/src/qttools.mk b/src/qttools.mk index 75ac3d3..93ecd6a 100644 --- a/src/qttools.mk +++ b/src/qttools.mk @@ -4,7 +4,7 @@ PKG := qttools $(PKG)_IGNORE := $(PKG)_VERSION = $(qtbase_VERSION) -$(PKG)_CHECKSUM := 0e11e5d4fa8c63d1967e62c7a007959b2d07ae89 +$(PKG)_CHECKSUM := bbca64f6c1c895ae463004e8963a3b5af72106ee $(PKG)_SUBDIR = $(subst qtbase,qttools,$(qtbase_SUBDIR)) $(PKG)_FILE = $(subst qtbase,qttools,$(qtbase_FILE)) $(PKG)_URL = $(subst qtbase,qttools,$(qtbase_URL)) diff --git a/src/qttranslations.mk b/src/qttranslations.mk index f98af0e..a2dcb45 100644 --- a/src/qttranslations.mk +++ b/src/qttranslations.mk @@ -4,7 +4,7 @@ PKG := qttranslations $(PKG)_IGNORE := $(PKG)_VERSION = $(qtbase_VERSION) -$(PKG)_CHECKSUM := 4c46bb1bfd141ccb52e8db173198869cdb83a17d +$(PKG)_CHECKSUM := c25f6a541492308b15c7104bf982192afe55b0ab $(PKG)_SUBDIR = $(subst qtbase,qttranslations,$(qtbase_SUBDIR)) $(PKG)_FILE = $(subst qtbase,qttranslations,$(qtbase_FILE)) $(PKG)_URL = $(subst qtbase,qttranslations,$(qtbase_URL)) diff --git a/src/qtwinextras-1.patch b/src/qtwinextras-1.patch index 0babae1..e25dbfa 100644 --- a/src/qtwinextras-1.patch +++ b/src/qtwinextras-1.patch @@ -1,263 +1,10 @@ This file is part of MXE. See index.html for further information. -From ed4d73908be1a077bec94ba669e5e46d6d422818 Mon Sep 17 00:00:00 2001 -From: Kai Koehne <kai.koehne@digia.com> -Date: Thu, 28 Nov 2013 16:48:37 +0100 -Subject: [PATCH 1/3] Add plugins.qmltypes file - -Task-number: QTBUG-35207 -Change-Id: If6843d71c2d6e0a9afec3dca3683ac0fcd1188b6 -Reviewed-by: J-P Nurmi <jpnurmi@digia.com> -Reviewed-by: Lars Knoll <lars.knoll@digia.com> - -diff --git a/src/imports/winextras/plugins.qmltypes b/src/imports/winextras/plugins.qmltypes -new file mode 100644 -index 0000000..f5963ce ---- /dev/null -+++ b/src/imports/winextras/plugins.qmltypes -@@ -0,0 +1,207 @@ -+import QtQuick.tooling 1.1 -+ -+// This file describes the plugin-supplied types contained in the library. -+// It is used for QML tooling purposes only. -+// -+// This file was auto-generated by: -+// 'qmlplugindump -nonrelocatable QtWinExtras 1.0' -+ -+Module { -+ Component { -+ name: "QQuickDwmFeatures" -+ defaultProperty: "data" -+ prototype: "QQuickItem" -+ exports: ["QtWinExtras/DwmFeatures 1.0"] -+ exportMetaObjectRevisions: [0] -+ Property { name: "compositionEnabled"; type: "bool" } -+ Property { name: "colorizationColor"; type: "QColor"; isReadonly: true } -+ Property { name: "realColorizationColor"; type: "QColor"; isReadonly: true } -+ Property { name: "colorizationOpaqueBlend"; type: "bool"; isReadonly: true } -+ Property { name: "topGlassMargin"; type: "int" } -+ Property { name: "rightGlassMargin"; type: "int" } -+ Property { name: "bottomGlassMargin"; type: "int" } -+ Property { name: "leftGlassMargin"; type: "int" } -+ Property { name: "blurBehindEnabled"; type: "bool" } -+ Property { name: "excludedFromPeek"; type: "bool" } -+ Property { name: "peekDisallowed"; type: "bool" } -+ Property { name: "flip3DPolicy"; type: "QQuickWin::WindowFlip3DPolicy" } -+ } -+ Component { -+ name: "QQuickJumpList" -+ defaultProperty: "data" -+ prototype: "QObject" -+ exports: ["QtWinExtras/JumpList 1.0"] -+ exportMetaObjectRevisions: [0] -+ Property { name: "recent"; type: "QQuickJumpListCategory"; isReadonly: true; isPointer: true } -+ Property { name: "frequent"; type: "QQuickJumpListCategory"; isReadonly: true; isPointer: true } -+ Property { name: "tasks"; type: "QQuickJumpListCategory"; isPointer: true } -+ Property { name: "categories"; type: "QQuickJumpListCategory"; isList: true; isReadonly: true } -+ Property { name: "data"; type: "QObject"; isList: true; isReadonly: true } -+ } -+ Component { -+ name: "QQuickJumpListCategory" -+ defaultProperty: "data" -+ prototype: "QObject" -+ exports: ["QtWinExtras/JumpListCategory 1.0"] -+ exportMetaObjectRevisions: [0] -+ Property { name: "data"; type: "QObject"; isList: true; isReadonly: true } -+ Property { name: "items"; type: "QQuickJumpListItem"; isList: true; isReadonly: true } -+ Property { name: "title"; type: "string" } -+ Property { name: "visible"; type: "bool" } -+ Signal { name: "visibilityChanged" } -+ } -+ Component { -+ name: "QQuickJumpListItem" -+ prototype: "QObject" -+ exports: ["QtWinExtras/JumpListItem 1.0"] -+ exportMetaObjectRevisions: [0] -+ Enum { -+ name: "JumpListItemType" -+ values: { -+ "ItemTypeLink": 1, -+ "ItemTypeDestination": 2, -+ "ItemTypeSeparator": 3 -+ } -+ } -+ Property { name: "__jumpListItemType"; type: "int" } -+ } -+ Component { -+ name: "QQuickTaskbarButton" -+ defaultProperty: "data" -+ prototype: "QQuickItem" -+ exports: ["QtWinExtras/TaskbarButton 1.0"] -+ exportMetaObjectRevisions: [0] -+ Property { name: "overlay"; type: "QQuickTaskbarOverlay"; isReadonly: true; isPointer: true } -+ Property { name: "progress"; type: "QWinTaskbarProgress"; isReadonly: true; isPointer: true } -+ } -+ Component { -+ name: "QQuickTaskbarOverlay" -+ prototype: "QObject" -+ exports: ["QtWinExtras/TaskbarOverlay 1.0"] -+ exportMetaObjectRevisions: [0] -+ Property { name: "iconSource"; type: "QUrl" } -+ Property { name: "accessibleDescription"; type: "string" } -+ } -+ Component { -+ name: "QQuickThumbnailToolBar" -+ defaultProperty: "data" -+ prototype: "QQuickItem" -+ exports: ["QtWinExtras/ThumbnailToolBar 1.0"] -+ exportMetaObjectRevisions: [0] -+ Property { name: "count"; type: "int"; isReadonly: true } -+ Property { name: "data"; type: "QObject"; isList: true; isReadonly: true } -+ Property { name: "buttons"; type: "QQuickThumbnailToolButton"; isList: true; isReadonly: true } -+ Method { name: "clear" } -+ Method { -+ name: "addButton" -+ Parameter { name: "button"; type: "QQuickThumbnailToolButton"; isPointer: true } -+ } -+ Method { -+ name: "removeButton" -+ Parameter { name: "button"; type: "QQuickThumbnailToolButton"; isPointer: true } -+ } -+ } -+ Component { -+ name: "QQuickThumbnailToolButton" -+ prototype: "QObject" -+ exports: ["QtWinExtras/ThumbnailToolButton 1.0"] -+ exportMetaObjectRevisions: [0] -+ Property { name: "iconSource"; type: "QUrl" } -+ Property { name: "tooltip"; type: "string" } -+ Property { name: "enabled"; type: "bool" } -+ Property { name: "interactive"; type: "bool" } -+ Property { name: "visible"; type: "bool" } -+ Property { name: "dismissOnClick"; type: "bool" } -+ Property { name: "flat"; type: "bool" } -+ Signal { name: "clicked" } -+ } -+ Component { -+ name: "QQuickWin" -+ prototype: "QObject" -+ exports: ["QtWinExtras/QtWin 1.0"] -+ exportMetaObjectRevisions: [0] -+ Enum { -+ name: "HBitmapFormat" -+ values: { -+ "HBitmapNoAlpha": 0, -+ "HBitmapPremultipliedAlpha": 1, -+ "HBitmapAlpha": 2 -+ } -+ } -+ Enum { -+ name: "WindowFlip3DPolicy" -+ values: { -+ "FlipDefault": 0, -+ "FlipExcludeBelow": 1, -+ "FlipExcludeAbove": 2 -+ } -+ } -+ } -+ Component { -+ name: "QWinTaskbarProgress" -+ prototype: "QObject" -+ exports: ["QtWinExtras/TaskbarProgress 1.0"] -+ exportMetaObjectRevisions: [0] -+ Property { name: "value"; type: "int" } -+ Property { name: "minimum"; type: "int" } -+ Property { name: "maximum"; type: "int" } -+ Property { name: "visible"; type: "bool" } -+ Property { name: "paused"; type: "bool" } -+ Property { name: "stopped"; type: "bool"; isReadonly: true } -+ Signal { -+ name: "valueChanged" -+ Parameter { name: "value"; type: "int" } -+ } -+ Signal { -+ name: "minimumChanged" -+ Parameter { name: "minimum"; type: "int" } -+ } -+ Signal { -+ name: "maximumChanged" -+ Parameter { name: "maximum"; type: "int" } -+ } -+ Signal { -+ name: "visibilityChanged" -+ Parameter { name: "visible"; type: "bool" } -+ } -+ Signal { -+ name: "pausedChanged" -+ Parameter { name: "paused"; type: "bool" } -+ } -+ Signal { -+ name: "stoppedChanged" -+ Parameter { name: "stopped"; type: "bool" } -+ } -+ Method { -+ name: "setValue" -+ Parameter { name: "value"; type: "int" } -+ } -+ Method { -+ name: "setMinimum" -+ Parameter { name: "minimum"; type: "int" } -+ } -+ Method { -+ name: "setMaximum" -+ Parameter { name: "maximum"; type: "int" } -+ } -+ Method { -+ name: "setRange" -+ Parameter { name: "minimum"; type: "int" } -+ Parameter { name: "maximum"; type: "int" } -+ } -+ Method { name: "reset" } -+ Method { name: "show" } -+ Method { name: "hide" } -+ Method { -+ name: "setVisible" -+ Parameter { name: "visible"; type: "bool" } -+ } -+ Method { name: "pause" } -+ Method { name: "resume" } -+ Method { -+ name: "setPaused" -+ Parameter { name: "paused"; type: "bool" } -+ } -+ Method { name: "stop" } -+ } -+} --- -1.8.4 - - -From c996740162dd63fa20e549e57c78ca990b2ca1c2 Mon Sep 17 00:00:00 2001 -From: Friedemann Kleint <Friedemann.Kleint@digia.com> -Date: Mon, 2 Dec 2013 16:38:50 +0200 -Subject: [PATCH 2/3] Add missing include for QQuickDwmFeatures plugin. - -Task-number: QTBUG-35260 - -Change-Id: I8145fd8a98b8549de7e819740e6b7529d0785488 -Reviewed-by: J-P Nurmi <jpnurmi@digia.com> - -diff --git a/src/imports/winextras/qquickdwmfeatures_p.h b/src/imports/winextras/qquickdwmfeatures_p.h -index 231424a..037872f 100644 ---- a/src/imports/winextras/qquickdwmfeatures_p.h -+++ b/src/imports/winextras/qquickdwmfeatures_p.h -@@ -45,6 +45,7 @@ - - #include <QQuickItem> - #include <QtWin> -+#include <QColor> - - #include "qquickwin_p.h" - --- -1.8.4 - - From bb7d4141f14dfd22365df4991a066e9b760b088d Mon Sep 17 00:00:00 2001 From: Mark Brand <mabrand@mabrand.nl> Date: Thu, 24 Oct 2013 22:29:51 +0200 -Subject: [PATCH 3/3] Fix MinGW-w64 GCC 4.8.2 compilation +Subject: [PATCH] Fix MinGW-w64 GCC 4.8.2 compilation diff --git a/src/winextras/winshobjidl_p.h b/src/winextras/winshobjidl_p.h diff --git a/src/qtwinextras.mk b/src/qtwinextras.mk index edde93e..f04025e 100644 --- a/src/qtwinextras.mk +++ b/src/qtwinextras.mk @@ -4,7 +4,7 @@ PKG := qtwinextras $(PKG)_IGNORE := $(PKG)_VERSION = $(qtbase_VERSION) -$(PKG)_CHECKSUM := 3e2acdbbfc273864d9aba43c8db31463a5932075 +$(PKG)_CHECKSUM := a2f77bd69666dedfb41402ab8ffb6f7c52673ad1 $(PKG)_SUBDIR = $(subst qtbase,qtwinextras,$(qtbase_SUBDIR)) $(PKG)_FILE = $(subst qtbase,qtwinextras,$(qtbase_FILE)) $(PKG)_URL = $(subst qtbase,qtwinextras,$(qtbase_URL)) diff --git a/src/qtxmlpatterns.mk b/src/qtxmlpatterns.mk index efaa23d..a821383 100644 --- a/src/qtxmlpatterns.mk +++ b/src/qtxmlpatterns.mk @@ -4,7 +4,7 @@ PKG := qtxmlpatterns $(PKG)_IGNORE := $(PKG)_VERSION = $(qtbase_VERSION) -$(PKG)_CHECKSUM := 1e8dd3a300dc5e326baace0825292cd9519fea24 +$(PKG)_CHECKSUM := aaa115d6c23c9a00cb20115fde0fb899d2fe8135 $(PKG)_SUBDIR = $(subst qtbase,qtxmlpatterns,$(qtbase_SUBDIR)) $(PKG)_FILE = $(subst qtbase,qtxmlpatterns,$(qtbase_FILE)) $(PKG)_URL = $(subst qtbase,qtxmlpatterns,$(qtbase_URL)) |