From b6968f508c36c650c9965f1747beae8fa6b237c5 Mon Sep 17 00:00:00 2001 From: Timur Pocheptsov Date: Thu, 27 Apr 2017 11:32:16 +0000 Subject: Revert "Blacklist tst_QSslSocket::protocolServerSide on OS X 10.11" This reverts commit 96c27f0dfa72f7800c85af10c00e0dababdc3fbf. We now use a custom keychain that should fix the original problem with the test. Change-Id: I52e4105f34a46ad7080750d9a62480ebe3a56e68 Reviewed-by: Edward Welbourne --- tests/auto/network/ssl/qsslsocket/BLACKLIST | 2 -- 1 file changed, 2 deletions(-) diff --git a/tests/auto/network/ssl/qsslsocket/BLACKLIST b/tests/auto/network/ssl/qsslsocket/BLACKLIST index cfab0b7eb0..52c023b78f 100644 --- a/tests/auto/network/ssl/qsslsocket/BLACKLIST +++ b/tests/auto/network/ssl/qsslsocket/BLACKLIST @@ -5,5 +5,3 @@ windows rhel-7.2 [protocolServerSide:tls1.0-any] rhel-7.2 -[protocolServerSide] -osx-10.11 -- cgit v1.2.3 From c1e19a2ecb182ec95eb06de1a35969ac5f56ffd6 Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Wed, 26 Apr 2017 09:47:05 -0300 Subject: QSysInfo: Make use of the QT_WARNING_DISABLE_DEPRECATED macro We have it for a reason. Change-Id: I84e363d735b443cb9beefffd14b8f355aeb8a31c Reviewed-by: Jake Petroules --- src/corelib/global/qsysinfo.h | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/src/corelib/global/qsysinfo.h b/src/corelib/global/qsysinfo.h index f443ab4b93..6b73a17dc5 100644 --- a/src/corelib/global/qsysinfo.h +++ b/src/corelib/global/qsysinfo.h @@ -211,11 +211,7 @@ public: }; QT_WARNING_PUSH -QT_WARNING_DISABLE_GCC("-Wdeprecated-declarations") -QT_WARNING_DISABLE_CLANG("-Wdeprecated-declarations") -QT_WARNING_DISABLE_INTEL(1478) -QT_WARNING_DISABLE_INTEL(1786) -QT_WARNING_DISABLE_MSVC(4996) +QT_WARNING_DISABLE_DEPRECATED #if defined(Q_OS_WIN) || defined(Q_OS_CYGWIN) QT_SYSINFO_DEPRECATED_X("Use QOperatingSystemVersion::current()") static const WinVersion WindowsVersion; QT_SYSINFO_DEPRECATED_X("Use QOperatingSystemVersion::current()") static WinVersion windowsVersion(); -- cgit v1.2.3 From a9e0879ee16932d8155850b52162ee5429164982 Mon Sep 17 00:00:00 2001 From: Tasuku Suzuki Date: Tue, 25 Apr 2017 15:36:48 +0900 Subject: Fix build without features.shortcut Change-Id: I87a7ba1a77b0671559616a3ea4722bcc233af32d Reviewed-by: Oswald Buddenhagen Reviewed-by: Paul Olav Tvete --- src/plugins/platformthemes/gtk3/qgtk3menu.cpp | 6 ++++++ src/plugins/platformthemes/gtk3/qgtk3menu.h | 4 ++++ src/widgets/accessible/qaccessiblewidget.cpp | 2 ++ src/widgets/dialogs/qfiledialog.cpp | 4 +++- src/widgets/dialogs/qmessagebox.cpp | 2 +- src/widgets/widgets/qwidgetlinecontrol.cpp | 2 ++ 6 files changed, 18 insertions(+), 2 deletions(-) diff --git a/src/plugins/platformthemes/gtk3/qgtk3menu.cpp b/src/plugins/platformthemes/gtk3/qgtk3menu.cpp index 38c2d251b4..f48e00ab8e 100644 --- a/src/plugins/platformthemes/gtk3/qgtk3menu.cpp +++ b/src/plugins/platformthemes/gtk3/qgtk3menu.cpp @@ -47,6 +47,7 @@ QT_BEGIN_NAMESPACE +#if QT_CONFIG(shortcut) static guint qt_gdkKey(const QKeySequence &shortcut) { if (shortcut.isEmpty()) @@ -75,6 +76,7 @@ static GdkModifierType qt_gdkModifiers(const QKeySequence &shortcut) return static_cast(mods); } +#endif QGtk3MenuItem::QGtk3MenuItem() : m_visible(true), @@ -126,10 +128,12 @@ GtkWidget *QGtk3MenuItem::create() if (m_menu) gtk_menu_item_set_submenu(GTK_MENU_ITEM(m_item), m_menu->handle()); g_signal_connect(m_item, "select", G_CALLBACK(onSelect), this); +#if QT_CONFIG(shortcut) if (!m_shortcut.isEmpty()) { GtkWidget *label = gtk_bin_get_child(GTK_BIN(m_item)); gtk_accel_label_set_accel(GTK_ACCEL_LABEL(label), qt_gdkKey(m_shortcut), qt_gdkModifiers(m_shortcut)); } +#endif } gtk_widget_set_sensitive(m_item, m_enabled); gtk_widget_set_visible(m_item, m_visible); @@ -267,6 +271,7 @@ void QGtk3MenuItem::setChecked(bool checked) gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(m_item), checked); } +#if QT_CONFIG(shortcut) QKeySequence QGtk3MenuItem::shortcut() const { return m_shortcut; @@ -283,6 +288,7 @@ void QGtk3MenuItem::setShortcut(const QKeySequence& shortcut) gtk_accel_label_set_accel(GTK_ACCEL_LABEL(label), qt_gdkKey(m_shortcut), qt_gdkModifiers(m_shortcut)); } } +#endif bool QGtk3MenuItem::isEnabled() const { diff --git a/src/plugins/platformthemes/gtk3/qgtk3menu.h b/src/plugins/platformthemes/gtk3/qgtk3menu.h index b43f363fa4..c4dd89cefc 100644 --- a/src/plugins/platformthemes/gtk3/qgtk3menu.h +++ b/src/plugins/platformthemes/gtk3/qgtk3menu.h @@ -82,8 +82,10 @@ public: bool isChecked() const; void setChecked(bool checked) override; +#if QT_CONFIG(shortcut) QKeySequence shortcut() const; void setShortcut(const QKeySequence &shortcut) override; +#endif bool isEnabled() const; void setEnabled(bool enabled) override; @@ -114,7 +116,9 @@ private: QGtk3Menu *m_menu; GtkWidget *m_item; QString m_text; +#if QT_CONFIG(shortcut) QKeySequence m_shortcut; +#endif }; class QGtk3Menu : public QPlatformMenu diff --git a/src/widgets/accessible/qaccessiblewidget.cpp b/src/widgets/accessible/qaccessiblewidget.cpp index 94cf58ae3b..d5f7449e57 100644 --- a/src/widgets/accessible/qaccessiblewidget.cpp +++ b/src/widgets/accessible/qaccessiblewidget.cpp @@ -148,6 +148,8 @@ QString qt_accHotKey(const QString &text) int ampIndex = qt_accAmpIndex(text); if (ampIndex != -1) return QKeySequence(Qt::ALT).toString(QKeySequence::NativeText) + text.at(ampIndex + 1); +#else + Q_UNUSED(text) #endif return QString(); diff --git a/src/widgets/dialogs/qfiledialog.cpp b/src/widgets/dialogs/qfiledialog.cpp index 78e304950a..98f8147236 100644 --- a/src/widgets/dialogs/qfiledialog.cpp +++ b/src/widgets/dialogs/qfiledialog.cpp @@ -3812,8 +3812,8 @@ void QFileDialogPrivate::_q_nativeEnterDirectory(const QUrl &directory) */ bool QFileDialogPrivate::itemViewKeyboardEvent(QKeyEvent *event) { - Q_Q(QFileDialog); #if QT_CONFIG(shortcut) + Q_Q(QFileDialog); if (event->matches(QKeySequence::Cancel)) { q->reject(); return true; @@ -4018,7 +4018,9 @@ void QFileDialogLineEdit::keyPressEvent(QKeyEvent *e) } #endif // QT_KEYPAD_NAVIGATION +#if QT_CONFIG(shortcut) int key = e->key(); +#endif QLineEdit::keyPressEvent(e); #if QT_CONFIG(shortcut) if (!e->matches(QKeySequence::Cancel) && key != Qt::Key_Back) diff --git a/src/widgets/dialogs/qmessagebox.cpp b/src/widgets/dialogs/qmessagebox.cpp index fe32611ed8..7a98fae99c 100644 --- a/src/widgets/dialogs/qmessagebox.cpp +++ b/src/widgets/dialogs/qmessagebox.cpp @@ -1404,8 +1404,8 @@ void QMessageBox::changeEvent(QEvent *ev) */ void QMessageBox::keyPressEvent(QKeyEvent *e) { - Q_D(QMessageBox); #if QT_CONFIG(shortcut) + Q_D(QMessageBox); if (e->matches(QKeySequence::Cancel)) { if (d->detectedEscapeButton) { #ifdef Q_OS_MAC diff --git a/src/widgets/widgets/qwidgetlinecontrol.cpp b/src/widgets/widgets/qwidgetlinecontrol.cpp index 363e7157ac..905bc0f586 100644 --- a/src/widgets/widgets/qwidgetlinecontrol.cpp +++ b/src/widgets/widgets/qwidgetlinecontrol.cpp @@ -1704,7 +1704,9 @@ void QWidgetLineControl::processKeyEvent(QKeyEvent* event) } bool unknown = false; +#if QT_CONFIG(shortcut) bool visual = cursorMoveStyle() == Qt::VisualMoveStyle; +#endif if (false) { } -- cgit v1.2.3 From ab44ac021de1804765718e7415a708011a25671a Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Tue, 18 Apr 2017 14:52:10 -0700 Subject: Clean up mkspecs from old, unsupported and untested mkspecs They have not been tested with Qt 5, not even once to make sure that the mkspec passes the sanity check. This removes for OSes: HP-UX (running on PA-RISC -- Itanium still supported) SGI IRIX SCO Unix Tru64 Unix Unixware And compilers: IBM xlC (Visual Age C++) HP aCC compiler (PA-RISC and Itanium) PGCC, cxx and kcc on Linux There were a couple more OSes detected in the configure script that were lacking even the mkspec. Those have also been removed. Of those, only hpuxi-acc and aix-xlc have been tested in the last 9 years, though only with Qt 4 and never tried with C++11 support. IRIX was last tested over 10 years ago and PA-RISC is definitely not supported due to its lack of atomic operations. Support for HP-UXi and AIX is now only possible with GCC (assuming GCC supports those). Support files for Oracle's Sun Studio compiler are left behind, but its state is unknown. Change-Id: I7814054a102a407d876ffffd14b69c796b97c972 Reviewed-by: Ville Voutilainen Reviewed-by: Lars Knoll Reviewed-by: Oswald Buddenhagen --- configure | 70 ++------------------- mkspecs/aix-xlc-64/qmake.conf | 71 --------------------- mkspecs/aix-xlc-64/qplatformdefs.h | 45 -------------- mkspecs/aix-xlc/qmake.conf | 74 ---------------------- mkspecs/aix-xlc/qplatformdefs.h | 45 -------------- mkspecs/hpux-acc-64/qmake.conf | 116 ----------------------------------- mkspecs/hpux-acc-64/qplatformdefs.h | 87 -------------------------- mkspecs/hpux-acc-o64/qmake.conf | 114 ---------------------------------- mkspecs/hpux-acc-o64/qplatformdefs.h | 85 ------------------------- mkspecs/hpux-acc/qmake.conf | 95 ---------------------------- mkspecs/hpux-acc/qplatformdefs.h | 96 ----------------------------- mkspecs/hpux-g++-64/qmake.conf | 78 ----------------------- mkspecs/hpux-g++-64/qplatformdefs.h | 81 ------------------------ mkspecs/hpux-g++/qmake.conf | 78 ----------------------- mkspecs/hpux-g++/qplatformdefs.h | 92 --------------------------- mkspecs/hpuxi-acc-32/qmake.conf | 70 --------------------- mkspecs/hpuxi-acc-32/qplatformdefs.h | 88 -------------------------- mkspecs/hpuxi-acc-64/qmake.conf | 113 ---------------------------------- mkspecs/hpuxi-acc-64/qplatformdefs.h | 88 -------------------------- mkspecs/irix-cc-64/qmake.conf | 108 -------------------------------- mkspecs/irix-cc-64/qplatformdefs.h | 93 ---------------------------- mkspecs/irix-cc/qmake.conf | 108 -------------------------------- mkspecs/irix-cc/qplatformdefs.h | 93 ---------------------------- mkspecs/irix-g++-64/qmake.conf | 78 ----------------------- mkspecs/irix-g++-64/qplatformdefs.h | 40 ------------ mkspecs/irix-g++/qmake.conf | 78 ----------------------- mkspecs/irix-g++/qplatformdefs.h | 100 ------------------------------ mkspecs/linux-cxx/qmake.conf | 66 -------------------- mkspecs/linux-cxx/qplatformdefs.h | 99 ------------------------------ mkspecs/linux-kcc/qmake.conf | 83 ------------------------- mkspecs/linux-kcc/qplatformdefs.h | 102 ------------------------------ mkspecs/linux-pgcc/qmake.conf | 72 ---------------------- mkspecs/linux-pgcc/qplatformdefs.h | 99 ------------------------------ mkspecs/sco-cc/qmake.conf | 67 -------------------- mkspecs/sco-cc/qplatformdefs.h | 85 ------------------------- mkspecs/sco-g++/qmake.conf | 70 --------------------- mkspecs/sco-g++/qplatformdefs.h | 89 --------------------------- mkspecs/tru64-cxx/qmake.conf | 69 --------------------- mkspecs/tru64-cxx/qplatformdefs.h | 107 -------------------------------- mkspecs/tru64-g++/qmake.conf | 71 --------------------- mkspecs/tru64-g++/qplatformdefs.h | 107 -------------------------------- mkspecs/unixware-cc/qmake.conf | 74 ---------------------- mkspecs/unixware-cc/qplatformdefs.h | 89 --------------------------- mkspecs/unixware-g++/qmake.conf | 73 ---------------------- mkspecs/unixware-g++/qplatformdefs.h | 89 --------------------------- 45 files changed, 6 insertions(+), 3789 deletions(-) delete mode 100644 mkspecs/aix-xlc-64/qmake.conf delete mode 100644 mkspecs/aix-xlc-64/qplatformdefs.h delete mode 100644 mkspecs/aix-xlc/qmake.conf delete mode 100644 mkspecs/aix-xlc/qplatformdefs.h delete mode 100644 mkspecs/hpux-acc-64/qmake.conf delete mode 100644 mkspecs/hpux-acc-64/qplatformdefs.h delete mode 100644 mkspecs/hpux-acc-o64/qmake.conf delete mode 100644 mkspecs/hpux-acc-o64/qplatformdefs.h delete mode 100644 mkspecs/hpux-acc/qmake.conf delete mode 100644 mkspecs/hpux-acc/qplatformdefs.h delete mode 100644 mkspecs/hpux-g++-64/qmake.conf delete mode 100644 mkspecs/hpux-g++-64/qplatformdefs.h delete mode 100644 mkspecs/hpux-g++/qmake.conf delete mode 100644 mkspecs/hpux-g++/qplatformdefs.h delete mode 100644 mkspecs/hpuxi-acc-32/qmake.conf delete mode 100644 mkspecs/hpuxi-acc-32/qplatformdefs.h delete mode 100644 mkspecs/hpuxi-acc-64/qmake.conf delete mode 100644 mkspecs/hpuxi-acc-64/qplatformdefs.h delete mode 100644 mkspecs/irix-cc-64/qmake.conf delete mode 100644 mkspecs/irix-cc-64/qplatformdefs.h delete mode 100644 mkspecs/irix-cc/qmake.conf delete mode 100644 mkspecs/irix-cc/qplatformdefs.h delete mode 100644 mkspecs/irix-g++-64/qmake.conf delete mode 100644 mkspecs/irix-g++-64/qplatformdefs.h delete mode 100644 mkspecs/irix-g++/qmake.conf delete mode 100644 mkspecs/irix-g++/qplatformdefs.h delete mode 100644 mkspecs/linux-cxx/qmake.conf delete mode 100644 mkspecs/linux-cxx/qplatformdefs.h delete mode 100644 mkspecs/linux-kcc/qmake.conf delete mode 100644 mkspecs/linux-kcc/qplatformdefs.h delete mode 100644 mkspecs/linux-pgcc/qmake.conf delete mode 100644 mkspecs/linux-pgcc/qplatformdefs.h delete mode 100644 mkspecs/sco-cc/qmake.conf delete mode 100644 mkspecs/sco-cc/qplatformdefs.h delete mode 100644 mkspecs/sco-g++/qmake.conf delete mode 100644 mkspecs/sco-g++/qplatformdefs.h delete mode 100644 mkspecs/tru64-cxx/qmake.conf delete mode 100644 mkspecs/tru64-cxx/qplatformdefs.h delete mode 100644 mkspecs/tru64-g++/qmake.conf delete mode 100644 mkspecs/tru64-g++/qplatformdefs.h delete mode 100644 mkspecs/unixware-cc/qmake.conf delete mode 100644 mkspecs/unixware-cc/qplatformdefs.h delete mode 100644 mkspecs/unixware-g++/qmake.conf delete mode 100644 mkspecs/unixware-g++/qplatformdefs.h diff --git a/configure b/configure index 7023656cad..73679de621 100755 --- a/configure +++ b/configure @@ -561,23 +561,12 @@ if [ -z "$PLATFORM" ]; then ;; AIX:*) #PLATFORM=aix-g++ - #PLATFORM=aix-g++-64 - PLATFORM=aix-xlc - #PLATFORM=aix-xlc-64 - PLATFORM_NOTES="AIX: aix-g++ aix-g++-64 aix-xlc-64" + PLATFORM=aix-g++-64 + PLATFORM_NOTES="AIX: aix-g++ aix-g++-64" ;; GNU:*) PLATFORM=hurd-g++ ;; - dgux:*) - PLATFORM=dgux-g++ - ;; -# DYNIX/ptx:4*) -# PLATFORM=dynix-g++ -# ;; - ULTRIX:*) - PLATFORM=ultrix-g++ - ;; FreeBSD:*) if [ "$(uname -r | cut -d. -f1)" -ge 10 ]; then PLATFORM=freebsd-clang @@ -593,51 +582,22 @@ if [ -z "$PLATFORM" ]; then NetBSD:*) PLATFORM=netbsd-g++ ;; - BSD/OS:*|BSD/386:*) - PLATFORM=bsdi-g++ - ;; - IRIX*:*) - #PLATFORM=irix-g++ - PLATFORM=irix-cc - #PLATFORM=irix-cc-64 - PLATFORM_NOTES="IRIX: irix-g++ irix-cc-64" - ;; HP-UX:*) case "$UNAME_MACHINE" in ia64) - #PLATFORM=hpuxi-acc-32 - PLATFORM=hpuxi-acc-64 - PLATFORM_NOTES="HP-UXi: hpuxi-acc-32" - ;; - *) - #PLATFORM=hpux-g++ - PLATFORM=hpux-acc - #PLATFORM=hpux-acc-64 - #PLATFORM=hpux-cc - #PLATFORM=hpux-acc-o64 - PLATFORM_NOTES="HP-UX: hpux-g++ hpux-acc-64 hpux-acc-o64" + PLATFORM=hpuxi-g++-64 ;; esac ;; - OSF1:*) - #PLATFORM=tru64-g++ - PLATFORM=tru64-cxx - PLATFORM_NOTES="Tru64: tru64-g++" - ;; Linux:*) PLATFORM=linux-g++ - PLATFORM_NOTES="Linux: linux-clang linux-kcc linux-icc linux-cxx" + PLATFORM_NOTES="Linux: linux-clang linux-icc" ;; SunOS:5*) - #PLATFORM=solaris-g++ + #PLATFORM=solaris-g++-64 PLATFORM=solaris-cc #PLATFORM=solaris-cc64 - PLATFORM_NOTES="Solaris: solaris-g++ solaris-cc-64" - ;; - ReliantUNIX-*:*|SINIX-*:*) - PLATFORM=reliant-cds - #PLATFORM=reliant-cds-64 - PLATFORM_NOTES="Reliant UNIX: reliant-cds-64" + PLATFORM_NOTES="Solaris: solaris-g++-64 solaris-cc-64" ;; CYGWIN*:*) PLATFORM=cygwin-g++ @@ -645,24 +605,6 @@ if [ -z "$PLATFORM" ]; then LynxOS*:*) PLATFORM=lynxos-g++ ;; - OpenUNIX:*) - #PLATFORM=unixware-g++ - PLATFORM=unixware-cc - PLATFORM_NOTES="OpenUNIX: unixware-g++" - ;; - UnixWare:*) - #PLATFORM=unixware-g++ - PLATFORM=unixware-cc - PLATFORM_NOTES="UnixWare: unixware-g++" - ;; - SCO_SV:*) - #PLATFORM=sco-g++ - PLATFORM=sco-cc - PLATFORM_NOTES="SCO OpenServer: sco-g++" - ;; - UNIX_SV:*) - PLATFORM=unixware-g++ - ;; QNX:*) PLATFORM=unsupported/qnx-g++ ;; diff --git a/mkspecs/aix-xlc-64/qmake.conf b/mkspecs/aix-xlc-64/qmake.conf deleted file mode 100644 index 1aea8d81c5..0000000000 --- a/mkspecs/aix-xlc-64/qmake.conf +++ /dev/null @@ -1,71 +0,0 @@ -# -# qmake configuration for aix-xlc -# - -MAKEFILE_GENERATOR = UNIX -QMAKE_PLATFORM = aix - -include(../common/unix.conf) - -QMAKE_COMPILER = ibm_xlc - -QMAKE_CC = xlc -QMAKE_CC_THREAD = xlc_r -QMAKE_LEX = flex -QMAKE_LEXFLAGS = -QMAKE_YACC = yacc -QMAKE_YACCFLAGS = -d -QMAKE_CFLAGS = -qstrict -q64 -QMAKE_CFLAGS_WARN_ON = -QMAKE_CFLAGS_WARN_OFF = -QMAKE_CFLAGS_RELEASE = -O3 -QMAKE_CFLAGS_DEBUG = -g -QMAKE_CFLAGS_SHLIB = -QMAKE_CFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_SHLIB -QMAKE_CFLAGS_YACC = -QMAKE_CFLAGS_THREAD = -qthreaded -qtls - -QMAKE_CXX = xlC -QMAKE_CXX_THREAD = xlC_r -QMAKE_CXXFLAGS = -+ $$QMAKE_CFLAGS -QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON -QMAKE_CXXFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF -QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE -QMAKE_CXXFLAGS_DEBUG = $$QMAKE_CFLAGS_DEBUG -QMAKE_CXXFLAGS_SHLIB = $$QMAKE_CFLAGS_SHLIB -QMAKE_CXXFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_STATIC_LIB -QMAKE_CXXFLAGS_YACC = $$QMAKE_CFLAGS_YACC -QMAKE_CXXFLAGS_THREAD = $$QMAKE_CFLAGS_THREAD -QMAKE_COMPILER_DEFINES += __xlC__ - -QMAKE_INCDIR = -QMAKE_LIBDIR = -QMAKE_INCDIR_X11 = -QMAKE_LIBDIR_X11 = -QMAKE_INCDIR_OPENGL = -QMAKE_LIBDIR_OPENGL = - -QMAKE_LINK = xlC -QMAKE_LINK_THREAD = xlC_r -QMAKE_LINK_SHLIB = ld -QMAKE_LFLAGS = -q64 -bbigtoc -QMAKE_LFLAGS_RELEASE = -QMAKE_LFLAGS_DEBUG = -QMAKE_LFLAGS_SHLIB = -qmkshrobj -QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB -QMAKE_LFLAGS_SONAME = -QMAKE_LFLAGS_THREAD = -L/usr/lib/threads -QMAKE_AIX_SHLIB = 1 - -QMAKE_LIBS = -QMAKE_LIBS_DYNLOAD = -ldl -QMAKE_LIBS_X11 = -lXext -lX11 -lm -QMAKE_LIBS_OPENGL = -lGL -QMAKE_LIBS_THREAD = -lpthreads - -QMAKE_AR = ar -X64 cq -QMAKE_OBJCOPY = objcopy -QMAKE_NM = nm -P -QMAKE_RANLIB = ranlib -X64 - -load(qt_config) diff --git a/mkspecs/aix-xlc-64/qplatformdefs.h b/mkspecs/aix-xlc-64/qplatformdefs.h deleted file mode 100644 index 8737517a79..0000000000 --- a/mkspecs/aix-xlc-64/qplatformdefs.h +++ /dev/null @@ -1,45 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the qmake spec 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 The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/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 3 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL3 included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 3 requirements -** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 2.0 or (at your option) the GNU General -** Public license version 3 or any later version approved by the KDE Free -** Qt Foundation. The licenses are as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-2.0.html and -** https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef QPLATFORMDEFS_H -#define QPLATFORMDEFS_H - -#include "../common/aix/qplatformdefs.h" - -#endif // QPLATFORMDEFS_H diff --git a/mkspecs/aix-xlc/qmake.conf b/mkspecs/aix-xlc/qmake.conf deleted file mode 100644 index c765d4ff6b..0000000000 --- a/mkspecs/aix-xlc/qmake.conf +++ /dev/null @@ -1,74 +0,0 @@ -# -# qmake configuration for aix-xlc -# - -MAKEFILE_GENERATOR = UNIX -QMAKE_PLATFORM = aix - -include(../common/unix.conf) - -QMAKE_COMPILER = ibm_xlc - -QMAKE_CC = xlc -QMAKE_CC_THREAD = xlc_r -QMAKE_LEX = flex -QMAKE_LEXFLAGS = -QMAKE_YACC = yacc -QMAKE_YACCFLAGS = -d -QMAKE_CFLAGS = -qstrict -QMAKE_CFLAGS_WARN_ON = -QMAKE_CFLAGS_WARN_OFF = -QMAKE_CFLAGS_RELEASE = -O3 -QMAKE_CFLAGS_DEBUG = -g -QMAKE_CFLAGS_SHLIB = -QMAKE_CFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_SHLIB -QMAKE_CFLAGS_YACC = -QMAKE_CFLAGS_THREAD = -qthreaded -qtls - -QMAKE_CXX = xlC -QMAKE_CXX_THREAD = xlC_r -QMAKE_CXXFLAGS = -+ $$QMAKE_CFLAGS -QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON -QMAKE_CXXFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF -QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE -QMAKE_CXXFLAGS_DEBUG = $$QMAKE_CFLAGS_DEBUG -QMAKE_CXXFLAGS_SHLIB = $$QMAKE_CFLAGS_SHLIB -QMAKE_CXXFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_STATIC_LIB -QMAKE_CXXFLAGS_YACC = $$QMAKE_CFLAGS_YACC -QMAKE_CXXFLAGS_THREAD = $$QMAKE_CFLAGS_THREAD -QMAKE_CXXFLAGS_RTTI_ON = -qrtti -QMAKE_CXXFLAGS_RTTI_OFF = -qnortti -QMAKE_COMPILER_DEFINES += __xlC__ - -QMAKE_INCDIR = -QMAKE_LIBDIR = -QMAKE_INCDIR_X11 = -QMAKE_LIBDIR_X11 = -QMAKE_INCDIR_OPENGL = -QMAKE_LIBDIR_OPENGL = - -QMAKE_LINK = xlC -QMAKE_LINK_THREAD = xlC_r -QMAKE_LINK_SHLIB = ld -QMAKE_LFLAGS = -bmaxdata:0x80000000 -QMAKE_LFLAGS_RELEASE = -QMAKE_LFLAGS_DEBUG = -QMAKE_LFLAGS_SHLIB = -qmkshrobj -QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB -QMAKE_LFLAGS_SONAME = -QMAKE_LFLAGS_THREAD = -L/usr/lib/threads -QMAKE_LFLAGS_NOUNDEF = -QMAKE_AIX_SHLIB = 1 - -QMAKE_LIBS = -QMAKE_LIBS_DYNLOAD = -ldl -QMAKE_LIBS_X11 = -lXext -lX11 -lm -QMAKE_LIBS_OPENGL = -lGL -QMAKE_LIBS_THREAD = -lpthreads - -QMAKE_AR = ar cq -QMAKE_OBJCOPY = objcopy -QMAKE_NM = nm -P -QMAKE_RANLIB = ranlib - -load(qt_config) diff --git a/mkspecs/aix-xlc/qplatformdefs.h b/mkspecs/aix-xlc/qplatformdefs.h deleted file mode 100644 index 8737517a79..0000000000 --- a/mkspecs/aix-xlc/qplatformdefs.h +++ /dev/null @@ -1,45 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the qmake spec 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 The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/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 3 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL3 included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 3 requirements -** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 2.0 or (at your option) the GNU General -** Public license version 3 or any later version approved by the KDE Free -** Qt Foundation. The licenses are as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-2.0.html and -** https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef QPLATFORMDEFS_H -#define QPLATFORMDEFS_H - -#include "../common/aix/qplatformdefs.h" - -#endif // QPLATFORMDEFS_H diff --git a/mkspecs/hpux-acc-64/qmake.conf b/mkspecs/hpux-acc-64/qmake.conf deleted file mode 100644 index f0b879de83..0000000000 --- a/mkspecs/hpux-acc-64/qmake.conf +++ /dev/null @@ -1,116 +0,0 @@ -# -# qmake configuration for hpux-n64 -# -# We define _POSIX_C_SOURCE to 199506L when using threads, therefore -# we also need to redefine _HPUX_SOURCE. -# From pthread(3t): -# Some documentation will recommend the use of -D_REENTRANT for -# compilation. While this also functions properly, it is considered -# an obsolescent form. -# See pthread(3t) for more details. -# -# From the "HP aC++ Online Programmer's Guide": -# When +DA2.0W is specified: -# * 64-bit SVR4 Executable and Linking Format (ELF) object files -# are generated for PA-RISC 2.0. -# * The preprocessor predefined macro, __LP64__ is defined. -# * The correct path for 64-bit system and language libraries is -# selected. -# When +DD32 is specified: -# * The size of an int, long, or pointer data type is 32-bits. -# The size of an int data type is 32-bits. The size of a long or -# pointer data type is 64-bits. -# * This is the default, currently equivalent to +DA1.1 architecture. -# When +DD64 is specified: -# * The size of an int data type is 32-bits. The size of a long or -# pointer data type is 64-bits. -# * This is currently equivalent to +DA2.OW architecture. -# * The preprocessor predefined macro, __LP64__ is defined. -# Using +DS to Specify Instruction Scheduling: -# * By default, the compiler performs scheduling tuned for the system -# on which you are compiling, or, if specified, tuned for the setting -# of the +DA option. -# -# From the online "C/HP-UX Reference Manual": -# -Aa -# Enables strict ANSI C compliance. -# -Ae -# Enables ANSI C compliance, HP value-added features (as described -# for +e option), and _HPUX_SOURCE name space macro. It is equivalent -# to -Aa +e -D_HPUX_SOURCE. -# +e -# Enables the following HP value added features while compiling in -# ANSI C mode: sized enum, long long, long pointers, compiler supplied -# defaults for missing arguments to intrinsic calls, and $ in identifier -# HP C extensions. -# - -MAKEFILE_GENERATOR = UNIX -QMAKE_PLATFORM = hpux -QMAKE_COMPILER_DEFINES += __hpux __HP_aCC - -include(../common/unix.conf) - -QMAKE_COMPILER = hp_acc - -QMAKE_CC = cc -QMAKE_LEX = flex -QMAKE_LEXFLAGS = -QMAKE_YACC = yacc -QMAKE_YACCFLAGS = -d -QMAKE_CFLAGS = -Ae +DA2.0W -w -QMAKE_CFLAGS_WARN_ON = -QMAKE_CFLAGS_WARN_OFF = -w -QMAKE_CFLAGS_RELEASE = +O1 -QMAKE_CFLAGS_DEBUG = -g -QMAKE_CFLAGS_SHLIB = +Z -QMAKE_CFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_SHLIB -QMAKE_CFLAGS_YACC = -QMAKE_CFLAGS_THREAD = -D_POSIX_C_SOURCE=199506L -D_HPUX_SOURCE -mt - -QMAKE_CXX = aCC -QMAKE_CXXFLAGS = -AA +DA2.0W -w -D__STRICT_ANSI__ -D_HPUX_SOURCE -QMAKE_CXXFLAGS_DEPS = +M -QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON -QMAKE_CXXFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF -QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE -QMAKE_CXXFLAGS_DEBUG = $$QMAKE_CFLAGS_DEBUG -QMAKE_CXXFLAGS_SHLIB = $$QMAKE_CFLAGS_SHLIB -QMAKE_CXXFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_STATIC_LIB -QMAKE_CXXFLAGS_YACC = $$QMAKE_CFLAGS_YACC -QMAKE_CXXFLAGS_THREAD = -D_POSIX_C_SOURCE=199506L -mt - -QMAKE_INCDIR = -QMAKE_LIBDIR = -QMAKE_INCDIR_X11 = /usr/include/X11R6 -QMAKE_LIBDIR_X11 = /usr/lib/X11R6/pa20_64 -QMAKE_INCDIR_OPENGL = /opt/graphics/OpenGL/include /usr/contrib/X11R6/include -QMAKE_LIBDIR_OPENGL = /opt/graphics/OpenGL/lib/pa20_64 /usr/contrib/X11R6/lib/pa20_64 - -QMAKE_LINK = aCC -QMAKE_LINK_SHLIB = aCC -QMAKE_LFLAGS = -AA +DA2.0W -Wl,+s -QMAKE_LFLAGS_RELEASE = -O -QMAKE_LFLAGS_DEBUG = -g -QMAKE_LFLAGS_SHLIB = -b -Wl,-a,shared -QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB -QMAKE_LFLAGS_SONAME = -Wl,+h, -QMAKE_LFLAGS_THREAD = -QMAKE_LFLAGS_NOUNDEF = -Wl,+noallowunsats -QMAKE_LFLAGS_RPATH = -Wl,+b, -QMAKE_HPUX_SHLIB = 3 -QMAKE_EXTENSION_SHLIB = sl - -QMAKE_LIBS = -lm -QMAKE_LIBS_DYNLOAD = -ldl -QMAKE_LIBS_X11 = -lXext -lX11 -QMAKE_LIBS_OPENGL = -lGL -lXt -QMAKE_LIBS_THREAD = -lpthread -QMAKE_LIBS_YACC = -ly - -QMAKE_AR = ar cqs -QMAKE_OBJCOPY = objcopy -QMAKE_NM = nm -P -QMAKE_RANLIB = - -load(qt_config) diff --git a/mkspecs/hpux-acc-64/qplatformdefs.h b/mkspecs/hpux-acc-64/qplatformdefs.h deleted file mode 100644 index 0c64e664d2..0000000000 --- a/mkspecs/hpux-acc-64/qplatformdefs.h +++ /dev/null @@ -1,87 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the qmake spec 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 The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/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 3 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL3 included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 3 requirements -** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 2.0 or (at your option) the GNU General -** Public license version 3 or any later version approved by the KDE Free -** Qt Foundation. The licenses are as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-2.0.html and -** https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef QPLATFORMDEFS_H -#define QPLATFORMDEFS_H - -// Get Qt defines/settings - -#include "qglobal.h" - -// Set any POSIX/XOPEN defines at the top of this file to turn on specific APIs - -#include - - -// We are hot - unistd.h should have turned on the specific APIs we requested - -#include -#include -#define _REENTRANT -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#ifndef QT_NO_IPV6IFNAME -#include -#endif - -#define QT_USE_XOPEN_LFS_EXTENSIONS -#define QT_NO_READDIR64 -#include "../common/posix/qplatformdefs.h" - -#undef QT_OPEN_LARGEFILE -#undef QT_SOCKLEN_T - -#define QT_OPEN_LARGEFILE 0 -#define QT_SOCKLEN_T int - -#endif // QPLATFORMDEFS_H diff --git a/mkspecs/hpux-acc-o64/qmake.conf b/mkspecs/hpux-acc-o64/qmake.conf deleted file mode 100644 index 750bb99155..0000000000 --- a/mkspecs/hpux-acc-o64/qmake.conf +++ /dev/null @@ -1,114 +0,0 @@ -# -# qmake configuration for hpux-o64 -# -# We define _POSIX_C_SOURCE to 199506L when using threads, therefore -# we also need to redefine _HPUX_SOURCE. -# From pthread(3t): -# Some documentation will recommend the use of -D_REENTRANT for -# compilation. While this also functions properly, it is considered -# an obsolescent form. -# See pthread(3t) for more details. -# -# From the "HP aC++ Online Programmer's Guide": -# When +DA2.0W is specified: -# * 64-bit SVR4 Executable and Linking Format (ELF) object files -# are generated for PA-RISC 2.0. -# * The preprocessor predefined macro, __LP64__ is defined. -# * The correct path for 64-bit system and language libraries is -# selected. -# When +DD32 is specified: -# * The size of an int, long, or pointer data type is 32-bits. -# The size of an int data type is 32-bits. The size of a long or -# pointer data type is 64-bits. -# * This is the default, currently equivalent to +DA1.1 architecture. -# When +DD64 is specified: -# * The size of an int data type is 32-bits. The size of a long or -# pointer data type is 64-bits. -# * This is currently equivalent to +DA2.OW architecture. -# * The preprocessor predefined macro, __LP64__ is defined. -# Using +DS to Specify Instruction Scheduling: -# * By default, the compiler performs scheduling tuned for the system -# on which you are compiling, or, if specified, tuned for the setting -# of the +DA option. -# -# From the online "C/HP-UX Reference Manual": -# -Aa -# Enables strict ANSI C compliance. -# -Ae -# Enables ANSI C compliance, HP value-added features (as described -# for +e option), and _HPUX_SOURCE name space macro. It is equivalent -# to -Aa +e -D_HPUX_SOURCE. -# +e -# Enables the following HP value added features while compiling in -# ANSI C mode: sized enum, long long, long pointers, compiler supplied -# defaults for missing arguments to intrinsic calls, and $ in identifier -# HP C extensions. -# - -MAKEFILE_GENERATOR = UNIX -QMAKE_PLATFORM = hpux - -include(../common/unix.conf) - -QMAKE_COMPILER = hp_acc - -QMAKE_CC = cc -QMAKE_LEX = flex -QMAKE_LEXFLAGS = -QMAKE_YACC = yacc -QMAKE_YACCFLAGS = -d -QMAKE_CFLAGS = -Ae +DA2.0 -w -QMAKE_CFLAGS_WARN_ON = -QMAKE_CFLAGS_WARN_OFF = -QMAKE_CFLAGS_RELEASE = -O +Oentrysched +Onolimit -QMAKE_CFLAGS_DEBUG = -y -g -QMAKE_CFLAGS_SHLIB = +Z -QMAKE_CFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_SHLIB -QMAKE_CFLAGS_YACC = -QMAKE_CFLAGS_THREAD = -D_POSIX_C_SOURCE=199506L -D_HPUX_SOURCE - -QMAKE_CXX = aCC -QMAKE_CXXFLAGS = +DA2.0 -w -D__STRICT_ANSI__ -D_HPUX_SOURCE -QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON -QMAKE_CXXFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF -QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE -QMAKE_CXXFLAGS_DEBUG = -g -QMAKE_CXXFLAGS_SHLIB = $$QMAKE_CFLAGS_SHLIB -QMAKE_CXXFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_STATIC_LIB -QMAKE_CXXFLAGS_YACC = $$QMAKE_CFLAGS_YACC -QMAKE_CXXFLAGS_THREAD = -D_POSIX_C_SOURCE=199506L - -QMAKE_INCDIR = -QMAKE_LIBDIR = -QMAKE_INCDIR_X11 = /usr/include/X11R6 -QMAKE_LIBDIR_X11 = /usr/lib/X11R6 -QMAKE_INCDIR_OPENGL = /opt/graphics/OpenGL/include /usr/contrib/X11R6/include -QMAKE_LIBDIR_OPENGL = /opt/graphics/OpenGL/lib /usr/contrib/X11R6/lib - -QMAKE_LINK = aCC -QMAKE_LINK_SHLIB = aCC -QMAKE_LFLAGS = +DA2.0 -Wl,+s -QMAKE_LFLAGS_RELEASE = -O -QMAKE_LFLAGS_DEBUG = -QMAKE_LFLAGS_SHLIB = -b -QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB -QMAKE_LFLAGS_SONAME = -Wl,+h, -QMAKE_LFLAGS_NOUNDEF = -Wl,+noallowunsats -QMAKE_LFLAGS_RPATH = -Wl,+b, -QMAKE_HPUX_SHLIB = 2 -QMAKE_EXTENSION_SHLIB = sl - -QMAKE_LIBS = -lm -QMAKE_LIBS_DYNLOAD = -ldld -QMAKE_LIBS_X11 = -lXext -lX11 - -QMAKE_LIBS_OPENGL = -lGL -QMAKE_LIBS_THREAD = -lpthread -QMAKE_LIBS_YACC = -ly - -QMAKE_AR = ar cqs -QMAKE_OBJCOPY = objcopy -QMAKE_NM = nm -P -QMAKE_RANLIB = - -load(qt_config) diff --git a/mkspecs/hpux-acc-o64/qplatformdefs.h b/mkspecs/hpux-acc-o64/qplatformdefs.h deleted file mode 100644 index 0e9dc48d9a..0000000000 --- a/mkspecs/hpux-acc-o64/qplatformdefs.h +++ /dev/null @@ -1,85 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the qmake spec 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 The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/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 3 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL3 included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 3 requirements -** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 2.0 or (at your option) the GNU General -** Public license version 3 or any later version approved by the KDE Free -** Qt Foundation. The licenses are as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-2.0.html and -** https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef QPLATFORMDEFS_H -#define QPLATFORMDEFS_H - -// Get Qt defines/settings - -#include "qglobal.h" - -// Set any POSIX/XOPEN defines at the top of this file to turn on specific APIs - -#include - - -// We are hot - unistd.h should have turned on the specific APIs we requested - - -#include -#include -#include -#include -#include -#include -#include -#define QT_HPUX_LD -#define QT_NO_LIBRARY_UNLOAD - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#ifndef QT_NO_IPV6IFNAME -#include -#endif - -#define QT_USE_XOPEN_LFS_EXTENSIONS -#define QT_NO_READDIR64 -#include "../common/posix/qplatformdefs.h" - -#undef QT_SOCKLEN_T -#define QT_SOCKLEN_T int - -#endif // QPLATFORMDEFS_H diff --git a/mkspecs/hpux-acc/qmake.conf b/mkspecs/hpux-acc/qmake.conf deleted file mode 100644 index 2f1ce1054c..0000000000 --- a/mkspecs/hpux-acc/qmake.conf +++ /dev/null @@ -1,95 +0,0 @@ -# -# qmake configuration for hpux-acc -# -# We define _POSIX_C_SOURCE to 199506L when using threads, therefore -# we also need to redefine _HPUX_SOURCE. See pthread(3t) for more details. -# -# From the "HP aC++ Online Programmer's Guide": -# Using +DS to Specify Instruction Scheduling: -# * By default, the compiler performs scheduling tuned for the system -# on which you are compiling, or, if specified, tuned for the setting -# of the +DA option. -# -# From the online "C/HP-UX Reference Manual": -# -Aa -# Enables strict ANSI C compliance. -# -Ae -# Enables ANSI C compliance, HP value-added features (as described -# for +e option), and _HPUX_SOURCE name space macro. It is equivalent -# to -Aa +e -D_HPUX_SOURCE. -# +e -# Enables the following HP value added features while compiling in -# ANSI C mode: sized enum, long long, long pointers, compiler supplied -# defaults for missing arguments to intrinsic calls, and $ in identifier -# HP C extensions. -# - -MAKEFILE_GENERATOR = UNIX -QMAKE_PLATFORM = hpux -QMAKE_COMPILER_DEFINES += __hpux __HP_aCC - -include(../common/unix.conf) - -QMAKE_COMPILER = hp_acc - -QMAKE_CC = cc -QMAKE_LEX = flex -QMAKE_LEXFLAGS = -QMAKE_YACC = yacc -QMAKE_YACCFLAGS = -d -QMAKE_CFLAGS = -Ae +DAportable -w -QMAKE_CFLAGS_WARN_ON = -QMAKE_CFLAGS_WARN_OFF = -w -QMAKE_CFLAGS_RELEASE = +O1 -QMAKE_CFLAGS_DEBUG = -g -QMAKE_CFLAGS_SHLIB = +Z -QMAKE_CFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_SHLIB -QMAKE_CFLAGS_YACC = -QMAKE_CFLAGS_THREAD = -D_POSIX_C_SOURCE=199506L -D_HPUX_SOURCE -mt - -QMAKE_CXX = aCC -QMAKE_CXXFLAGS = -AA +DAportable -w -D__STRICT_ANSI__ -D_HPUX_SOURCE -QMAKE_CXXFLAGS_DEPS = +M -QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON -QMAKE_CXXFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF -QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE -QMAKE_CXXFLAGS_DEBUG = $$QMAKE_CFLAGS_DEBUG -QMAKE_CXXFLAGS_SHLIB = $$QMAKE_CFLAGS_SHLIB -QMAKE_CXXFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_STATIC_LIB -QMAKE_CXXFLAGS_YACC = $$QMAKE_CFLAGS_YACC -QMAKE_CXXFLAGS_THREAD = -D_POSIX_C_SOURCE=199506L -mt - -QMAKE_INCDIR = -QMAKE_LIBDIR = -QMAKE_INCDIR_X11 = /usr/include/X11R6 -QMAKE_LIBDIR_X11 = /usr/lib/X11R6 -QMAKE_INCDIR_OPENGL = /opt/graphics/OpenGL/include /usr/contrib/X11R6/include -QMAKE_LIBDIR_OPENGL = /opt/graphics/OpenGL/lib /usr/contrib/X11R6/lib - -QMAKE_LINK = aCC -QMAKE_LINK_SHLIB = aCC -QMAKE_LFLAGS = -AA +DAportable -Wl,+s -QMAKE_LFLAGS_RELEASE = -O -QMAKE_LFLAGS_DEBUG = -g -QMAKE_LFLAGS_SHLIB = -b -Wl,-a,shared -QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB -QMAKE_LFLAGS_SONAME = -Wl,+h, -QMAKE_LFLAGS_THREAD = -QMAKE_LFLAGS_NOUNDEF = -Wl,+noallowunsats -QMAKE_LFLAGS_RPATH = -Wl,+b, -QMAKE_HPUX_SHLIB = 1 -QMAKE_EXTENSION_SHLIB = sl - -QMAKE_LIBS = -lm -QMAKE_LIBS_DYNLOAD = -ldld -QMAKE_LIBS_X11 = -lXext -lX11 -QMAKE_LIBS_OPENGL = -lGL -lXt -QMAKE_LIBS_THREAD = -lpthread -QMAKE_LIBS_YACC = -ly - -QMAKE_AR = ar cqs -QMAKE_OBJCOPY = objcopy -QMAKE_NM = nm -P -QMAKE_RANLIB = - -load(qt_config) diff --git a/mkspecs/hpux-acc/qplatformdefs.h b/mkspecs/hpux-acc/qplatformdefs.h deleted file mode 100644 index a6942ad58f..0000000000 --- a/mkspecs/hpux-acc/qplatformdefs.h +++ /dev/null @@ -1,96 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the qmake spec 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 The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/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 3 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL3 included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 3 requirements -** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 2.0 or (at your option) the GNU General -** Public license version 3 or any later version approved by the KDE Free -** Qt Foundation. The licenses are as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-2.0.html and -** https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef QPLATFORMDEFS_H -#define QPLATFORMDEFS_H - -// Get Qt defines/settings - -#include "qglobal.h" - -// Set any POSIX/XOPEN defines at the top of this file to turn on specific APIs - -#include - - -// We are hot - unistd.h should have turned on the specific APIs we requested - - -#include -#include -#define _REENTRANT -#include -#include -#include -#include -#include -#include -#define QT_HPUX_LD -#define QT_NO_LIBRARY_UNLOAD - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#ifndef QT_NO_IPV6IFNAME -#include -#endif - -#define QT_USE_XOPEN_LFS_EXTENSIONS -#define QT_NO_READDIR64 -#include "../common/posix/qplatformdefs.h" - -#undef QT_OPEN_LARGEFILE -#undef QT_SOCKLEN_T - -#define QT_OPEN_LARGEFILE 0 -#define QT_SOCKLEN_T int - -// presence of _XOPEN_UNIX can be used to detect HP-UX 10 or higher -#if !defined(_XOPEN_UNIX) -// HP-UX 9's select() didn't accept fd_set, yet. -#define select(a,b,c,d,e) select((a), (int *)(b), (int *)(c), (int *)(d), (e)) -#endif - -#endif // QPLATFORMDEFS_H diff --git a/mkspecs/hpux-g++-64/qmake.conf b/mkspecs/hpux-g++-64/qmake.conf deleted file mode 100644 index a27333fa18..0000000000 --- a/mkspecs/hpux-g++-64/qmake.conf +++ /dev/null @@ -1,78 +0,0 @@ -# -# qmake configuration for hpux-g++-64 -# -# We define _POSIX_C_SOURCE to 199506L when using threads, -# therefore we also need to redefine _HPUX_SOURCE. -# - -MAKEFILE_GENERATOR = UNIX -QMAKE_PLATFORM = hpux - -include(../common/unix.conf) - -QMAKE_COMPILER = gcc - -QMAKE_CC = gcc -QMAKE_LEX = flex -QMAKE_LEXFLAGS = -QMAKE_YACC = yacc -QMAKE_YACCFLAGS = -d -QMAKE_CFLAGS = -QMAKE_CFLAGS_DEPS = -M -QMAKE_CFLAGS_WARN_ON = -Wall -W -QMAKE_CFLAGS_WARN_OFF = -w -QMAKE_CFLAGS_RELEASE = -O2 -QMAKE_CFLAGS_DEBUG = -g -QMAKE_CFLAGS_SHLIB = -fPIC -QMAKE_CFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_SHLIB -QMAKE_CFLAGS_YACC = -Wno-unused -Wno-parentheses -QMAKE_CFLAGS_THREAD = -D_POSIX_C_SOURCE=199506L -D_HPUX_SOURCE - -QMAKE_CXX = g++ -QMAKE_CXXFLAGS = $$QMAKE_CFLAGS -D_HPUX_SOURCE -QMAKE_CXXFLAGS_DEPS = $$QMAKE_CFLAGS_DEPS -QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON -QMAKE_CXXFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF -QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE -QMAKE_CXXFLAGS_DEBUG = $$QMAKE_CFLAGS_DEBUG -QMAKE_CXXFLAGS_SHLIB = $$QMAKE_CFLAGS_SHLIB -QMAKE_CXXFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_STATIC_LIB -QMAKE_CXXFLAGS_YACC = $$QMAKE_CFLAGS_YACC -QMAKE_CXXFLAGS_THREAD = -D_POSIX_C_SOURCE=199506L - -QMAKE_INCDIR = -QMAKE_LIBDIR = /usr/lib/pa20_64 -QMAKE_INCDIR_X11 = /usr/include/X11R6 -QMAKE_LIBDIR_X11 = /usr/lib/X11R6/pa20_64 -QMAKE_INCDIR_OPENGL = /opt/Mesa/include /usr/contrib/X11R6/include -QMAKE_LIBDIR_OPENGL = /opt/Mesa/lib/pa20_64 /usr/contrib/X11R6/lib/pa20_64 - -QMAKE_LINK = g++ -QMAKE_LINK_SHLIB = g++ -QMAKE_LINK_C = gcc -QMAKE_LINK_C_SHLIB = gcc -QMAKE_LFLAGS = -Wl,+s -lpthread -QMAKE_LFLAGS_RELEASE = -QMAKE_LFLAGS_DEBUG = -QMAKE_LFLAGS_SHLIB = -fPIC -shared -QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB -QMAKE_LFLAGS_SONAME = -Wl,+h, -QMAKE_LFLAGS_THREAD = -QMAKE_LFLAGS_NOUNDEF = -Wl,+noallowunsats -QMAKE_LFLAGS_RPATH = -Wl,+b, -QMAKE_HPUX_SHLIB = 3 -QMAKE_EXTENSION_SHLIB = sl - -QMAKE_LIBS = -lm -QMAKE_LIBS_DYNLOAD = -ldld -QMAKE_LIBS_X11 = -lXext -lX11 -QMAKE_LIBS_OPENGL = -lGL -QMAKE_LIBS_THREAD = -lpthread -QMAKE_LIBS_YACC = -ly - -QMAKE_AR = ar cqs -QMAKE_OBJCOPY = objcopy -QMAKE_NM = nm -P -QMAKE_RANLIB = - -load(qt_config) diff --git a/mkspecs/hpux-g++-64/qplatformdefs.h b/mkspecs/hpux-g++-64/qplatformdefs.h deleted file mode 100644 index 84ded7bd40..0000000000 --- a/mkspecs/hpux-g++-64/qplatformdefs.h +++ /dev/null @@ -1,81 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the qmake spec 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 The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/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 3 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL3 included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 3 requirements -** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 2.0 or (at your option) the GNU General -** Public license version 3 or any later version approved by the KDE Free -** Qt Foundation. The licenses are as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-2.0.html and -** https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef QPLATFORMDEFS_H -#define QPLATFORMDEFS_H - -// Get Qt defines/settings - -#include "qglobal.h" - -// Set any POSIX/XOPEN defines at the top of this file to turn on specific APIs - -#include - - -// We are hot - unistd.h should have turned on the specific APIs we requested - - -#include -#define _REENTRANT -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#ifndef QT_NO_IPV6IFNAME -#include -#endif - -#define QT_USE_XOPEN_LFS_EXTENSIONS -#define QT_NO_READDIR64 -#include "../common/posix/qplatformdefs.h" - -#endif // QPLATFORMDEFS_H diff --git a/mkspecs/hpux-g++/qmake.conf b/mkspecs/hpux-g++/qmake.conf deleted file mode 100644 index bfd814b0cb..0000000000 --- a/mkspecs/hpux-g++/qmake.conf +++ /dev/null @@ -1,78 +0,0 @@ -# -# qmake configuration for hpux-g++ -# -# We define _POSIX_C_SOURCE to 199506L when using threads, -# therefore we also need to redefine _HPUX_SOURCE. -# - -MAKEFILE_GENERATOR = UNIX -QMAKE_PLATFORM = hpux - -include(../common/unix.conf) - -QMAKE_COMPILER = gcc - -QMAKE_CC = gcc -QMAKE_LEX = flex -QMAKE_LEXFLAGS = -QMAKE_YACC = yacc -QMAKE_YACCFLAGS = -d -QMAKE_CFLAGS = -QMAKE_CFLAGS_DEPS = -M -QMAKE_CFLAGS_WARN_ON = -Wall -W -QMAKE_CFLAGS_WARN_OFF = -w -QMAKE_CFLAGS_RELEASE = -O2 -QMAKE_CFLAGS_DEBUG = -g -QMAKE_CFLAGS_SHLIB = -fPIC -QMAKE_CFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_SHLIB -QMAKE_CFLAGS_YACC = -Wno-unused -Wno-parentheses -QMAKE_CFLAGS_THREAD = -D_POSIX_C_SOURCE=199506L -D_HPUX_SOURCE - -QMAKE_CXX = g++ -QMAKE_CXXFLAGS = $$QMAKE_CFLAGS -D_HPUX_SOURCE -DGLU_VERSION_1_2 -QMAKE_CXXFLAGS_DEPS = $$QMAKE_CFLAGS_DEPS -QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON -QMAKE_CXXFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF -QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE -QMAKE_CXXFLAGS_DEBUG = $$QMAKE_CFLAGS_DEBUG -QMAKE_CXXFLAGS_SHLIB = $$QMAKE_CFLAGS_SHLIB -QMAKE_CXXFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_STATIC_LIB -QMAKE_CXXFLAGS_YACC = $$QMAKE_CFLAGS_YACC -QMAKE_CXXFLAGS_THREAD = -D_POSIX_C_SOURCE=199506L - -QMAKE_INCDIR = -QMAKE_LIBDIR = -QMAKE_INCDIR_X11 = -QMAKE_LIBDIR_X11 = /usr/lib/X11R6 -QMAKE_INCDIR_OPENGL = /opt/Mesa/include /usr/contrib/X11R6/include -QMAKE_LIBDIR_OPENGL = /opt/Mesa/lib /usr/contrib/X11R6/lib - -QMAKE_LINK = g++ -QMAKE_LINK_SHLIB = g++ -QMAKE_LINK_C = gcc -QMAKE_LINK_C_SHLIB = gcc -QMAKE_LFLAGS = -Wl,+s -QMAKE_LFLAGS_RELEASE = -QMAKE_LFLAGS_DEBUG = -QMAKE_LFLAGS_SHLIB = -fPIC -shared -QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB -QMAKE_LFLAGS_SONAME = -Wl,+h, -QMAKE_LFLAGS_THREAD = -QMAKE_LFLAGS_NOUNDEF = -Wl,+noallowunsats -QMAKE_LFLAGS_RPATH = -Wl,+b, -QMAKE_HPUX_SHLIB = 1 -QMAKE_EXTENSION_SHLIB = sl - -QMAKE_LIBS = -QMAKE_LIBS_DYNLOAD = -ldld -QMAKE_LIBS_X11 = -lXext -lX11 -lm -QMAKE_LIBS_OPENGL = -lGL -QMAKE_LIBS_THREAD = -lpthread -QMAKE_LIBS_YACC = -ly - -QMAKE_AR = ar cqs -QMAKE_OBJCOPY = objcopy -QMAKE_NM = nm -P -QMAKE_RANLIB = - -load(qt_config) diff --git a/mkspecs/hpux-g++/qplatformdefs.h b/mkspecs/hpux-g++/qplatformdefs.h deleted file mode 100644 index 4338bb670e..0000000000 --- a/mkspecs/hpux-g++/qplatformdefs.h +++ /dev/null @@ -1,92 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the qmake spec 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 The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/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 3 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL3 included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 3 requirements -** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 2.0 or (at your option) the GNU General -** Public license version 3 or any later version approved by the KDE Free -** Qt Foundation. The licenses are as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-2.0.html and -** https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef QPLATFORMDEFS_H -#define QPLATFORMDEFS_H - -// Get Qt defines/settings - -#include "qglobal.h" - -// Set any POSIX/XOPEN defines at the top of this file to turn on specific APIs - -#include - - -// We are hot - unistd.h should have turned on the specific APIs we requested - -#define _REENTRANT // otherwise we don't get readdir_r, etc. -#include -#include -#include -#include -#include -#include -#include -#include -#define QT_HPUX_LD -#define QT_NO_LIBRARY_UNLOAD - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#ifndef QT_NO_IPV6IFNAME -#include -#endif - -#define QT_USE_XOPEN_LFS_EXTENSIONS -#define QT_NO_READDIR64 -#include "../common/posix/qplatformdefs.h" - -#undef QT_SOCKLEN_T -#define QT_SOCKLEN_T int - -// presence of _XOPEN_UNIX can be used to detect HP-UX 10 or higher -#if !defined(_XOPEN_UNIX) -// HP-UX 9's select() didn't accept fd_set, yet. -#define select(a,b,c,d,e) select((a), (int *)(b), (int *)(c), (int *)(d), (e)) -#endif - -#endif // QPLATFORMDEFS_H diff --git a/mkspecs/hpuxi-acc-32/qmake.conf b/mkspecs/hpuxi-acc-32/qmake.conf deleted file mode 100644 index fed3b112d1..0000000000 --- a/mkspecs/hpuxi-acc-32/qmake.conf +++ /dev/null @@ -1,70 +0,0 @@ -# -# qmake configuration for hpuxi-acc-32 -# - -MAKEFILE_GENERATOR = UNIX -QMAKE_PLATFORM = hpux - -include(../common/unix.conf) - -QMAKE_COMPILER = hp_acc - -QMAKE_CC = cc -QMAKE_LEX = lex -QMAKE_LEXFLAGS = -QMAKE_YACC = yacc -QMAKE_YACCFLAGS = -d -QMAKE_CFLAGS = +DSitanium -w -QMAKE_CFLAGS_WARN_ON = -QMAKE_CFLAGS_WARN_OFF = -w -QMAKE_CFLAGS_RELEASE = +O1 -QMAKE_CFLAGS_DEBUG = -g -QMAKE_CFLAGS_SHLIB = +Z -QMAKE_CFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_SHLIB -QMAKE_CFLAGS_YACC = -QMAKE_CFLAGS_THREAD = -D_POSIX_C_SOURCE=199506L -D_HPUX_SOURCE -D_REENTRANT -mt - -QMAKE_CXX = aCC -QMAKE_CXXFLAGS = $$QMAKE_CFLAGS -D__STRICT_ANSI__ -D_HPUX_SOURCE -QMAKE_CXXFLAGS_DEPS = +M -QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON -QMAKE_CXXFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF -QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE -QMAKE_CXXFLAGS_DEBUG = $$QMAKE_CFLAGS_DEBUG -QMAKE_CXXFLAGS_SHLIB = $$QMAKE_CFLAGS_SHLIB -QMAKE_CXXFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_STATIC_LIB -QMAKE_CXXFLAGS_YACC = $$QMAKE_CFLAGS_YACC -QMAKE_CXXFLAGS_THREAD = -D_POSIX_C_SOURCE=199506L -D_REENTRANT -mt - -QMAKE_INCDIR = -QMAKE_LIBDIR = -QMAKE_INCDIR_X11 = /usr/include/X11R6 -QMAKE_LIBDIR_X11 = /usr/lib/hpux32/X11R6 -QMAKE_INCDIR_OPENGL = /opt/graphics/OpenGL/include /usr/contrib/X11R6/include -QMAKE_LIBDIR_OPENGL = /opt/graphics/OpenGL/lib/hpux32 /usr/contrib/X11R6/lib/hpux32 - -QMAKE_LINK = aCC -QMAKE_LINK_SHLIB = aCC -QMAKE_LFLAGS = +DSitanium -Wl,+s -QMAKE_LFLAGS_RELEASE = -O -QMAKE_LFLAGS_DEBUG = -g -QMAKE_LFLAGS_SHLIB = -b -Wl,-a,shared -QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB -QMAKE_LFLAGS_SONAME = -Wl,+h, -QMAKE_LFLAGS_NOUNDEF = -Wl,+noallowunsats -QMAKE_LFLAGS_THREAD = -QMAKE_LFLAGS_RPATH = - -QMAKE_LIBS = -lm -QMAKE_LIBS_DYNLOAD = -ldl -QMAKE_LIBS_X11 = -lXext -lX11 -QMAKE_LIBS_OPENGL = -lGL -lXt -QMAKE_LIBS_THREAD = -lpthread -QMAKE_LIBS_YACC = -ly - -QMAKE_AR = ar cqs -QMAKE_OBJCOPY = objcopy -QMAKE_NM = nm -P -QMAKE_RANLIB = - -load(qt_config) diff --git a/mkspecs/hpuxi-acc-32/qplatformdefs.h b/mkspecs/hpuxi-acc-32/qplatformdefs.h deleted file mode 100644 index f9917b2a08..0000000000 --- a/mkspecs/hpuxi-acc-32/qplatformdefs.h +++ /dev/null @@ -1,88 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the qmake spec 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 The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/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 3 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL3 included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 3 requirements -** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 2.0 or (at your option) the GNU General -** Public license version 3 or any later version approved by the KDE Free -** Qt Foundation. The licenses are as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-2.0.html and -** https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef QPLATFORMDEFS_H -#define QPLATFORMDEFS_H - -// Get Qt defines/settings - -#define _INCLUDE_LONGLONG -#include "qglobal.h" - -// Set any POSIX/XOPEN defines at the top of this file to turn on specific APIs - -#include - - -// We are hot - unistd.h should have turned on the specific APIs we requested - -#define _REENTRANT -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#ifndef QT_NO_IPV6IFNAME -#include -#endif - -#define QT_USE_XOPEN_LFS_EXTENSIONS -#define QT_NO_READDIR64 -#include "../common/posix/qplatformdefs.h" - -#undef QT_OPEN_LARGEFILE -#undef QT_SOCKLEN_T - -#define QT_OPEN_LARGEFILE 0 -#define QT_SOCKLEN_T int - -#endif // QPLATFORMDEFS_H diff --git a/mkspecs/hpuxi-acc-64/qmake.conf b/mkspecs/hpuxi-acc-64/qmake.conf deleted file mode 100644 index 20578cb377..0000000000 --- a/mkspecs/hpuxi-acc-64/qmake.conf +++ /dev/null @@ -1,113 +0,0 @@ -# -# qmake configuration for hpuxi-acc-64 -# -# We define _POSIX_C_SOURCE to 199506L when using threads, therefore -# we also need to redefine _HPUX_SOURCE. -# From pthread(3t): -# Some documentation will recommend the use of -D_REENTRANT for -# compilation. While this also functions properly, it is considered -# an obsolescent form. -# See pthread(3t) for more details. -# -# From the "HP aC++ Online Programmer's Guide": -# When +DA2.0W is specified: -# * 64-bit SVR4 Executable and Linking Format (ELF) object files -# are generated for PA-RISC 2.0. -# * The preprocessor predefined macro, __LP64__ is defined. -# * The correct path for 64-bit system and language libraries is -# selected. -# When +DD32 is specified: -# * The size of an int, long, or pointer data type is 32-bits. -# The size of an int data type is 32-bits. The size of a long or -# pointer data type is 64-bits. -# * This is the default, currently equivalent to +DA1.1 architecture. -# When +DD64 is specified: -# * The size of an int data type is 32-bits. The size of a long or -# pointer data type is 64-bits. -# * This is currently equivalent to +DA2.OW architecture. -# * The preprocessor predefined macro, __LP64__ is defined. -# Using +DS to Specify Instruction Scheduling: -# * By default, the compiler performs scheduling tuned for the system -# on which you are compiling, or, if specified, tuned for the setting -# of the +DA option. -# -# From the online "C/HP-UX Reference Manual": -# -Aa -# Enables strict ANSI C compliance. -# -Ae -# Enables ANSI C compliance, HP value-added features (as described -# for +e option), and _HPUX_SOURCE name space macro. It is equivalent -# to -Aa +e -D_HPUX_SOURCE. -# +e -# Enables the following HP value added features while compiling in -# ANSI C mode: sized enum, long long, long pointers, compiler supplied -# defaults for missing arguments to intrinsic calls, and $ in identifier -# HP C extensions. -# - -MAKEFILE_GENERATOR = UNIX -QMAKE_PLATFORM = hpux - -include(../common/unix.conf) - -QMAKE_COMPILER = hp_acc - -QMAKE_CC = cc -QMAKE_LEX = lex -QMAKE_LEXFLAGS = -QMAKE_YACC = yacc -QMAKE_YACCFLAGS = -d -QMAKE_CFLAGS = +DD64 +DSitanium -w -QMAKE_CFLAGS_WARN_ON = -QMAKE_CFLAGS_WARN_OFF = -w -QMAKE_CFLAGS_RELEASE = +O1 -QMAKE_CFLAGS_DEBUG = -g -QMAKE_CFLAGS_SHLI = +Z -QMAKE_CFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_SHLIB -QMAKE_CFLAGS_YACC = -QMAKE_CFLAGS_THREAD = -D_POSIX_C_SOURCE=199506L -D_HPUX_SOURCE -D_REENTRANT -mt - -QMAKE_CXX = aCC -QMAKE_CXXFLAGS = $$QMAKE_CFLAGS -D__STRICT_ANSI__ -D_HPUX_SOURCE -QMAKE_CXXFLAGS_DEPS = +M -QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON -QMAKE_CXXFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF -QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE -QMAKE_CXXFLAGS_DEBUG = $$QMAKE_CFLAGS_DEBUG -QMAKE_CXXFLAGS_SHLIB = $$QMAKE_CFLAGS_SHLIB -QMAKE_CXXFLAGS_STATIC_LB = $$QMAKE_CFLAGS_STATIC_LIB -QMAKE_CXXFLAGS_YACC = $$QMAKE_CFLAGS_YACC -QMAKE_CXXFLAGS_THREAD = -D_POSIX_C_SOURCE=199506L -D_REENTRANT -mt - -QMAKE_INCDIR = -QMAKE_LIBDIR = -QMAKE_INCDIR_X11 = /usr/include/X11R6 -QMAKE_LIBDIR_X11 = /usr/lib/hpux64/X11R6 -QMAKE_INCDIR_OPENGL = /opt/graphics/OpenGL/include /usr/contrib/X11R6/include -QMAKE_LIBDIR_OPENGL = /opt/graphics/OpenGL/lib/hpux64 /usr/contrib/X11R6/lib/hpux64 - -QMAKE_LINK = aCC -QMAKE_LINK_SHLIB = aCC -QMAKE_LFLAGS = +DD64 +DSitanium -Wl,+s -QMAKE_LFLAGS_RELEASE = -O -QMAKE_LFLAGS_DEBUG = -g -QMAKE_LFLAGS_SHLIB = -b -Wl,-a,shared -QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB -QMAKE_LFLAGS_SONAME = -Wl,+h, -QMAKE_LFLAGS_THREAD = -QMAKE_LFLAGS_NOUNDEF = -Wl,+noallowunsats -QMAKE_LFLAGS_RPATH = - -QMAKE_LIBS = -lm -QMAKE_LIBS_DYNLOAD = -ldl -QMAKE_LIBS_X11 = -lXext -lX11 -QMAKE_LIBS_OPENGL = -lGL -lXt -QMAKE_LIBS_THREAD = -lpthread -QMAKE_LIBS_YACC = -ly - -QMAKE_AR = ar cqs -QMAKE_OBJCOPY = objcopy -QMAKE_NM = nm -P -QMAKE_RANLIB = - -load(qt_config) diff --git a/mkspecs/hpuxi-acc-64/qplatformdefs.h b/mkspecs/hpuxi-acc-64/qplatformdefs.h deleted file mode 100644 index f9917b2a08..0000000000 --- a/mkspecs/hpuxi-acc-64/qplatformdefs.h +++ /dev/null @@ -1,88 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the qmake spec 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 The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/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 3 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL3 included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 3 requirements -** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 2.0 or (at your option) the GNU General -** Public license version 3 or any later version approved by the KDE Free -** Qt Foundation. The licenses are as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-2.0.html and -** https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef QPLATFORMDEFS_H -#define QPLATFORMDEFS_H - -// Get Qt defines/settings - -#define _INCLUDE_LONGLONG -#include "qglobal.h" - -// Set any POSIX/XOPEN defines at the top of this file to turn on specific APIs - -#include - - -// We are hot - unistd.h should have turned on the specific APIs we requested - -#define _REENTRANT -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#ifndef QT_NO_IPV6IFNAME -#include -#endif - -#define QT_USE_XOPEN_LFS_EXTENSIONS -#define QT_NO_READDIR64 -#include "../common/posix/qplatformdefs.h" - -#undef QT_OPEN_LARGEFILE -#undef QT_SOCKLEN_T - -#define QT_OPEN_LARGEFILE 0 -#define QT_SOCKLEN_T int - -#endif // QPLATFORMDEFS_H diff --git a/mkspecs/irix-cc-64/qmake.conf b/mkspecs/irix-cc-64/qmake.conf deleted file mode 100644 index ad5c6a3ee1..0000000000 --- a/mkspecs/irix-cc-64/qmake.conf +++ /dev/null @@ -1,108 +0,0 @@ -# -# qmake configuration for irix-cc-64 -# -# From cc(1): -# -64 -# Generates a 64-bit object. This defaults to -mips4 if -mips3 has -# not been specified. -# -LANG: ... -# The language feature option group controls the source language -# interpretation assumed by the compiler. The individual controls -# in this group are as follows: -# ansi-for-init-scope [ = ( ON|OFF ) ] -# Enables or disables the ANSI scoping rules for for-init -# declarations (the scope of the name declared extends to -# the end of the for statement). This enables the behavior -# that is required by the C++ standard. The default value -# is OFF, which is the ARM behavior (the scope of the name -# declared extends to the end of the block enclosing the for -# statement). -# bool [ = ( ON|OFF ) ] -# Enables or disables the predefined bool data type, along -# with the predefined values true and false. Use this option -# only to suppress this type in old code that defines bool -# itself. Because this option changes the mangling of function -# names with bool parameters, all files comprising a program -# should be compiled with consistent options. -# Default is ON. -# The _BOOL feature macro can be used in #ifdefs to do conditional -# compilation based on whether or not this option is enabled. -# std -# Enables use of the standard C++ library and standard- -# conforming iostream library. Specifying this flag also -# triggers other standard-conforming behavior, such as the -# new rules for the scope of for loop initializers. -# - -MAKEFILE_GENERATOR = UNIX -QMAKE_PLATFORM = irix -QMAKE_COMPILER_DEFINES += __sgi __EDG - -include(../common/unix.conf) - -QMAKE_COMPILER = sgi_cc - -QMAKE_CC = cc -QMAKE_LEX = flex -QMAKE_LEXFLAGS = -QMAKE_YACC = yacc -QMAKE_YACCFLAGS = -d -QMAKE_CFLAGS = -64 -signed -woff 1209,1355,1375,1424,3303 -QMAKE_CFLAGS_DEPS = -M -QMAKE_CFLAGS_WARN_ON = -fullwarn -QMAKE_CFLAGS_WARN_OFF = -QMAKE_CFLAGS_RELEASE = -O2 -OPT:Olimit=3000 -QMAKE_CFLAGS_DEBUG = -g -QMAKE_CFLAGS_SHLIB = -QMAKE_CFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_SHLIB -QMAKE_CFLAGS_YACC = -woff 1110,1174,3262 -QMAKE_CFLAGS_THREAD = -QMAKE_CFLAGS_EXCEPTIONS_OFF = -LANG:exceptions=off - -QMAKE_CXX = CC -QMAKE_CXXFLAGS = -64 -signed -LANG:std:libc_in_namespace_std=ON -woff 1209,1355,1375,1424,3303 -QMAKE_CXXFLAGS_DEPS = $$QMAKE_CFLAGS_DEPS -QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON -QMAKE_CXXFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF -QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE -QMAKE_CXXFLAGS_DEBUG = $$QMAKE_CFLAGS_DEBUG -QMAKE_CXXFLAGS_SHLIB = $$QMAKE_CFLAGS_SHLIB -QMAKE_CXXFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_STATIC_LIB -QMAKE_CXXFLAGS_YACC = $$QMAKE_CFLAGS_YACC -QMAKE_CXXFLAGS_THREAD = -QMAKE_CXXFLAGS_EXCEPTIONS_OFF = $$QMAKE_CFLAGS_EXCEPTIONS_OFF - -QMAKE_INCDIR = -QMAKE_LIBDIR = -QMAKE_INCDIR_X11 = -QMAKE_LIBDIR_X11 = -QMAKE_INCDIR_OPENGL = -QMAKE_LIBDIR_OPENGL = - -QMAKE_LINK = CC -QMAKE_LINK_SHLIB = CC -QMAKE_LFLAGS = -64 -QMAKE_LFLAGS_RELEASE = -QMAKE_LFLAGS_DEBUG = -g -QMAKE_LFLAGS_SHLIB = -shared -QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB -QMAKE_LFLAGS_SONAME = -Wl,-soname, -QMAKE_LFLAGS_THREAD = -QMAKE_LFLAGS_NOUNDEF = -Wl,-no_unresolved -QMAKE_LFLAGS_RPATH = -Wl,-rpath, -QMAKE_LFLAGS_EXCEPTIONS_OFF = $$QMAKE_CFLAGS_EXCEPTIONS_OFF - -QMAKE_LIBS = -QMAKE_LIBS_DYNLOAD = -QMAKE_LIBS_X11 = -lXext -lX11 -lm -QMAKE_LIBS_OPENGL = -lGL -lm -QMAKE_LIBS_THREAD = -lpthread - -QMAKE_AR = CC -ar -o -QMAKE_OBJCOPY = objcopy -QMAKE_NM = nm -P -QMAKE_RANLIB = - -QMAKE_CLEAN = -r $(OBJECTS_DIR)so_locations $(OBJECTS_DIR)ii_files - -load(qt_config) diff --git a/mkspecs/irix-cc-64/qplatformdefs.h b/mkspecs/irix-cc-64/qplatformdefs.h deleted file mode 100644 index 4a8e1da4de..0000000000 --- a/mkspecs/irix-cc-64/qplatformdefs.h +++ /dev/null @@ -1,93 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the qmake spec 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 The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/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 3 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL3 included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 3 requirements -** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 2.0 or (at your option) the GNU General -** Public license version 3 or any later version approved by the KDE Free -** Qt Foundation. The licenses are as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-2.0.html and -** https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef QPLATFORMDEFS_H -#define QPLATFORMDEFS_H - -// Get Qt defines/settings - -#include "qglobal.h" - -// Set any POSIX/XOPEN defines at the top of this file to turn on specific APIs - -#include - - -// We are hot - unistd.h should have turned on the specific APIs we requested - - -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#ifndef QT_NO_IPV6IFNAME -#include -#endif - -#define QT_USE_XOPEN_LFS_EXTENSIONS -#include "../common/posix/qplatformdefs.h" - -#undef QT_SOCKLEN_T - -#if defined(_XOPEN_SOURCE) && (_XOPEN_SOURCE-0 >= 500) -#define QT_SOCKLEN_T size_t -#else -#define QT_SOCKLEN_T int -#endif - -// Irix 6.5 and better -#if defined(_SGIAPI) -#define QT_SNPRINTF ::snprintf -#define QT_VSNPRINTF ::vsnprintf -#endif - -#endif // QPLATFORMDEFS_H diff --git a/mkspecs/irix-cc/qmake.conf b/mkspecs/irix-cc/qmake.conf deleted file mode 100644 index 52abdf8578..0000000000 --- a/mkspecs/irix-cc/qmake.conf +++ /dev/null @@ -1,108 +0,0 @@ -# -# qmake configuration for irix-cc -# -# From cc(1): -# -n32 -# Generates a (new) 32-bit object. This defaults to -mips3 if -# -mips4 has not been specified. -# -LANG: ... -# The language feature option group controls the source language -# interpretation assumed by the compiler. The individual controls -# in this group are as follows: -# ansi-for-init-scope [ = ( ON|OFF ) ] -# Enables or disables the ANSI scoping rules for for-init -# declarations (the scope of the name declared extends to -# the end of the for statement). This enables the behavior -# that is required by the C++ standard. The default value -# is OFF, which is the ARM behavior (the scope of the name -# declared extends to the end of the block enclosing the for -# statement). -# bool [ = ( ON|OFF ) ] -# Enables or disables the predefined bool data type, along -# with the predefined values true and false. Use this option -# only to suppress this type in old code that defines bool -# itself. Because this option changes the mangling of function -# names with bool parameters, all files comprising a program -# should be compiled with consistent options. -# Default is ON. -# The _BOOL feature macro can be used in #ifdefs to do conditional -# compilation based on whether or not this option is enabled. -# std -# Enables use of the standard C++ library and standard- -# conforming iostream library. Specifying this flag also -# triggers other standard-conforming behavior, such as the -# new rules for the scope of for loop initializers. -# - -MAKEFILE_GENERATOR = UNIX -QMAKE_PLATFORM = irix -QMAKE_COMPILER_DEFINES += __sgi __EDG - -include(../common/unix.conf) - -QMAKE_COMPILER = sgi_cc - -QMAKE_CC = cc -QMAKE_LEX = flex -QMAKE_LEXFLAGS = -QMAKE_YACC = yacc -QMAKE_YACCFLAGS = -d -QMAKE_CFLAGS = -n32 -signed -woff 1209,1355,1375,1424,3303 -QMAKE_CFLAGS_DEPS = -M -QMAKE_CFLAGS_WARN_ON = -fullwarn -QMAKE_CFLAGS_WARN_OFF = -QMAKE_CFLAGS_RELEASE = -O2 -OPT:Olimit=3000 -QMAKE_CFLAGS_DEBUG = -g -QMAKE_CFLAGS_SHLIB = -QMAKE_CFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_SHLIB -QMAKE_CFLAGS_YACC = -woff 1110,1174,3262 -QMAKE_CFLAGS_THREAD = -QMAKE_CFLAGS_EXCEPTIONS_OFF = -LANG:exceptions=off - -QMAKE_CXX = CC -QMAKE_CXXFLAGS = -n32 -signed -LANG:std:libc_in_namespace_std=ON -woff 1209,1355,1375,1424,3303 -QMAKE_CXXFLAGS_DEPS = $$QMAKE_CFLAGS_DEPS -QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON -QMAKE_CXXFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF -QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE -QMAKE_CXXFLAGS_DEBUG = $$QMAKE_CFLAGS_DEBUG -QMAKE_CXXFLAGS_SHLIB = $$QMAKE_CFLAGS_SHLIB -QMAKE_CXXFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_STATIC_LIB -QMAKE_CXXFLAGS_YACC = $$QMAKE_CFLAGS_YACC -QMAKE_CXXFLAGS_THREAD = -QMAKE_CXXFLAGS_EXCEPTIONS_OFF = $$QMAKE_CFLAGS_EXCEPTIONS_OFF - -QMAKE_INCDIR = -QMAKE_LIBDIR = -QMAKE_INCDIR_X11 = -QMAKE_LIBDIR_X11 = -QMAKE_INCDIR_OPENGL = -QMAKE_LIBDIR_OPENGL = - -QMAKE_LINK = CC -QMAKE_LINK_SHLIB = CC -QMAKE_LFLAGS = -n32 -QMAKE_LFLAGS_RELEASE = -QMAKE_LFLAGS_DEBUG = -g -QMAKE_LFLAGS_SHLIB = -shared -QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB -QMAKE_LFLAGS_SONAME = -Wl,-soname, -QMAKE_LFLAGS_THREAD = -QMAKE_LFLAGS_NOUNDEF = -Wl,-no_unresolved -QMAKE_LFLAGS_RPATH = -Wl,-rpath, -QMAKE_LFLAGS_EXCEPTIONS_OFF = $$QMAKE_CFLAGS_EXCEPTIONS_OFF - -QMAKE_LIBS = -QMAKE_LIBS_DYNLOAD = -QMAKE_LIBS_X11 = -lXext -lX11 -lm -QMAKE_LIBS_OPENGL = -lGL -lm -QMAKE_LIBS_THREAD = -lpthread - -QMAKE_AR = CC -ar -o -QMAKE_OBJCOPY = objcopy -QMAKE_NM = nm -P -QMAKE_RANLIB = - -QMAKE_CLEAN = -r $(OBJECTS_DIR)so_locations $(OBJECTS_DIR)ii_files - -load(qt_config) diff --git a/mkspecs/irix-cc/qplatformdefs.h b/mkspecs/irix-cc/qplatformdefs.h deleted file mode 100644 index 4a8e1da4de..0000000000 --- a/mkspecs/irix-cc/qplatformdefs.h +++ /dev/null @@ -1,93 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the qmake spec 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 The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/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 3 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL3 included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 3 requirements -** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 2.0 or (at your option) the GNU General -** Public license version 3 or any later version approved by the KDE Free -** Qt Foundation. The licenses are as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-2.0.html and -** https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef QPLATFORMDEFS_H -#define QPLATFORMDEFS_H - -// Get Qt defines/settings - -#include "qglobal.h" - -// Set any POSIX/XOPEN defines at the top of this file to turn on specific APIs - -#include - - -// We are hot - unistd.h should have turned on the specific APIs we requested - - -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#ifndef QT_NO_IPV6IFNAME -#include -#endif - -#define QT_USE_XOPEN_LFS_EXTENSIONS -#include "../common/posix/qplatformdefs.h" - -#undef QT_SOCKLEN_T - -#if defined(_XOPEN_SOURCE) && (_XOPEN_SOURCE-0 >= 500) -#define QT_SOCKLEN_T size_t -#else -#define QT_SOCKLEN_T int -#endif - -// Irix 6.5 and better -#if defined(_SGIAPI) -#define QT_SNPRINTF ::snprintf -#define QT_VSNPRINTF ::vsnprintf -#endif - -#endif // QPLATFORMDEFS_H diff --git a/mkspecs/irix-g++-64/qmake.conf b/mkspecs/irix-g++-64/qmake.conf deleted file mode 100644 index bd258df5e8..0000000000 --- a/mkspecs/irix-g++-64/qmake.conf +++ /dev/null @@ -1,78 +0,0 @@ -# -# qmake configuration for irix-g++-64 -# - -MAKEFILE_GENERATOR = UNIX -QMAKE_PLATFORM = irix -QMAKE_COMPILER_DEFINES += __sgi __GNUC__ - -include(../common/unix.conf) - -QMAKE_COMPILER = gcc - -QMAKE_CC = gcc -QMAKE_LEX = flex -QMAKE_LEXFLAGS = -QMAKE_YACC = yacc -QMAKE_YACCFLAGS = -d -QMAKE_CFLAGS = -mabi=64 -QMAKE_CFLAGS_DEPS = -M -QMAKE_CFLAGS_WARN_ON = -Wall -W -QMAKE_CFLAGS_WARN_OFF = -w -QMAKE_CFLAGS_RELEASE = -O2 -QMAKE_CFLAGS_DEBUG = -g -QMAKE_CFLAGS_SHLIB = -fPIC -QMAKE_CFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_SHLIB -QMAKE_CFLAGS_YACC = -Wno-unused -Wno-parentheses -QMAKE_CFLAGS_THREAD = - -QMAKE_CXX = g++ -QMAKE_CXXFLAGS = $$QMAKE_CFLAGS -QMAKE_CXXFLAGS_DEPS = $$QMAKE_CFLAGS_DEPS -QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON -QMAKE_CXXFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF -QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE -QMAKE_CXXFLAGS_DEBUG = $$QMAKE_CFLAGS_DEBUG -QMAKE_CXXFLAGS_SHLIB = $$QMAKE_CFLAGS_SHLIB -QMAKE_CXXFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_STATIC_LIB -QMAKE_CXXFLAGS_YACC = $$QMAKE_CFLAGS_YACC -QMAKE_CXXFLAGS_THREAD = - -QMAKE_INCDIR = -QMAKE_LIBDIR = -QMAKE_INCDIR_X11 = -QMAKE_LIBDIR_X11 = -QMAKE_INCDIR_OPENGL = -QMAKE_LIBDIR_OPENGL = - -QMAKE_LINK = g++ -QMAKE_LINK_SHLIB = g++ -QMAKE_LINK_C = gcc -QMAKE_LINK_C_SHLIB = gcc -QMAKE_LFLAGS = -mabi=64 -QMAKE_LFLAGS_RELEASE = -QMAKE_LFLAGS_DEBUG = -QMAKE_LFLAGS_SHLIB = -shared -Wl,-LD_LAYOUT:lgot_buffer=1000 -QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB -QMAKE_LFLAGS_SONAME = -Wl,-soname, -QMAKE_LFLAGS_THREAD = -QMAKE_LFLAGS_NOUNDEF = -Wl,-no_unresolved -QMAKE_LFLAGS_RPATH = -Wl,-rpath, - -QMAKE_LIBS = -lC -QMAKE_LIBS_DYNLOAD = -QMAKE_LIBS_X11 = -lXext -lX11 -lm -# libGLU is using the SGI C++ library internally and this somehow clashes -# with the GNU C++ library (similar name mangling and symbol names?) -# so we add -lC so that the SGI C++ library is used first... -QMAKE_LIBS_OPENGL = -lGL -QMAKE_LIBS_THREAD = -lpthread - -QMAKE_AR = ar cq -QMAKE_OBJCOPY = objcopy -QMAKE_NM = nm -P -QMAKE_RANLIB = - -QMAKE_CLEAN = so_locations - -load(qt_config) diff --git a/mkspecs/irix-g++-64/qplatformdefs.h b/mkspecs/irix-g++-64/qplatformdefs.h deleted file mode 100644 index e5c3cda265..0000000000 --- a/mkspecs/irix-g++-64/qplatformdefs.h +++ /dev/null @@ -1,40 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the qmake spec 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 The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/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 3 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL3 included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 3 requirements -** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 2.0 or (at your option) the GNU General -** Public license version 3 or any later version approved by the KDE Free -** Qt Foundation. The licenses are as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-2.0.html and -** https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include "../irix-g++/qplatformdefs.h" diff --git a/mkspecs/irix-g++/qmake.conf b/mkspecs/irix-g++/qmake.conf deleted file mode 100644 index 57a27b6a1b..0000000000 --- a/mkspecs/irix-g++/qmake.conf +++ /dev/null @@ -1,78 +0,0 @@ -# -# qmake configuration for irix-g++ -# - -MAKEFILE_GENERATOR = UNIX -QMAKE_PLATFORM = irix -QMAKE_COMPILER_DEFINES += __sgi __GNUC__ - -include(../common/unix.conf) - -QMAKE_COMPILER = gcc - -QMAKE_CC = gcc -QMAKE_LEX = flex -QMAKE_LEXFLAGS = -QMAKE_YACC = yacc -QMAKE_YACCFLAGS = -d -QMAKE_CFLAGS = -QMAKE_CFLAGS_DEPS = -M -QMAKE_CFLAGS_WARN_ON = -Wall -W -QMAKE_CFLAGS_WARN_OFF = -w -QMAKE_CFLAGS_RELEASE = -O2 -QMAKE_CFLAGS_DEBUG = -g -QMAKE_CFLAGS_SHLIB = -fPIC -QMAKE_CFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_SHLIB -QMAKE_CFLAGS_YACC = -Wno-unused -Wno-parentheses -QMAKE_CFLAGS_THREAD = - -QMAKE_CXX = g++ -QMAKE_CXXFLAGS = $$QMAKE_CFLAGS -QMAKE_CXXFLAGS_DEPS = $$QMAKE_CFLAGS_DEPS -QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON -QMAKE_CXXFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF -QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE -QMAKE_CXXFLAGS_DEBUG = $$QMAKE_CFLAGS_DEBUG -QMAKE_CXXFLAGS_SHLIB = $$QMAKE_CFLAGS_SHLIB -QMAKE_CXXFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_STATIC_LIB -QMAKE_CXXFLAGS_YACC = $$QMAKE_CFLAGS_YACC -QMAKE_CXXFLAGS_THREAD = - -QMAKE_INCDIR = -QMAKE_LIBDIR = -QMAKE_INCDIR_X11 = -QMAKE_LIBDIR_X11 = -QMAKE_INCDIR_OPENGL = -QMAKE_LIBDIR_OPENGL = - -QMAKE_LINK = g++ -QMAKE_LINK_SHLIB = g++ -QMAKE_LINK_C = gcc -QMAKE_LINK_C_SHLIB = gcc -QMAKE_LFLAGS = -QMAKE_LFLAGS_RELEASE = -QMAKE_LFLAGS_DEBUG = -QMAKE_LFLAGS_SHLIB = -shared -Wl,-LD_LAYOUT:lgot_buffer=1000 -QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB -QMAKE_LFLAGS_SONAME = -Wl,-soname, -QMAKE_LFLAGS_THREAD = -QMAKE_LFLAGS_NOUNDEF = -Wl,-no_unresolved -QMAKE_LFLAGS_RPATH = -Wl,-rpath, - -QMAKE_LIBS = -lC -QMAKE_LIBS_DYNLOAD = -QMAKE_LIBS_X11 = -lXext -lX11 -lm -# libGLU is using the SGI C++ library internally and this somehow clashes -# with the GNU C++ library (similar name mangling and symbol names?) -# so we add -lC so that the SGI C++ library is used first... -QMAKE_LIBS_OPENGL = -lGL -QMAKE_LIBS_THREAD = -lpthread - -QMAKE_AR = ar cq -QMAKE_OBJCOPY = objcopy -QMAKE_NM = nm -P -QMAKE_RANLIB = - -QMAKE_CLEAN = so_locations - -load(qt_config) diff --git a/mkspecs/irix-g++/qplatformdefs.h b/mkspecs/irix-g++/qplatformdefs.h deleted file mode 100644 index 4b3918a491..0000000000 --- a/mkspecs/irix-g++/qplatformdefs.h +++ /dev/null @@ -1,100 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the qmake spec 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 The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/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 3 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL3 included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 3 requirements -** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 2.0 or (at your option) the GNU General -** Public license version 3 or any later version approved by the KDE Free -** Qt Foundation. The licenses are as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-2.0.html and -** https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef QPLATFORMDEFS_H -#define QPLATFORMDEFS_H - -// Get Qt defines/settings - -#include "qglobal.h" - -// Set any POSIX/XOPEN defines at the top of this file to turn on specific APIs - -#include - - -// We are hot - unistd.h should have turned on the specific APIs we requested - - -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#ifndef QT_NO_IPV6IFNAME -#include -#endif - -#define QT_USE_XOPEN_LFS_EXTENSIONS -#include "../common/posix/qplatformdefs.h" - -#undef QT_SOCKLEN_T -#undef QT_SIGNAL_ARGS - -#if defined(_XOPEN_SOURCE) && (_XOPEN_SOURCE-0 >= 500) -#define QT_SOCKLEN_T size_t -#else -#define QT_SOCKLEN_T int -#endif - -#if defined(_LANGUAGE_C_PLUS_PLUS) || !defined(_SGIAPI) -#define QT_SIGNAL_ARGS int -#else -#define QT_SIGNAL_ARGS void -#endif - -// Irix 6.5 and better -#if defined(_SGIAPI) -#define QT_SNPRINTF ::snprintf -#define QT_VSNPRINTF ::vsnprintf -#endif - -#endif // QPLATFORMDEFS_H diff --git a/mkspecs/linux-cxx/qmake.conf b/mkspecs/linux-cxx/qmake.conf deleted file mode 100644 index b156bea084..0000000000 --- a/mkspecs/linux-cxx/qmake.conf +++ /dev/null @@ -1,66 +0,0 @@ -# -# qmake configuration for linux-cxx -# -# Written for Compaq C++ for GNU/Linux on Alpha -# - -MAKEFILE_GENERATOR = UNIX -QMAKE_PLATFORM = linux - -include(../common/unix.conf) - -QMAKE_COMPILER = compaq_cc - -QMAKE_CC = ccc -QMAKE_LEX = flex -QMAKE_LEXFLAGS = -QMAKE_YACC = yacc -QMAKE_YACCFLAGS = -d -QMAKE_CFLAGS = -w -QMAKE_CFLAGS_DEPS = -M -QMAKE_CFLAGS_WARN_ON = -QMAKE_CFLAGS_WARN_OFF = -QMAKE_CFLAGS_RELEASE = -O2 -QMAKE_CFLAGS_DEBUG = -g -QMAKE_CFLAGS_SHLIB = -QMAKE_CFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_SHLIB -QMAKE_CFLAGS_YACC = -Olimit 1000 - -QMAKE_CXX = cxx -QMAKE_CXXFLAGS = -w -QMAKE_CXXFLAGS_DEPS = $$QMAKE_CFLAGS_DEPS -QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON -QMAKE_CXXFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF -QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE -QMAKE_CXXFLAGS_DEBUG = $$QMAKE_CFLAGS_DEBUG -QMAKE_CXXFLAGS_SHLIB = $$QMAKE_CFLAGS_SHLIB -QMAKE_CXXFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_STATIC_LIB -QMAKE_CXXFLAGS_YACC = $$QMAKE_CFLAGS_YACC - -QMAKE_INCDIR = -QMAKE_LIBDIR = -QMAKE_INCDIR_X11 = -QMAKE_LIBDIR_X11 = -QMAKE_INCDIR_OPENGL = -QMAKE_LIBDIR_OPENGL = - -QMAKE_LINK = cxx -QMAKE_LINK_SHLIB = cxx -QMAKE_LFLAGS = -QMAKE_LFLAGS_RELEASE = -QMAKE_LFLAGS_DEBUG = -QMAKE_LFLAGS_SHLIB = -shared -QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB -QMAKE_LFLAGS_SONAME = -Wl,-soname, - -QMAKE_LIBS = -QMAKE_LIBS_DYNLOAD = -ldl -QMAKE_LIBS_X11 = -lXext -lX11 -lm -QMAKE_LIBS_NIS = -lnsl - -QMAKE_LIBS_OPENGL = -lGL - -QMAKE_AR = ar cqs -QMAKE_RANLIB = - -load(qt_config) diff --git a/mkspecs/linux-cxx/qplatformdefs.h b/mkspecs/linux-cxx/qplatformdefs.h deleted file mode 100644 index 0c26017140..0000000000 --- a/mkspecs/linux-cxx/qplatformdefs.h +++ /dev/null @@ -1,99 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the qmake spec 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 The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/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 3 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL3 included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 3 requirements -** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 2.0 or (at your option) the GNU General -** Public license version 3 or any later version approved by the KDE Free -** Qt Foundation. The licenses are as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-2.0.html and -** https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef QPLATFORMDEFS_H -#define QPLATFORMDEFS_H - -// Get Qt defines/settings - -#include "qglobal.h" - -// Set any POSIX/XOPEN defines at the top of this file to turn on specific APIs - -// 1) need to reset default environment if _BSD_SOURCE is defined -// 2) need to specify POSIX thread interfaces explicitly in glibc 2.0 -// 3) it seems older glibc need this to include the X/Open stuff -#ifndef _GNU_SOURCE -# define _GNU_SOURCE -#endif - -#include - - -// We are hot - unistd.h should have turned on the specific APIs we requested - - -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#ifndef QT_NO_IPV6IFNAME -#include -#endif - -#define QT_USE_XOPEN_LFS_EXTENSIONS -#include "../common/posix/qplatformdefs.h" - -#undef QT_SOCKLEN_T - -#if defined(__GLIBC__) && (__GLIBC__ >= 2) -#define QT_SOCKLEN_T socklen_t -#else -#define QT_SOCKLEN_T int -#endif - -#if defined(_XOPEN_SOURCE) && (_XOPEN_SOURCE >= 500) -#define QT_SNPRINTF ::snprintf -#define QT_VSNPRINTF ::vsnprintf -#endif - -#endif // QPLATFORMDEFS_H diff --git a/mkspecs/linux-kcc/qmake.conf b/mkspecs/linux-kcc/qmake.conf deleted file mode 100644 index 591a59537f..0000000000 --- a/mkspecs/linux-kcc/qmake.conf +++ /dev/null @@ -1,83 +0,0 @@ -# -# qmake configuration for linux-kcc -# -# Written for KAI C++ 4.0f for GNU/Linux -# -# This product has been discontinued, use Intel C++ instead. -# -# From the KAI C++ man page for Linux: -# --[no_]thread_safe -# [Waive or] Request thread-safe handling of system-allocated objects. -# To guarantee thread safety, this option must be used when both -# compiling and linking. Thread-safe C++ is not link-compatible with -# (the default) non-thread-safe C++. -# - -MAKEFILE_GENERATOR = UNIX -QMAKE_PLATFORM = linux - -include(../common/unix.conf) - -QMAKE_COMPILER = kai_cc - -QMAKE_CC = KCC -QMAKE_LEX = flex -QMAKE_LEXFLAGS = -QMAKE_YACC = yacc -QMAKE_YACCFLAGS = -d -QMAKE_CFLAGS = --c --display_error_number --backend -pipe -QMAKE_CFLAGS_DEPS = -M -QMAKE_CFLAGS_WARN_ON = -QMAKE_CFLAGS_WARN_OFF = -w -QMAKE_CFLAGS_RELEASE = +K2 -QMAKE_CFLAGS_DEBUG = +K0 -QMAKE_CFLAGS_SHLIB = -fPIC -QMAKE_CFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_SHLIB -QMAKE_CFLAGS_YACC = --diag_suppress 111,177 -QMAKE_CFLAGS_THREAD = --thread_safe - -QMAKE_CXX = KCC -QMAKE_CXXFLAGS = --display_error_number --diag_suppress 611,1142 --backend -pipe -QMAKE_CXXFLAGS_DEPS = $$QMAKE_CFLAGS_DEPS -QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON -QMAKE_CXXFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF -QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE -QMAKE_CXXFLAGS_DEBUG = $$QMAKE_CFLAGS_DEBUG -QMAKE_CXXFLAGS_SHLIB = $$QMAKE_CFLAGS_SHLIB -QMAKE_CXXFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_STATIC_LIB -QMAKE_CXXFLAGS_YACC = $$QMAKE_CFLAGS_YACC -QMAKE_CXXFLAGS_THREAD = $$QMAKE_CFLAGS_THREAD - -QMAKE_INCDIR = -QMAKE_LIBDIR = -QMAKE_INCDIR_X11 = -QMAKE_LIBDIR_X11 = -QMAKE_INCDIR_OPENGL = -QMAKE_LIBDIR_OPENGL = - -QMAKE_LINK = KCC -QMAKE_LINK_SHLIB = KCC -QMAKE_LFLAGS = -QMAKE_LFLAGS_RELEASE = -QMAKE_LFLAGS_DEBUG = -QMAKE_LFLAGS_SHLIB = -QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB -QMAKE_LFLAGS_SONAME = --soname$$LITERAL_WHITESPACE -QMAKE_LFLAGS_THREAD = --thread_safe -QMAKE_LFLAGS_RPATH = -rpath$$LITERAL_WHITESPACE - -QMAKE_LIBS = -QMAKE_LIBS_DYNLOAD = -ldl -QMAKE_LIBS_X11 = -lXext -lX11 -lm -QMAKE_LIBS_NIS = -lnsl -QMAKE_LIBS_OPENGL = -lGL -QMAKE_LIBS_THREAD = - -QMAKE_AR = ar cqs -QMAKE_OBJCOPY = objcopy -QMAKE_NM = nm -P -QMAKE_RANLIB = - -QMAKE_CLEAN = -r $(OBJECTS_DIR)ti_files - -load(qt_config) diff --git a/mkspecs/linux-kcc/qplatformdefs.h b/mkspecs/linux-kcc/qplatformdefs.h deleted file mode 100644 index 7398e62c5e..0000000000 --- a/mkspecs/linux-kcc/qplatformdefs.h +++ /dev/null @@ -1,102 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the qmake spec 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 The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/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 3 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL3 included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 3 requirements -** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 2.0 or (at your option) the GNU General -** Public license version 3 or any later version approved by the KDE Free -** Qt Foundation. The licenses are as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-2.0.html and -** https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef QPLATFORMDEFS_H -#define QPLATFORMDEFS_H - -// Get Qt defines/settings - -#include "qglobal.h" - -// Set any POSIX/XOPEN defines at the top of this file to turn on specific APIs - -// 1) need to reset default environment if _BSD_SOURCE is defined -// 2) need to specify POSIX thread interfaces explicitly in glibc 2.0 -// 3) it seems older glibc need this to include the X/Open stuff -#ifndef _GNU_SOURCE -# define _GNU_SOURCE -#endif - -#include - - -// We are hot - unistd.h should have turned on the specific APIs we requested - - -#include -#include -#include -#include -#include -#include -#include -// KAI C++ has at the moment problems with unloading the Qt plugins. -// So don't unload them as a workaround for now. -#define QT_NO_LIBRARY_UNLOAD - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#ifndef QT_NO_IPV6IFNAME -#include -#endif - -#define QT_USE_XOPEN_LFS_EXTENSIONS -#include "../common/posix/qplatformdefs.h" - -#undef QT_SOCKLEN_T - -#if defined(__GLIBC__) && (__GLIBC__ >= 2) -#define QT_SOCKLEN_T socklen_t -#else -#define QT_SOCKLEN_T int -#endif - -#if defined(_XOPEN_SOURCE) && (_XOPEN_SOURCE >= 500) -#define QT_SNPRINTF ::snprintf -#define QT_VSNPRINTF ::vsnprintf -#endif - -#endif // QPLATFORMDEFS_H diff --git a/mkspecs/linux-pgcc/qmake.conf b/mkspecs/linux-pgcc/qmake.conf deleted file mode 100644 index c41823ba94..0000000000 --- a/mkspecs/linux-pgcc/qmake.conf +++ /dev/null @@ -1,72 +0,0 @@ -# -# qmake configuration for linux-pgcc -# -# Written for the Portland Group compiler 6.0-5 -# - -MAKEFILE_GENERATOR = UNIX -QMAKE_PLATFORM = linux - -include(../common/unix.conf) - -QMAKE_COMPILER = portland_cc - -QMAKE_CC = pgcc -QMAKE_LEX = flex -QMAKE_LEXFLAGS = -QMAKE_YACC = yacc -QMAKE_YACCFLAGS = -d -QMAKE_CFLAGS = -QMAKE_CFLAGS_DEPS = -M -QMAKE_CFLAGS_WARN_ON = -QMAKE_CFLAGS_WARN_OFF = -w -QMAKE_CFLAGS_RELEASE = -fast -QMAKE_CFLAGS_DEBUG = -g -QMAKE_CFLAGS_SHLIB = -fpic -QMAKE_CFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_SHLIB -QMAKE_CFLAGS_YACC = -QMAKE_CFLAGS_THREAD = -D_REENTRANT - -QMAKE_CXX = pgCC -QMAKE_CXXFLAGS = --display_error_number --diag_suppress815 $$QMAKE_CFLAGS -QMAKE_CXXFLAGS_DEPS = $$QMAKE_CFLAGS_DEPS -QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON -QMAKE_CXXFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF -QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE -QMAKE_CXXFLAGS_DEBUG = $$QMAKE_CFLAGS_DEBUG -QMAKE_CXXFLAGS_SHLIB = $$QMAKE_CFLAGS_SHLIB -QMAKE_CXXFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_STATIC_LIB -QMAKE_CXXFLAGS_YACC = $$QMAKE_CFLAGS_YACC -QMAKE_CXXFLAGS_THREAD = $$QMAKE_CFLAGS_THREAD - -QMAKE_INCDIR = -QMAKE_LIBDIR = -QMAKE_INCDIR_X11 = -QMAKE_LIBDIR_X11 = -QMAKE_INCDIR_OPENGL = -QMAKE_LIBDIR_OPENGL = - -QMAKE_LINK = pgCC -QMAKE_LINK_SHLIB = pgCC -QMAKE_LFLAGS = -QMAKE_LFLAGS_RELEASE = -QMAKE_LFLAGS_DEBUG = -QMAKE_LFLAGS_SHLIB = -shared -fpic -QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB -QMAKE_LFLAGS_SONAME = -Wl,-soname, -QMAKE_LFLAGS_THREAD = -QMAKE_LFLAGS_RPATH = -R - -QMAKE_LIBS = -QMAKE_LIBS_DYNLOAD = -ldl -QMAKE_LIBS_X11 = -lXext -lX11 -lm -QMAKE_LIBS_NIS = -lnsl -QMAKE_LIBS_OPENGL = -lGL -QMAKE_LIBS_THREAD = -lpthread - -QMAKE_AR = ar cqs -QMAKE_OBJCOPY = objcopy -QMAKE_NM = nm -P -QMAKE_RANLIB = - -load(qt_config) diff --git a/mkspecs/linux-pgcc/qplatformdefs.h b/mkspecs/linux-pgcc/qplatformdefs.h deleted file mode 100644 index 0c26017140..0000000000 --- a/mkspecs/linux-pgcc/qplatformdefs.h +++ /dev/null @@ -1,99 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the qmake spec 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 The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/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 3 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL3 included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 3 requirements -** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 2.0 or (at your option) the GNU General -** Public license version 3 or any later version approved by the KDE Free -** Qt Foundation. The licenses are as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-2.0.html and -** https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef QPLATFORMDEFS_H -#define QPLATFORMDEFS_H - -// Get Qt defines/settings - -#include "qglobal.h" - -// Set any POSIX/XOPEN defines at the top of this file to turn on specific APIs - -// 1) need to reset default environment if _BSD_SOURCE is defined -// 2) need to specify POSIX thread interfaces explicitly in glibc 2.0 -// 3) it seems older glibc need this to include the X/Open stuff -#ifndef _GNU_SOURCE -# define _GNU_SOURCE -#endif - -#include - - -// We are hot - unistd.h should have turned on the specific APIs we requested - - -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#ifndef QT_NO_IPV6IFNAME -#include -#endif - -#define QT_USE_XOPEN_LFS_EXTENSIONS -#include "../common/posix/qplatformdefs.h" - -#undef QT_SOCKLEN_T - -#if defined(__GLIBC__) && (__GLIBC__ >= 2) -#define QT_SOCKLEN_T socklen_t -#else -#define QT_SOCKLEN_T int -#endif - -#if defined(_XOPEN_SOURCE) && (_XOPEN_SOURCE >= 500) -#define QT_SNPRINTF ::snprintf -#define QT_VSNPRINTF ::vsnprintf -#endif - -#endif // QPLATFORMDEFS_H diff --git a/mkspecs/sco-cc/qmake.conf b/mkspecs/sco-cc/qmake.conf deleted file mode 100644 index fab66b4215..0000000000 --- a/mkspecs/sco-cc/qmake.conf +++ /dev/null @@ -1,67 +0,0 @@ -# -# qmake configuration for sco-cc -# -# Written for SCO OpenServer with UDK -# -# -Wf,--diag_suppress,838 -# turns off warning about missing return types in X headers -# - -MAKEFILE_GENERATOR = UNIX -QMAKE_PLATFORM = sco - -QMAKE_COMPILER = sco_cc - -QMAKE_CC = cc -QMAKE_LEX = flex -QMAKE_LEXFLAGS = -QMAKE_YACC = yacc -QMAKE_YACCFLAGS = -d -QMAKE_CFLAGS = -QMAKE_CFLAGS_WARN_ON = -QMAKE_CFLAGS_WARN_OFF = -w -QMAKE_CFLAGS_RELEASE = -O -QMAKE_CFLAGS_DEBUG = -g -QMAKE_CFLAGS_SHLIB = -KPIC -QMAKE_CFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_SHLIB -QMAKE_CFLAGS_YACC = -Wf,--diag_suppress,111 -Wf,--diag_suppress,177 - -QMAKE_CXX = CC -QMAKE_CXXFLAGS = $$QMAKE_CFLAGS -Wf,--display_error_number -Wf,--diag_suppress,838 -QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON -QMAKE_CXXFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF -QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE -Tused -QMAKE_CXXFLAGS_DEBUG = $$QMAKE_CFLAGS_DEBUG -QMAKE_CXXFLAGS_SHLIB = $$QMAKE_CFLAGS_SHLIB -QMAKE_CXXFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_STATIC_LIB -QMAKE_CXXFLAGS_YACC = $$QMAKE_CFLAGS_YACC - -QMAKE_INCDIR = -QMAKE_LIBDIR = -QMAKE_INCDIR_X11 = -QMAKE_LIBDIR_X11 = /usr/X/lib -QMAKE_INCDIR_OPENGL = -QMAKE_LIBDIR_OPENGL = - -QMAKE_LINK = CC -QMAKE_LINK_SHLIB = CC -QMAKE_LFLAGS = -QMAKE_LFLAGS_RELEASE = -QMAKE_LFLAGS_DEBUG = -QMAKE_LFLAGS_SHLIB = -G -QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB -QMAKE_LFLAGS_SONAME = -h$$LITERAL_WHITESPACE - -QMAKE_LIBS = -QMAKE_LIBS_DYNLOAD = -ldl -QMAKE_LIBS_X11 = -lXext -lX11 -lresolv -lsocket -lnsl -lm - -QMAKE_LIBS_OPENGL = -lGL -lXt - -QMAKE_AR = ar cq -QMAKE_OBJCOPY = objcopy -QMAKE_NM = nm -P -QMAKE_RANLIB = - -include(../common/unix.conf) -load(qt_config) diff --git a/mkspecs/sco-cc/qplatformdefs.h b/mkspecs/sco-cc/qplatformdefs.h deleted file mode 100644 index 23f5d41394..0000000000 --- a/mkspecs/sco-cc/qplatformdefs.h +++ /dev/null @@ -1,85 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the qmake spec 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 The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/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 3 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL3 included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 3 requirements -** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 2.0 or (at your option) the GNU General -** Public license version 3 or any later version approved by the KDE Free -** Qt Foundation. The licenses are as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-2.0.html and -** https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef QPLATFORMDEFS_H -#define QPLATFORMDEFS_H - -// Get Qt defines/settings - -#include "qglobal.h" - -// Set any POSIX/XOPEN defines at the top of this file to turn on specific APIs - -#include - - -// We are hot - unistd.h should have turned on the specific APIs we requested - - -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#ifndef QT_NO_IPV6IFNAME -#include -#endif - -#include "../common/posix/qplatformdefs.h" - -#undef QT_SOCKLEN_T -#define QT_SOCKLEN_T size_t - -#define QT_SNPRINTF ::snprintf -#define QT_VSNPRINTF ::vsnprintf - -#endif // QPLATFORMDEFS_H diff --git a/mkspecs/sco-g++/qmake.conf b/mkspecs/sco-g++/qmake.conf deleted file mode 100644 index 27fc1cffe3..0000000000 --- a/mkspecs/sco-g++/qmake.conf +++ /dev/null @@ -1,70 +0,0 @@ -# -# qmake configuration for sco-g++ -# -# Written for SCO OpenServer 5.0.6 with Skunkware's compiler -# - -MAKEFILE_GENERATOR = UNIX -QMAKE_PLATFORM = sco - -include(../common/unix.conf) - -QMAKE_COMPILER = gcc - -QMAKE_CC = gcc -QMAKE_LEX = flex -QMAKE_LEXFLAGS = -QMAKE_YACC = yacc -QMAKE_YACCFLAGS = -d -QMAKE_CFLAGS = -QMAKE_CFLAGS_DEPS = -M -QMAKE_CFLAGS_WARN_ON = -Wall -W -QMAKE_CFLAGS_WARN_OFF = -w -QMAKE_CFLAGS_RELEASE = -O2 -QMAKE_CFLAGS_DEBUG = -g -QMAKE_CFLAGS_SHLIB = -fPIC -QMAKE_CFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_SHLIB -QMAKE_CFLAGS_YACC = -Wno-unused -Wno-parentheses - -QMAKE_CXX = g++ -QMAKE_CXXFLAGS = $$QMAKE_CFLAGS -QMAKE_CXXFLAGS_DEPS = $$QMAKE_CFLAGS_DEPS -QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON -QMAKE_CXXFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF -QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE -QMAKE_CXXFLAGS_DEBUG = $$QMAKE_CFLAGS_DEBUG -QMAKE_CXXFLAGS_SHLIB = $$QMAKE_CFLAGS_SHLIB -QMAKE_CXXFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_STATIC_LIB -QMAKE_CXXFLAGS_YACC = $$QMAKE_CFLAGS_YACC - -QMAKE_INCDIR = -QMAKE_LIBDIR = -QMAKE_INCDIR_X11 = -QMAKE_LIBDIR_X11 = -QMAKE_INCDIR_OPENGL = -QMAKE_LIBDIR_OPENGL = - -QMAKE_LINK = g++ -QMAKE_LINK_SHLIB = g++ -QMAKE_LINK_C = gcc -QMAKE_LINK_C_SHLIB = gcc -QMAKE_LFLAGS = -QMAKE_LFLAGS_RELEASE = -QMAKE_LFLAGS_DEBUG = -QMAKE_LFLAGS_SHLIB = -G -QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB -QMAKE_LFLAGS_SONAME = -h$$LITERAL_WHITESPACE -QMAKE_LFLAGS_RPATH = - -QMAKE_LIBS = -QMAKE_LIBS_DYNLOAD = -ldl -QMAKE_LIBS_X11 = -lXext -lX11 -lsocket -lm - -QMAKE_LIBS_OPENGL = -lGL - -QMAKE_AR = ar cqs -QMAKE_OBJCOPY = objcopy -QMAKE_NM = nm -P -QMAKE_RANLIB = - -load(qt_config) diff --git a/mkspecs/sco-g++/qplatformdefs.h b/mkspecs/sco-g++/qplatformdefs.h deleted file mode 100644 index aed4756d7f..0000000000 --- a/mkspecs/sco-g++/qplatformdefs.h +++ /dev/null @@ -1,89 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the qmake spec 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 The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/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 3 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL3 included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 3 requirements -** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 2.0 or (at your option) the GNU General -** Public license version 3 or any later version approved by the KDE Free -** Qt Foundation. The licenses are as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-2.0.html and -** https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef QPLATFORMDEFS_H -#define QPLATFORMDEFS_H - -// Get Qt defines/settings - -#include "qglobal.h" - -// Set any POSIX/XOPEN defines at the top of this file to turn on specific APIs - -// This is to have PATH_MAX defined in -#ifndef _IBCS2 -# define _IBCS2 -#endif - -#include - - -// We are hot - unistd.h should have turned on the specific APIs we requested - - -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#ifndef QT_NO_IPV6IFNAME -#include -#endif - -#include "../common/posix/qplatformdefs.h" - -#undef QT_SOCKLEN_T -#define QT_SOCKLEN_T int - -#define QT_SNPRINTF ::snprintf -#define QT_VSNPRINTF ::vsnprintf - -#endif // QPLATFORMDEFS_H diff --git a/mkspecs/tru64-cxx/qmake.conf b/mkspecs/tru64-cxx/qmake.conf deleted file mode 100644 index 87dabfb7e1..0000000000 --- a/mkspecs/tru64-cxx/qmake.conf +++ /dev/null @@ -1,69 +0,0 @@ -# -# qmake configuration for tru64-cxx -# - -MAKEFILE_GENERATOR = UNIX -QMAKE_PLATFORM = tru64 - -include(../common/unix.conf) - -QMAKE_COMPILER = dec_cc - -QMAKE_CC = cc -QMAKE_LEX = flex -QMAKE_LEXFLAGS = -QMAKE_YACC = yacc -QMAKE_YACCFLAGS = -d -QMAKE_CFLAGS = -QMAKE_CFLAGS_DEPS = -M -QMAKE_CFLAGS_WARN_ON = -QMAKE_CFLAGS_WARN_OFF = -QMAKE_CFLAGS_RELEASE = -O2 -QMAKE_CFLAGS_DEBUG = -g -QMAKE_CFLAGS_SHLIB = -QMAKE_CFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_SHLIB -QMAKE_CFLAGS_YACC = -Olimit 1000 -QMAKE_CFLAGS_THREAD = -pthread - -QMAKE_CXX = cxx -QMAKE_CXXFLAGS = -x cxx -model ansi $$QMAKE_CFLAGS -QMAKE_CXXFLAGS_DEPS = $$QMAKE_CFLAGS_DEPS -QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON -QMAKE_CXXFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF -QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE -QMAKE_CXXFLAGS_DEBUG = $$QMAKE_CFLAGS_DEBUG -QMAKE_CXXFLAGS_SHLIB = $$QMAKE_CFLAGS_SHLIB -QMAKE_CXXFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_STATIC_LIB -QMAKE_CXXFLAGS_YACC = $$QMAKE_CFLAGS_YACC -QMAKE_CXXFLAGS_THREAD = $$QMAKE_CFLAGS_THREAD - -QMAKE_INCDIR = -QMAKE_LIBDIR = -QMAKE_INCDIR_X11 = -QMAKE_LIBDIR_X11 = -QMAKE_INCDIR_OPENGL = -QMAKE_LIBDIR_OPENGL = - -QMAKE_LINK = cxx -QMAKE_LINK_SHLIB = cxx -QMAKE_LFLAGS = -model ansi -QMAKE_LFLAGS_RELEASE = -QMAKE_LFLAGS_DEBUG = -QMAKE_LFLAGS_SHLIB = -shared -QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB -QMAKE_LFLAGS_THREAD = -pthread -QMAKE_LFLAGS_SONAME = -soname$$LITERAL_WHITESPACE -QMAKE_LFLAGS_RPATH = -rpath$$LITERAL_WHITESPACE - -QMAKE_LIBS = -lm -QMAKE_LIBS_DYNLOAD = -QMAKE_LIBS_X11 = -lXext -lX11 -QMAKE_LIBS_OPENGL = -lGL -QMAKE_LIBS_THREAD = -lrt - -QMAKE_AR = ar cqs -QMAKE_OBJCOPY = objcopy -QMAKE_NM = nm -P -QMAKE_RANLIB = - -load(qt_config) diff --git a/mkspecs/tru64-cxx/qplatformdefs.h b/mkspecs/tru64-cxx/qplatformdefs.h deleted file mode 100644 index f0eadf8566..0000000000 --- a/mkspecs/tru64-cxx/qplatformdefs.h +++ /dev/null @@ -1,107 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the qmake spec 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 The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/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 3 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL3 included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 3 requirements -** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 2.0 or (at your option) the GNU General -** Public license version 3 or any later version approved by the KDE Free -** Qt Foundation. The licenses are as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-2.0.html and -** https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef QPLATFORMDEFS_H -#define QPLATFORMDEFS_H - -// Get Qt defines/settings - -#include "qglobal.h" - -// Set any POSIX/XOPEN defines at the top of this file to turn on specific APIs - -#include - - -// We are hot - unistd.h should have turned on the specific APIs we requested - - -#ifndef QT_NO_THREAD -#include -#endif -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#ifndef QT_NO_IPV6IFNAME -#include -#endif - -#define QT_NO_USE_FSEEKO -#include "../common/posix/qplatformdefs.h" - -#undef QT_OFF_T -#undef QT_SOCKLEN_T - -#define QT_OFF_T off_t - -#if defined(_POSIX_PII_SOCKET) -#define QT_SOCKLEN_T socklen_t -#elif defined(_XOPEN_SOURCE_EXTENDED) -#define QT_SOCKLEN_T size_t -#else -#define QT_SOCKLEN_T int -#endif - -#if defined(_XOPEN_SOURCE) && defined(_OSF_SOURCE) -// Not available in the header file of Tru64 4.0F. -// Fixed in the header of Tru64 5.0A so we copy/paste from there... -extern "C" int usleep(useconds_t); -#endif - -#if defined(_XOPEN_SOURCE) && (_XOPEN_SOURCE-0 >= 400) -// Tru64 5.0 and better -#define QT_SNPRINTF ::snprintf -#define QT_VSNPRINTF ::vsnprintf -#endif - -#endif // QPLATFORMDEFS_H diff --git a/mkspecs/tru64-g++/qmake.conf b/mkspecs/tru64-g++/qmake.conf deleted file mode 100644 index c31eccca3e..0000000000 --- a/mkspecs/tru64-g++/qmake.conf +++ /dev/null @@ -1,71 +0,0 @@ -# -# qmake configuration for tru64-g++ -# - -MAKEFILE_GENERATOR = UNIX -QMAKE_PLATFORM = tru64 - -include(../common/unix.conf) - -QMAKE_COMPILER = gcc - -QMAKE_CC = gcc -QMAKE_LEX = flex -QMAKE_LEXFLAGS = -QMAKE_YACC = yacc -QMAKE_YACCFLAGS = -d -QMAKE_CFLAGS = -QMAKE_CFLAGS_DEPS = -M -QMAKE_CFLAGS_WARN_ON = -Wall -W -QMAKE_CFLAGS_WARN_OFF = -w -QMAKE_CFLAGS_RELEASE = -O2 -QMAKE_CFLAGS_DEBUG = -g -QMAKE_CFLAGS_SHLIB = -fPIC -QMAKE_CFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_SHLIB -QMAKE_CFLAGS_YACC = -Wno-unused -Wno-parentheses -QMAKE_CFLAGS_THREAD = -D_REENTRANT - -QMAKE_CXX = g++ -QMAKE_CXXFLAGS = $$QMAKE_CFLAGS -QMAKE_CXXFLAGS_DEPS = $$QMAKE_CFLAGS_DEPS -QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON -QMAKE_CXXFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF -QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE -QMAKE_CXXFLAGS_DEBUG = $$QMAKE_CFLAGS_DEBUG -QMAKE_CXXFLAGS_SHLIB = $$QMAKE_CFLAGS_SHLIB -QMAKE_CXXFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_STATIC_LIB -QMAKE_CXXFLAGS_YACC = $$QMAKE_CFLAGS_YACC -QMAKE_CXXFLAGS_THREAD = $$QMAKE_CFLAGS_THREAD - -QMAKE_INCDIR = -QMAKE_LIBDIR = -QMAKE_INCDIR_X11 = -QMAKE_LIBDIR_X11 = -QMAKE_INCDIR_OPENGL = -QMAKE_LIBDIR_OPENGL = - -QMAKE_LINK = g++ -QMAKE_LINK_SHLIB = g++ -QMAKE_LINK_C = gcc -QMAKE_LINK_C_SHLIB = gcc -QMAKE_LFLAGS = -QMAKE_LFLAGS_RELEASE = -QMAKE_LFLAGS_DEBUG = -QMAKE_LFLAGS_SHLIB = -shared -QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB -QMAKE_LFLAGS_THREAD = -QMAKE_LFLAGS_SONAME = -Wl,-soname, -QMAKE_LFLAGS_RPATH = -Wl,-rpath, - -QMAKE_LIBS = -QMAKE_LIBS_DYNLOAD = -QMAKE_LIBS_X11 = -lXext -lX11 -lm -QMAKE_LIBS_OPENGL = -lGL -QMAKE_LIBS_THREAD = -lpthread -lexc -lrt - -QMAKE_AR = ar cqs -QMAKE_OBJCOPY = objcopy -QMAKE_NM = nm -P -QMAKE_RANLIB = - -load(qt_config) diff --git a/mkspecs/tru64-g++/qplatformdefs.h b/mkspecs/tru64-g++/qplatformdefs.h deleted file mode 100644 index f0eadf8566..0000000000 --- a/mkspecs/tru64-g++/qplatformdefs.h +++ /dev/null @@ -1,107 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the qmake spec 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 The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/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 3 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL3 included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 3 requirements -** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 2.0 or (at your option) the GNU General -** Public license version 3 or any later version approved by the KDE Free -** Qt Foundation. The licenses are as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-2.0.html and -** https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef QPLATFORMDEFS_H -#define QPLATFORMDEFS_H - -// Get Qt defines/settings - -#include "qglobal.h" - -// Set any POSIX/XOPEN defines at the top of this file to turn on specific APIs - -#include - - -// We are hot - unistd.h should have turned on the specific APIs we requested - - -#ifndef QT_NO_THREAD -#include -#endif -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#ifndef QT_NO_IPV6IFNAME -#include -#endif - -#define QT_NO_USE_FSEEKO -#include "../common/posix/qplatformdefs.h" - -#undef QT_OFF_T -#undef QT_SOCKLEN_T - -#define QT_OFF_T off_t - -#if defined(_POSIX_PII_SOCKET) -#define QT_SOCKLEN_T socklen_t -#elif defined(_XOPEN_SOURCE_EXTENDED) -#define QT_SOCKLEN_T size_t -#else -#define QT_SOCKLEN_T int -#endif - -#if defined(_XOPEN_SOURCE) && defined(_OSF_SOURCE) -// Not available in the header file of Tru64 4.0F. -// Fixed in the header of Tru64 5.0A so we copy/paste from there... -extern "C" int usleep(useconds_t); -#endif - -#if defined(_XOPEN_SOURCE) && (_XOPEN_SOURCE-0 >= 400) -// Tru64 5.0 and better -#define QT_SNPRINTF ::snprintf -#define QT_VSNPRINTF ::vsnprintf -#endif - -#endif // QPLATFORMDEFS_H diff --git a/mkspecs/unixware-cc/qmake.conf b/mkspecs/unixware-cc/qmake.conf deleted file mode 100644 index 1a36a3e76b..0000000000 --- a/mkspecs/unixware-cc/qmake.conf +++ /dev/null @@ -1,74 +0,0 @@ -# -# qmake configuration for unixware-cc -# -# Written for UnixWare 7 with UDK or OUDK -# -# -Wf,--diag_suppress,838 -# turns off warning about missing return types in X headers -# - -MAKEFILE_GENERATOR = UNIX -QMAKE_PLATFORM = unixware - -include(../common/unix.conf) - -QMAKE_COMPILER = sco_cc - -QMAKE_CC = cc -QMAKE_LEX = flex -QMAKE_LEXFLAGS = -QMAKE_YACC = yacc -QMAKE_YACCFLAGS = -d -QMAKE_CFLAGS = -QMAKE_CFLAGS_WARN_ON = -QMAKE_CFLAGS_WARN_OFF = -w -QMAKE_CFLAGS_RELEASE = -O -QMAKE_CFLAGS_DEBUG = -g -QMAKE_CFLAGS_SHLIB = -KPIC -QMAKE_CFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_SHLIB -QMAKE_CFLAGS_YACC = -Wf,--diag_suppress,111 -Wf,--diag_suppress,177 -QMAKE_CFLAGS_THREAD = -Kthread - -QMAKE_CXX = CC -QMAKE_CXXFLAGS = $$QMAKE_CFLAGS -Wf,--display_error_number -Wf,--diag_suppress,838 -QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON -QMAKE_CXXFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF -QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE -Tused -QMAKE_CXXFLAGS_DEBUG = $$QMAKE_CFLAGS_DEBUG -QMAKE_CXXFLAGS_SHLIB = $$QMAKE_CFLAGS_SHLIB -QMAKE_CXXFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_STATIC_LIB -QMAKE_CXXFLAGS_YACC = $$QMAKE_CFLAGS_YACC -QMAKE_CXXFLAGS_THREAD = $$QMAKE_CFLAGS_THREAD - -QMAKE_INCDIR = -QMAKE_LIBDIR = -QMAKE_INCDIR_X11 = -QMAKE_LIBDIR_X11 = /usr/X/lib -QMAKE_INCDIR_OPENGL = -QMAKE_LIBDIR_OPENGL = - -QMAKE_LINK = CC -QMAKE_LINK_SHLIB = CC -QMAKE_LFLAGS = -QMAKE_LFLAGS_RELEASE = -QMAKE_LFLAGS_DEBUG = -QMAKE_LFLAGS_SHLIB = -G -QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB -QMAKE_LFLAGS_SONAME = -h$$LITERAL_WHITESPACE -QMAKE_LFLAGS_THREAD = -Kthread -QMAKE_LFLAGS_RPATH = -R - -QMAKE_LIBS = -QMAKE_LIBS_DYNLOAD = -ldl -QMAKE_LIBS_X11 = -lXext -lX11 -lresolv -lsocket -lnsl -lm - -QMAKE_LIBS_OPENGL = -lGL -lXt - -QMAKE_LIBS_THREAD = - -QMAKE_AR = ar cq -QMAKE_OBJCOPY = objcopy -QMAKE_NM = nm -P -QMAKE_RANLIB = - -load(qt_config) diff --git a/mkspecs/unixware-cc/qplatformdefs.h b/mkspecs/unixware-cc/qplatformdefs.h deleted file mode 100644 index 036a9aa5bd..0000000000 --- a/mkspecs/unixware-cc/qplatformdefs.h +++ /dev/null @@ -1,89 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the qmake spec 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 The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/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 3 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL3 included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 3 requirements -** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 2.0 or (at your option) the GNU General -** Public license version 3 or any later version approved by the KDE Free -** Qt Foundation. The licenses are as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-2.0.html and -** https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef QPLATFORMDEFS_H -#define QPLATFORMDEFS_H - -// Get Qt defines/settings - -#include "qglobal.h" - -// Set any POSIX/XOPEN defines at the top of this file to turn on specific APIs - -#include - - -// We are hot - unistd.h should have turned on the specific APIs we requested - - -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#ifndef QT_NO_IPV6IFNAME -#include -#endif - -#define QT_NO_USE_FSEEKO -#include "../common/posix/qplatformdefs.h" - -#undef QT_OFF_T -#undef QT_SOCKLEN_T - -#define QT_OFF_T off_t -#define QT_SOCKLEN_T size_t - -#define QT_SNPRINTF ::snprintf -#define QT_VSNPRINTF ::vsnprintf - -#endif // QPLATFORMDEFS_H diff --git a/mkspecs/unixware-g++/qmake.conf b/mkspecs/unixware-g++/qmake.conf deleted file mode 100644 index abe2773deb..0000000000 --- a/mkspecs/unixware-g++/qmake.conf +++ /dev/null @@ -1,73 +0,0 @@ -# -# qmake configuration for unixware-g++ -# -# Written for UnixWare 7 with OSTK -# - -MAKEFILE_GENERATOR = UNIX -QMAKE_PLATFORM = unixware - -include(../common/unix.conf) - -QMAKE_COMPILER = gcc - -QMAKE_CC = gcc -QMAKE_LEX = flex -QMAKE_LEXFLAGS = -QMAKE_YACC = yacc -QMAKE_YACCFLAGS = -d -QMAKE_CFLAGS = -QMAKE_CFLAGS_DEPS = -M -QMAKE_CFLAGS_WARN_ON = -Wall -W -QMAKE_CFLAGS_WARN_OFF = -w -QMAKE_CFLAGS_RELEASE = -O2 -QMAKE_CFLAGS_DEBUG = -g -QMAKE_CFLAGS_SHLIB = -fPIC -QMAKE_CFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_SHLIB -QMAKE_CFLAGS_YACC = -Wno-unused -Wno-parentheses -QMAKE_CFLAGS_THREAD = - -QMAKE_CXX = g++ -QMAKE_CXXFLAGS = $$QMAKE_CFLAGS -QMAKE_CXXFLAGS_DEPS = $$QMAKE_CFLAGS_DEPS -QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON -QMAKE_CXXFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF -QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE -QMAKE_CXXFLAGS_DEBUG = $$QMAKE_CFLAGS_DEBUG -QMAKE_CXXFLAGS_SHLIB = $$QMAKE_CFLAGS_SHLIB -QMAKE_CXXFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_STATIC_LIB -QMAKE_CXXFLAGS_YACC = $$QMAKE_CFLAGS_YACC -QMAKE_CXXFLAGS_THREAD = $$QMAKE_CFLAGS_THREAD - -QMAKE_INCDIR = -QMAKE_LIBDIR = -QMAKE_INCDIR_X11 = -QMAKE_LIBDIR_X11 = /usr/X/lib -QMAKE_INCDIR_OPENGL = -QMAKE_LIBDIR_OPENGL = - -QMAKE_LINK = g++ -QMAKE_LINK_SHLIB = g++ -QMAKE_LINK_C = gcc -QMAKE_LINK_C_SHLIB = gcc -QMAKE_LFLAGS = -QMAKE_LFLAGS_RELEASE = -QMAKE_LFLAGS_DEBUG = -QMAKE_LFLAGS_SHLIB = -shared -QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB -QMAKE_LFLAGS_SONAME = -QMAKE_LFLAGS_THREAD = -QMAKE_LFLAGS_RPATH = -Wl,-R, - -QMAKE_LIBS = -QMAKE_LIBS_DYNLOAD = -ldl -QMAKE_LIBS_X11 = -lXext -lX11 -lresolv -lsocket -lnsl -lm -QMAKE_LIBS_OPENGL = -lGL -lXt -QMAKE_LIBS_THREAD = -lthread - -QMAKE_AR = ar cq -QMAKE_OBJCOPY = objcopy -QMAKE_NM = nm -P -QMAKE_RANLIB = - -load(qt_config) diff --git a/mkspecs/unixware-g++/qplatformdefs.h b/mkspecs/unixware-g++/qplatformdefs.h deleted file mode 100644 index 036a9aa5bd..0000000000 --- a/mkspecs/unixware-g++/qplatformdefs.h +++ /dev/null @@ -1,89 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the qmake spec 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 The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/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 3 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL3 included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 3 requirements -** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 2.0 or (at your option) the GNU General -** Public license version 3 or any later version approved by the KDE Free -** Qt Foundation. The licenses are as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-2.0.html and -** https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef QPLATFORMDEFS_H -#define QPLATFORMDEFS_H - -// Get Qt defines/settings - -#include "qglobal.h" - -// Set any POSIX/XOPEN defines at the top of this file to turn on specific APIs - -#include - - -// We are hot - unistd.h should have turned on the specific APIs we requested - - -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#ifndef QT_NO_IPV6IFNAME -#include -#endif - -#define QT_NO_USE_FSEEKO -#include "../common/posix/qplatformdefs.h" - -#undef QT_OFF_T -#undef QT_SOCKLEN_T - -#define QT_OFF_T off_t -#define QT_SOCKLEN_T size_t - -#define QT_SNPRINTF ::snprintf -#define QT_VSNPRINTF ::vsnprintf - -#endif // QPLATFORMDEFS_H -- cgit v1.2.3 From 851b39a6d675552e2fc70c75652ffc04bcc1a2ed Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Sun, 16 Apr 2017 09:52:44 -0700 Subject: Update detection of $DESKTOP_SESSION I don't know how widespread this use is, but apparently sddm seems to set DESKTOP_SESSION to be the .desktop file that it used to launch the session (minus the .desktop extension). In that case, we should read the DesktopName entry from the file to get the actual desktop type. And since the desktop detection from QGenericUnixServices should suffice, we don't need to repeat the same code in QGenericUnixThemes. Change-Id: I0e1a09998253489388abfffd14b5eeefbd7fe740 Reviewed-by: J-P Nurmi --- .../services/genericunix/qgenericunixservices.cpp | 28 ++++++++++++++++++---- .../themes/genericunix/qgenericunixthemes.cpp | 8 ++++--- 2 files changed, 29 insertions(+), 7 deletions(-) diff --git a/src/platformsupport/services/genericunix/qgenericunixservices.cpp b/src/platformsupport/services/genericunix/qgenericunixservices.cpp index dee983264d..cdb5d33859 100644 --- a/src/platformsupport/services/genericunix/qgenericunixservices.cpp +++ b/src/platformsupport/services/genericunix/qgenericunixservices.cpp @@ -40,12 +40,14 @@ #include "qgenericunixservices_p.h" #include -#include +#include +#include #if QT_CONFIG(process) # include #endif +#include +#include #include -#include #include @@ -68,11 +70,29 @@ static inline QByteArray detectDesktopEnvironment() return QByteArrayLiteral("GNOME"); // Fallback to checking $DESKTOP_SESSION (unreliable) - const QByteArray desktopSession = qgetenv("DESKTOP_SESSION"); + QByteArray desktopSession = qgetenv("DESKTOP_SESSION"); + + // This can be a path in /usr/share/xsessions + int slash = desktopSession.lastIndexOf('/'); + if (slash != -1) { +#ifndef QT_NO_SETTINGS + QSettings desktopFile(QFile::decodeName(desktopSession + ".desktop"), QSettings::IniFormat); + desktopFile.beginGroup(QStringLiteral("Desktop Entry")); + QByteArray desktopName = desktopFile.value(QStringLiteral("DesktopNames")).toByteArray(); + if (!desktopName.isEmpty()) + return desktopName; +#endif + + // try decoding just the basename + desktopSession = desktopSession.mid(slash + 1); + } + if (desktopSession == "gnome") return QByteArrayLiteral("GNOME"); - if (desktopSession == "xfce") + else if (desktopSession == "xfce") return QByteArrayLiteral("XFCE"); + else if (desktopSession == "kde") + return QByteArrayLiteral("KDE"); return QByteArrayLiteral("UNKNOWN"); } diff --git a/src/platformsupport/themes/genericunix/qgenericunixthemes.cpp b/src/platformsupport/themes/genericunix/qgenericunixthemes.cpp index e9116223bd..8dfae2ca0b 100644 --- a/src/platformsupport/themes/genericunix/qgenericunixthemes.cpp +++ b/src/platformsupport/themes/genericunix/qgenericunixthemes.cpp @@ -824,11 +824,13 @@ QStringList QGenericUnixTheme::themeNames() result.push_back(QStringLiteral("gtk3")); // fallback to the generic Gnome theme if loading the GTK3 theme fails result.push_back(QLatin1String(QGnomeTheme::name)); + } else { + // unknown, but lowercase the name (our standard practice) and + // remove any "x-" prefix + QString s = QString::fromLatin1(desktopName.toLower()); + result.push_back(s.startsWith(QLatin1String("x-")) ? s.mid(2) : s); } } - const QString session = QString::fromLocal8Bit(qgetenv("DESKTOP_SESSION")); - if (!session.isEmpty() && session != QLatin1String("default") && !result.contains(session)) - result.push_back(session); } // desktopSettingsAware result.append(QLatin1String(QGenericUnixTheme::name)); return result; -- cgit v1.2.3 From 82c06fb0f545f379e088cf24929fcf954686c5c2 Mon Sep 17 00:00:00 2001 From: Allan Sandfeld Jensen Date: Wed, 12 Apr 2017 15:25:40 +0200 Subject: Fix return of empty paths with multiple points on intersections The intersection algorithm for intersection with rects, might return one edge of the rect even if that edge does not intersect with the path. To deal with that we collapse paths with empty bounding rects to the empty path. Task-number: QTBUG-60024 Change-Id: I3e305983c66548e772d7d7ce3de99d715edbdd1b Reviewed-by: Eirik Aavitsland --- src/gui/painting/qpathclipper.cpp | 7 +- .../gui/painting/qpathclipper/tst_qpathclipper.cpp | 255 +++++++++++++++++++++ 2 files changed, 261 insertions(+), 1 deletion(-) diff --git a/src/gui/painting/qpathclipper.cpp b/src/gui/painting/qpathclipper.cpp index addd9c0c2c..924d332452 100644 --- a/src/gui/painting/qpathclipper.cpp +++ b/src/gui/painting/qpathclipper.cpp @@ -2096,7 +2096,12 @@ QPainterPath intersectPath(const QPainterPath &path, const QRectF &rect) result.addPath(subPath); } } - return result; + // The algorithm above might return one side of \a rect if there was no intersection, + // so only return intersections that are not empty rectangles. + if (result.boundingRect().isEmpty()) + return QPainterPath(); + else + return result; } } diff --git a/tests/auto/gui/painting/qpathclipper/tst_qpathclipper.cpp b/tests/auto/gui/painting/qpathclipper/tst_qpathclipper.cpp index e3f8f0fbac..14ba9c5c84 100644 --- a/tests/auto/gui/painting/qpathclipper/tst_qpathclipper.cpp +++ b/tests/auto/gui/painting/qpathclipper/tst_qpathclipper.cpp @@ -84,6 +84,7 @@ private slots: void task251909(); void qtbug3778(); + void qtbug60024(); }; Q_DECLARE_METATYPE(QPainterPath) @@ -1293,6 +1294,260 @@ void tst_QPathClipper::qtbug3778() QVERIFY(p12.contains(QPointF(100, 100))); } +void tst_QPathClipper::qtbug60024() +{ + QPolygonF poly1, poly2; + poly1 << QPointF(508.331,1010.23) ; + poly1 << QPointF(492.798,1023.11) ; + poly1 << QPointF(491.431,1024.23) ; + poly1 << QPointF(491.928,1022.94) ; + poly1 << QPointF(492.054,1022.15) ; + poly1 << QPointF(492.136,1020.91) ; + poly1 << QPointF(491.638,1019.2) ; + poly1 << QPointF(490.436,1017.12) ; + poly1 << QPointF(489.856,1016.46) ; + poly1 << QPointF(489.276,1016.08) ; + poly1 << QPointF(488.16,1015.54) ; + poly1 << QPointF(487.33,1014.91) ; + poly1 << QPointF(486.914,1014.16) ; + poly1 << QPointF(486.875,1013.54) ; + poly1 << QPointF(487.204,1012.38) ; + poly1 << QPointF(487.412,1011.34) ; + poly1 << QPointF(487.373,1009.92) ; + poly1 << QPointF(487.702,1007.34) ; + poly1 << QPointF(487.909,1006.3) ; + poly1 << QPointF(488.242,1005.55) ; + poly1 << QPointF(488.74,1004.14) ; + poly1 << QPointF(489.445,1003.14) ; + poly1 << QPointF(490.107,1001.56) ; + poly1 << QPointF(490.064,1000.98) ; + poly1 << QPointF(489.566,999.936) ; + poly1 << QPointF(488.489,998.194) ; + poly1 << QPointF(488.117,997.274) ; + poly1 << QPointF(487.909,995.946) ; + poly1 << QPointF(487.909,995.027) ; + poly1 << QPointF(488.117,993.16) ; + poly1 << QPointF(488.658,989.749) ; + poly1 << QPointF(488.861,987.002) ; + poly1 << QPointF(489.359,976.434) ; + poly1 << QPointF(489.484,974.476) ; + poly1 << QPointF(489.484,972.859) ; + poly1 << QPointF(489.359,971.775) ; + poly1 << QPointF(489.151,970.986) ; + poly1 << QPointF(488.948,969.323) ; + poly1 << QPointF(488.74,966.036) ; + poly1 << QPointF(488.74,964.118) ; + poly1 << QPointF(489.03,961.292) ; + poly1 << QPointF(489.237,960.667) ; + poly1 << QPointF(489.648,960.043) ; + poly1 << QPointF(490.452,959.229) ; + poly1 << QPointF(491.528,958.225) ; + poly1 << QPointF(491.731,957.515) ; + poly1 << QPointF(491.32,956.812) ; + poly1 << QPointF(490.45,955.852) ; + poly1 << QPointF(489.412,954.354) ; + poly1 << QPointF(488.68,952.934) ; + poly1 << QPointF(488.625,951.201) ; + poly1 << QPointF(488.954,950.072) ; + poly1 << QPointF(489.237,949.225) ; + poly1 << QPointF(489.256,948.668) ; + poly1 << QPointF(489.402,948.186) ; + poly1 << QPointF(489.566,947.437) ; + poly1 << QPointF(490.025,945.899) ; + poly1 << QPointF(490.687,944.026) ; + poly1 << QPointF(491.059,942.073) ; + poly1 << QPointF(491.31,941.159) ; + poly1 << QPointF(491.846,937.248) ; + poly1 << QPointF(492.054,936.374) ; + poly1 << QPointF(492.594,935.29) ; + poly1 << QPointF(492.594,935.086) ; + poly1 << QPointF(492.261,934.416) ; + poly1 << QPointF(492.054,933.377) ; + poly1 << QPointF(492.054,932.628) ; + poly1 << QPointF(492.798,929.217) ; + poly1 << QPointF(493.174,928.217) ; + poly1 << QPointF(493.005,927.514) ; + poly1 << QPointF(492.923,926.719) ; + poly1 << QPointF(493.295,921.44) ; + poly1 << QPointF(493.421,919.771) ; + poly1 << QPointF(493.628,914.492) ; + poly1 << QPointF(493.71,913.158) ; + poly1 << QPointF(493.961,910.831) ; + poly1 << QPointF(494.623,909.247) ; + poly1 << QPointF(495.41,906.085) ; + poly1 << QPointF(495.203,905.421) ; + poly1 << QPointF(494.788,904.632) ; + poly1 << QPointF(494.705,904.297) ; + poly1 << QPointF(494.788,903.797) ; + poly1 << QPointF(495.121,902.844) ; + poly1 << QPointF(495.493,902.055) ; + poly1 << QPointF(496.033,900.556) ; + poly1 << QPointF(496.28,900.096) ; + poly1 << QPointF(496.488,899.222) ; + poly1 << QPointF(496.28,898.723) ; + poly1 << QPointF(495.41,898.098) ; + poly1 << QPointF(494.326,898.084) ; + poly1 << QPointF(493.993,897.42) ; + poly1 << QPointF(493.829,896.67) ; + poly1 << QPointF(493.621,894.962) ; + poly1 << QPointF(493.565,893.93) ; + poly1 << QPointF(494.416,893.358) ; + poly1 << QPointF(501.666,887.435) ; + poly1 << QPointF(513.305,877.908) ; + poly1 << QPointF(523.795,869.356) ; + poly1 << QPointF(603.378,804.221) ; + poly1 << QPointF(618.764,791.762) ; + poly1 << QPointF(618.981,791.584) ; + poly1 << QPointF(634.696,778.743) ; + poly1 << QPointF(673.531,747.007) ; + poly1 << QPointF(726.115,704.031) ; + poly1 << QPointF(759.04,677.12) ; + poly1 << QPointF(759.672,676.62) ; + poly1 << QPointF(778.846,660.773) ; + poly1 << QPointF(789.919,651.709) ; + poly1 << QPointF(810.528,634.696) ; + poly1 << QPointF(810.804,634.468) ; + poly1 << QPointF(818.197,628.365) ; + poly1 << QPointF(826.44,621.505) ; + poly1 << QPointF(832.634,616.351) ; + poly1 << QPointF(835.337,614.05) ; + poly1 << QPointF(835.492,613.931) ; + poly1 << QPointF(852.079,600.176) ; + poly1 << QPointF(860.469,593.219) ; + poly1 << QPointF(869.883,585.411) ; + poly1 << QPointF(896.749,563.131) ; + poly1 << QPointF(922.094,542.111) ; + poly1 << QPointF(936.469,530.189) ; + poly1 << QPointF(990.034,485.759) ; + poly1 << QPointF(1001.65,476.123) ; + poly1 << QPointF(1010.87,468.472) ; + poly1 << QPointF(1028.6,453.769) ; + poly1 << QPointF(1095.89,397.341) ; + poly1 << QPointF(1130.52,368.297) ; + poly1 << QPointF(1135.05,364.497) ; + poly1 << QPointF(1123.55,337.582) ; + poly1 << QPointF(1103.42,290.476) ; + poly1 << QPointF(1095.21,271.259) ; + poly1 << QPointF(1068.04,207.66) ; + poly1 << QPointF(1051.62,169.118) ; + poly1 << QPointF(1038.65,138.708) ; + poly1 << QPointF(1027.81,113.269) ; + poly1 << QPointF(1020.97,97.2145) ; + poly1 << QPointF(1010.84,73.4644) ; + poly1 << QPointF(988.424,20.9198) ; + poly1 << QPointF(968.442,-25.9307) ; + poly1 << QPointF(964.63,-34.8693) ; + poly1 << QPointF(961.883,-41.3111) ; + poly1 << QPointF(953.157,-61.929) ; + poly1 << QPointF(949.712,-70.0717) ; + poly1 << QPointF(946.048,-78.7331) ; + poly1 << QPointF(945.789,-79.3443) ; + poly1 << QPointF(945.548,-79.9146) ; + poly1 << QPointF(941.671,-89.0782) ; + poly1 << QPointF(940.408,-92.0616) ; + poly1 << QPointF(940.095,-92.8021) ; + poly1 << QPointF(938.65,-97.1094) ; + poly1 << QPointF(934.565,-106.581) ; + poly1 << QPointF(928.429,-121.542) ; + poly1 << QPointF(928.24,-122.003) ; + poly1 << QPointF(920.902,-139.241) ; + poly1 << QPointF(910.85,-162.115) ; + poly1 << QPointF(910.744,-162.357) ; + poly1 << QPointF(900.875,-186.271) ; + poly1 << QPointF(889.416,-213.089) ; + poly1 << QPointF(883.705,-226.225) ; + poly1 << QPointF(882.788,-228.422) ; + poly1 << QPointF(881.399,-231.753) ; + poly1 << QPointF(880.373,-234.213) ; + poly1 << QPointF(875.788,-245.204) ; + poly1 << QPointF(872.772,-252.085) ; + poly1 << QPointF(869.686,-259.126) ; + poly1 << QPointF(865.607,-268.43) ; + poly1 << QPointF(868.74,-269.605) ; + poly1 << QPointF(869.315,-269.834) ; + poly1 << QPointF(879.443,-273.853) ; + poly1 << QPointF(880.259,-274.217) ; + poly1 << QPointF(888.958,-278.09) ; + poly1 << QPointF(894.204,-280.426) ; + poly1 << QPointF(902.866,-284.423) ; + poly1 << QPointF(913.804,-289.072) ; + poly1 << QPointF(917.975,-290.846) ; + poly1 << QPointF(921.854,-292.375) ; + poly1 << QPointF(930.52,-295.793) ; + poly1 << QPointF(939.972,-299.79) ; + poly1 << QPointF(940.899,-300.183) ; + poly1 << QPointF(943.262,-294.709) ; + poly1 << QPointF(946.922,-286.233) ; + poly1 << QPointF(952.358,-273.643) ; + poly1 << QPointF(959.976,-256) ; + poly1 << QPointF(975.219,-220.296) ; + poly1 << QPointF(988.991,-188.494) ; + poly1 << QPointF(990.089,-185.959) ; + poly1 << QPointF(1001.86,-158.88) ; + poly1 << QPointF(1003.8,-154.245) ; + poly1 << QPointF(1011.55,-135.749) ; + poly1 << QPointF(1012.2,-134.199) ; + poly1 << QPointF(1012.77,-132.837) ; + poly1 << QPointF(1015.9,-125.529) ; + poly1 << QPointF(1015.99,-125.305) ; + poly1 << QPointF(1016.42,-124.299) ; + poly1 << QPointF(1018.02,-120.569) ; + poly1 << QPointF(1018.47,-119.395) ; + poly1 << QPointF(1028.09,-97.0593) ; + poly1 << QPointF(1028.89,-95.1902) ; + poly1 << QPointF(1032.85,-85.957) ; + poly1 << QPointF(1044.48,-58.8103) ; + poly1 << QPointF(1047.23,-52.3933) ; + poly1 << QPointF(1076.35,15.5527) ; + poly1 << QPointF(1089.43,46.0648) ; + poly1 << QPointF(1105.35,83.1913) ; + poly1 << QPointF(1120.01,117.391) ; + poly1 << QPointF(1131.66,144.66) ; + poly1 << QPointF(1142.1,169.072) ; + poly1 << QPointF(1183.42,265.698) ; + poly1 << QPointF(1200.9,306.583) ; + poly1 << QPointF(1208.48,324.306) ; + poly1 << QPointF(1231.19,377.389) ; + poly1 << QPointF(1241.55,400.064) ; + poly1 << QPointF(1139.56,485.759) ; + poly1 << QPointF(1104.96,514.822) ; + poly1 << QPointF(1044.32,565.761) ; + poly1 << QPointF(1020.92,585.411) ; + poly1 << QPointF(1013.72,591.462) ; + poly1 << QPointF(1012.73,592.285) ; + poly1 << QPointF(926.449,663.776) ; + poly1 << QPointF(843.981,732.099) ; + poly1 << QPointF(826.923,746.23) ; + poly1 << QPointF(810.856,759.539) ; + poly1 << QPointF(736.788,820.887) ; + poly1 << QPointF(709.695,843.348) ; + poly1 << QPointF(693.265,856.967) ; + poly1 << QPointF(690.228,859.484) ; + poly1 << QPointF(673.813,873.091) ; + poly1 << QPointF(672.34,874.317) ; + poly1 << QPointF(618.453,919.164) ; + poly1 << QPointF(607.821,928.011) ; + poly1 << QPointF(596.057,937.538) ; + poly1 << QPointF(580.774,950.204) ; + poly1 << QPointF(573.229,956.457) ; + poly1 << QPointF(533.091,989.719) ; + poly1 << QPointF(513.657,1005.86) ; + poly1 << QPointF(508.331,1010.23) ; + + poly2 << QPointF(941.306,435.236) ; + poly2 << QPointF(983.306,435.236) ; + poly2 << QPointF(983.306,473.236) ; + poly2 << QPointF(941.306,473.236) ; + poly2 << QPointF(941.306,435.236) ; + + QPainterPath path1, path2; + path1.addPolygon(poly1); + path2.addPolygon(poly2); + + QVERIFY(!path1.intersects(path2)); + QVERIFY(path1.intersected(path2).isEmpty()); +} + QTEST_MAIN(tst_QPathClipper) -- cgit v1.2.3 From 9b8a7de7946c6fa32d72fef37aa18a59054208d7 Mon Sep 17 00:00:00 2001 From: Tasuku Suzuki Date: Wed, 26 Apr 2017 10:03:52 +0900 Subject: Fix build without features.style-stylesheet Change-Id: Ib7cf5db6c9a49e7f359410bc0ec3d1ceadcde5cf Reviewed-by: Stephan Binner Reviewed-by: Paul Olav Tvete --- src/widgets/widgets/qmenu.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/widgets/widgets/qmenu.cpp b/src/widgets/widgets/qmenu.cpp index d62c010c60..4a3291b2ca 100644 --- a/src/widgets/widgets/qmenu.cpp +++ b/src/widgets/widgets/qmenu.cpp @@ -130,7 +130,7 @@ public: setAttribute(Qt::WA_X11NetWmWindowTypeMenu, true); updateWindowTitle(); setEnabled(p->isEnabled()); -#if QT_CONFIG(cssparser) +#if QT_CONFIG(style_stylesheet) setStyleSheet(p->styleSheet()); #endif if (style() != p->style()) -- cgit v1.2.3 From 5106d496f3bc3a341455c660b42461430e948c09 Mon Sep 17 00:00:00 2001 From: Gatis Paeglis Date: Fri, 28 Apr 2017 10:04:22 +0200 Subject: wrap QCoreApplication::flush with QT_DEPRECATED_SINCE ... in cpp file as well. This patch amends 41eefd7. Change-Id: Id6a4dfd3a93a600fe3bb84bb74379451ad167aa8 Reviewed-by: Marc Mutz --- src/corelib/kernel/qcoreapplication.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/corelib/kernel/qcoreapplication.cpp b/src/corelib/kernel/qcoreapplication.cpp index 4a4ad3ddf8..cc8375298d 100644 --- a/src/corelib/kernel/qcoreapplication.cpp +++ b/src/corelib/kernel/qcoreapplication.cpp @@ -714,12 +714,14 @@ QCoreApplication::QCoreApplication(QCoreApplicationPrivate &p) \sa sendPostedEvents(), processEvents(), QAbstractEventDispatcher::flush() */ +#if QT_DEPRECATED_SINCE(5, 9) void QCoreApplication::flush() { if (self && self->d_func()->eventDispatcher) self->d_func()->eventDispatcher->flush(); } #endif +#endif /*! Constructs a Qt core application. Core applications are applications without -- cgit v1.2.3 From 179fe5981fac9fb4bdb82976a7b53f9a21b89892 Mon Sep 17 00:00:00 2001 From: Tasuku Suzuki Date: Wed, 18 Jan 2017 23:59:13 +0900 Subject: Fix build without features.networkproxy Change-Id: Ie0868b2d2ec30513e870861514b252a79dff4998 Reviewed-by: Paul Olav Tvete Reviewed-by: Oswald Buddenhagen --- src/network/configure.json | 2 +- src/network/socket/socket.pri | 11 +++++++++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/src/network/configure.json b/src/network/configure.json index 7bd3f6164a..d35dda99bc 100644 --- a/src/network/configure.json +++ b/src/network/configure.json @@ -212,7 +212,7 @@ "label": "SOCKS5", "purpose": "Provides SOCKS5 support in QNetworkProxy.", "section": "Networking", - "condition": "!config.winrt", + "condition": "!config.winrt && features.networkproxy", "output": [ "publicFeature", "feature" ] }, "networkinterface": { diff --git a/src/network/socket/socket.pri b/src/network/socket/socket.pri index 793ea60b07..18a8153f56 100644 --- a/src/network/socket/socket.pri +++ b/src/network/socket/socket.pri @@ -2,7 +2,6 @@ HEADERS += socket/qabstractsocketengine_p.h \ socket/qhttpsocketengine_p.h \ - socket/qsocks5socketengine_p.h \ socket/qabstractsocket.h \ socket/qabstractsocket_p.h \ socket/qtcpsocket.h \ @@ -17,7 +16,6 @@ HEADERS += socket/qabstractsocketengine_p.h \ SOURCES += socket/qabstractsocketengine.cpp \ socket/qhttpsocketengine.cpp \ - socket/qsocks5socketengine.cpp \ socket/qabstractsocket.cpp \ socket/qtcpsocket.cpp \ socket/qudpsocket.cpp \ @@ -25,6 +23,15 @@ SOURCES += socket/qabstractsocketengine.cpp \ socket/qlocalsocket.cpp \ socket/qlocalserver.cpp +# SOCK5 support. + +qtConfig(socks5) { + HEADERS += \ + socket/qsocks5socketengine_p.h + SOURCES += \ + socket/qsocks5socketengine.cpp +} + # SCTP support. qtConfig(sctp) { -- cgit v1.2.3 From cf0c44fe832c4222d9917c382831c7b8d6c00b69 Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Thu, 27 Apr 2017 16:33:54 -0300 Subject: Fix test build with ICC: QFlags does not auto cast to uint MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit I don't know why. tst_qflags.cpp(114): error: no instance of function template "verifyConstExpr" matches the argument list argument types are: (Qt::MouseButton) tst_qflags.cpp(91): note: this candidate was rejected because there is a type mismatch after argument substitution Change-Id: I84e363d735b443cb9beefffd14b9581d77933cb8 Reviewed-by: Tony Sarajärvi --- tests/auto/corelib/global/qflags/tst_qflags.cpp | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/tests/auto/corelib/global/qflags/tst_qflags.cpp b/tests/auto/corelib/global/qflags/tst_qflags.cpp index d70b099fe3..7dd1a1be01 100644 --- a/tests/auto/corelib/global/qflags/tst_qflags.cpp +++ b/tests/auto/corelib/global/qflags/tst_qflags.cpp @@ -111,19 +111,19 @@ void tst_QFlags::constExpr() default: QVERIFY(false); } - QVERIFY(verifyConstExpr<(Qt::LeftButton | Qt::RightButton) & Qt::LeftButton>(Qt::LeftButton)); - QVERIFY(verifyConstExpr<(Qt::LeftButton | Qt::RightButton) & Qt::MiddleButton>(0)); - QVERIFY(verifyConstExpr<(Qt::LeftButton | Qt::RightButton) | Qt::MiddleButton>(Qt::LeftButton | Qt::RightButton | Qt::MiddleButton)); - QVERIFY(verifyConstExpr<~(Qt::LeftButton | Qt::RightButton)>(~(Qt::LeftButton | Qt::RightButton))); - QVERIFY(verifyConstExpr(Qt::LeftButton ^ Qt::RightButton)); - QVERIFY(verifyConstExpr(0)); - QVERIFY(verifyConstExpr(Qt::RightButton)); - QVERIFY(verifyConstExpr(0xff)); + QVERIFY(verifyConstExpr(Qt::LeftButton)); + QVERIFY(verifyConstExpr(0)); + QVERIFY(verifyConstExpr(Qt::LeftButton | Qt::RightButton | Qt::MiddleButton)); + QVERIFY(verifyConstExpr(~(Qt::LeftButton | Qt::RightButton))); + QVERIFY(verifyConstExpr(Qt::LeftButton ^ Qt::RightButton)); + QVERIFY(verifyConstExpr(0)); + QVERIFY(verifyConstExpr(Qt::RightButton)); + QVERIFY(verifyConstExpr(0xff)); QVERIFY(!verifyConstExpr(!Qt::MouseButtons(Qt::LeftButton))); #if defined(__cpp_constexpr) && __cpp_constexpr-0 >= 201304 - QVERIFY(verifyConstExpr(Qt::MiddleButton)); + QVERIFY(verifyConstExpr(Qt::MiddleButton)); #endif #endif } -- cgit v1.2.3 From 63b94c57725c23c91598535cd325553bd57e8e66 Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Sun, 16 Apr 2017 09:41:34 -0700 Subject: Export QPlatformThemeFactory, for use in qtdiag Change-Id: I0e1a09998253489388abfffd14b5ee5392b0ce52 Reviewed-by: Friedemann Kleint --- src/gui/kernel/qplatformthemefactory_p.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gui/kernel/qplatformthemefactory_p.h b/src/gui/kernel/qplatformthemefactory_p.h index 3f77f03485..c312eadf27 100644 --- a/src/gui/kernel/qplatformthemefactory_p.h +++ b/src/gui/kernel/qplatformthemefactory_p.h @@ -59,7 +59,7 @@ QT_BEGIN_NAMESPACE class QPlatformTheme; -class QPlatformThemeFactory +class Q_GUI_EXPORT QPlatformThemeFactory { public: static QStringList keys(const QString &platformPluginPath = QString()); -- cgit v1.2.3 From 0942f44454f3d81fde436eb40012888e94e36d09 Mon Sep 17 00:00:00 2001 From: Simon Hausmann Date: Thu, 27 Apr 2017 13:44:23 +0200 Subject: Fix make install to be deterministic The result of "make install" should be the same regardless of whether it has been run multiple times and the destination exists already. This is done by making the file installation calls always take canonical source and target paths and not look at the target directory. Task-number: QTBUG-60370 Change-Id: I83a584c0dbc4fd10c79976d4169bf6bc051884a1 Reviewed-by: Oswald Buddenhagen --- qmake/generators/makefile.cpp | 15 ++++++++++----- qmake/main.cpp | 10 ++-------- 2 files changed, 12 insertions(+), 13 deletions(-) diff --git a/qmake/generators/makefile.cpp b/qmake/generators/makefile.cpp index 4568f1d4f2..9f0655a2b9 100644 --- a/qmake/generators/makefile.cpp +++ b/qmake/generators/makefile.cpp @@ -1283,7 +1283,7 @@ MakefileGenerator::writeInstalls(QTextStream &t, bool noBuild) if(is_target || exists(wild)) { //real file or target QFileInfo fi(fileInfo(wild)); QString dst_file = filePrefixRoot(root, dst_dir); - if(fi.isDir() && project->isActiveConfig("copy_dir_files")) { + if (!fi.isDir() || project->isActiveConfig("copy_dir_files")) { if(!dst_file.endsWith(Option::dir_sep)) dst_file += Option::dir_sep; dst_file += fi.fileName(); @@ -1317,10 +1317,15 @@ MakefileGenerator::writeInstalls(QTextStream &t, bool noBuild) dst_file += Option::dir_sep; dst_file += filestr; } - } else if (installConfigValues.contains("executable")) { - cmd = QLatin1String("-$(QINSTALL_PROGRAM)"); } else { - cmd = QLatin1String("-$(QINSTALL_FILE)"); + if (installConfigValues.contains("executable")) { + cmd = QLatin1String("-$(QINSTALL_PROGRAM)"); + } else { + cmd = QLatin1String("-$(QINSTALL_FILE)"); + } + if (!dst_file.endsWith(Option::dir_sep)) + dst_file += Option::dir_sep; + dst_file += filestr; } cmd += " " + escapeFilePath(wild) + " " + escapeFilePath(dst_file); inst << cmd; @@ -1331,7 +1336,7 @@ MakefileGenerator::writeInstalls(QTextStream &t, bool noBuild) uninst.append(rm_dir_contents + " " + escapeFilePath(filePrefixRoot(root, fileFixify(dst_dir + file, FileFixifyAbsolute, false)))); QFileInfo fi(fileInfo(dirstr + file)); QString dst_file = filePrefixRoot(root, fileFixify(dst_dir, FileFixifyAbsolute, false)); - if(fi.isDir() && project->isActiveConfig("copy_dir_files")) { + if (!fi.isDir() || project->isActiveConfig("copy_dir_files")) { if(!dst_file.endsWith(Option::dir_sep)) dst_file += Option::dir_sep; dst_file += fi.fileName(); diff --git a/qmake/main.cpp b/qmake/main.cpp index 2bdb5370df..cc72645b59 100644 --- a/qmake/main.cpp +++ b/qmake/main.cpp @@ -236,17 +236,11 @@ static int doLink(int argc, char **argv) #endif -static int installFile(const QString &source, const QString &targetFileOrDirectory, bool exe = false) +static int installFile(const QString &source, const QString &target, bool exe = false) { QFile sourceFile(source); - QString target(targetFileOrDirectory); - if (QFileInfo(target).isDir()) - target += QDir::separator() + QFileInfo(sourceFile.fileName()).fileName(); - - if (QFile::exists(target)) - QFile::remove(target); - + QFile::remove(target); QDir::root().mkpath(QFileInfo(target).absolutePath()); if (!sourceFile.copy(target)) { -- cgit v1.2.3 From 3250581aeda0a01f80c305ca4d775633f4ad50e9 Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Mon, 24 Apr 2017 15:23:34 +0200 Subject: always clear config.log after all delaying the logging setup until the cache use is determined (which depends on xspec determination) causes too much trouble. as already explained in 7ac15ab0f, there is a bit of a gray area when exactly the log should be cleared anyway. a more complete solution would cache the tests' output along with the results and re-log it (with an appropriate marker) upon re-use. Task-number: QTBUG-59565 Change-Id: I17d457598d885bceafd6505cad5ff074c4ace502 Reviewed-by: Joerg Bornemann --- mkspecs/features/qt_configure.prf | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/mkspecs/features/qt_configure.prf b/mkspecs/features/qt_configure.prf index 2b3faeb21b..48a753c6a9 100644 --- a/mkspecs/features/qt_configure.prf +++ b/mkspecs/features/qt_configure.prf @@ -1958,6 +1958,15 @@ qtConfCheckErrors() error() } +QMAKE_CONFIG_VERBOSE = $$eval(config.input.verbose) +isEmpty(QMAKE_CONFIG_VERBOSE): \ + QMAKE_CONFIG_VERBOSE = false +QMAKE_CONFIG_LOG = $$OUT_PWD/config.log +write_file($$QMAKE_CONFIG_LOG, "") +qtLog("Command line: $$qtSystemQuote($$QMAKE_SAVED_ARGS)") +$$QMAKE_REDO_CONFIG: \ + qtLog("config.opt: $$qtSystemQuote($$QMAKE_EXTRA_REDO_ARGS)") + for (currentConfig, allConfigs) { qtConfSetModuleName() qtConfSetupModuleOutputs() @@ -1987,18 +1996,6 @@ equals(QMAKE_CONFIG_CACHE_USE, none) { write_file($$QMAKE_CONFIG_CACHE, cont) } -QMAKE_CONFIG_VERBOSE = $$eval(config.input.verbose) -isEmpty(QMAKE_CONFIG_VERBOSE): \ - QMAKE_CONFIG_VERBOSE = false -QMAKE_CONFIG_LOG = $$OUT_PWD/config.log -!equals(QMAKE_CONFIG_CACHE_USE, all): \ - write_file($$QMAKE_CONFIG_LOG, "") -else: \ - write_file($$QMAKE_CONFIG_LOG, $$list($$escape_expand(\\n)), append) -qtLog("Command line: $$qtSystemQuote($$QMAKE_SAVED_ARGS)") -$$QMAKE_REDO_CONFIG: \ - qtLog("config.opt: $$qtSystemQuote($$QMAKE_EXTRA_REDO_ARGS)") - CONFIG += qt_conf_tests_allowed logn() logn("Running configuration tests...") -- cgit v1.2.3 From 882243abaf9cea600246d71db00464d54775bfb2 Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Mon, 24 Apr 2017 17:59:49 +0200 Subject: unbotch licheck output processing instead of calling eval() on the entire output, loop over it line by line, because: - the first line is a message, not a variable assignment - eval() can process only one statement at a time Task-number: QTBUG-60255 Change-Id: Idca652910c8f2c852372d486c51c8554bc708dcf Reviewed-by: Joerg Bornemann --- configure.pri | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/configure.pri b/configure.pri index c422c73650..dc2764ce9d 100644 --- a/configure.pri +++ b/configure.pri @@ -155,7 +155,13 @@ defineReplace(qtConfFunc_licenseCheck) { $$[QMAKE_SPEC] $$[QMAKE_XSPEC]", \ LicheckOutput): \ return(false) - eval($$LicheckOutput) + logn() + for (o, LicheckOutput) { + contains(o, "\\w+=.*"): \ + eval($$o) + else: \ + logn($$o) + } config.input.qt_edition = $$Edition config.input.qt_licheck = $$Licheck config.input.qt_release_date = $$ReleaseDate -- cgit v1.2.3 From 7e298e2f2ceeee1a2d1a81238ca019d9a0c9519f Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Tue, 25 Apr 2017 10:07:40 +0200 Subject: don't call pkg-config with --libs-only-L and --libs-only-l at once the options are mutually exclusive, with the last one winning. Task-number: QTBUG-60382 Change-Id: Ie6d888ac8be6b22b204fcad93c184477baa38965 Reviewed-by: Joerg Bornemann --- mkspecs/features/qt_configure.prf | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/mkspecs/features/qt_configure.prf b/mkspecs/features/qt_configure.prf index 48a753c6a9..966c43108c 100644 --- a/mkspecs/features/qt_configure.prf +++ b/mkspecs/features/qt_configure.prf @@ -575,11 +575,14 @@ defineTest(qtConfLibrary_pkgConfig) { } qtRunLoggedCommand("$$pkg_config --modversion $$args", version)|return(false) - qtRunLoggedCommand("$$pkg_config --libs-only-L --libs-only-l $$args", $${1}.libs)|return(false) + qtRunLoggedCommand("$$pkg_config --libs-only-L $$args", libpaths)|return(false) + qtRunLoggedCommand("$$pkg_config --libs-only-l $$args", libs)|return(false) qtRunLoggedCommand("$$pkg_config --cflags $$args", $${1}.cflags)|return(false) version ~= s/[^0-9.].*$// $${1}.version = $$first(version) export($${1}.version) + $${1}.libs = $$libpaths $$libs + export($${1}.libs) return(true) } -- cgit v1.2.3 From fad814088cf050f69b05db134a465e4ca0c1c79c Mon Sep 17 00:00:00 2001 From: Gatis Paeglis Date: Fri, 28 Apr 2017 10:03:18 +0200 Subject: do not wrap QAbstractEventDispatcher::flush with QT_DEPRECATED_SINCE MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ... as this would require us to remove usage of QAbstractEventDispatcher::flush from Qt source code as well. We can not do this already in Qt 5.9 as there are few event dispatchers in Qt that actually do override the ::flush (with non empty bodies). Removing this code could result in behavior changes (not very likely) for some user code. This method will be removed in Qt6. Instead mark it with a well known "### Qt{Version}" comment. This patch amends 41eefd7. The warning was: qcoreapplication.cpp: In static member function ‘static void QCoreApplication::flush()’: qcoreapplication.cpp:733:48: warning: ‘virtual void QAbstractEventDispatcher::flush()’ is deprecated [-Wdeprecated-declarations] self->d_func()->eventDispatcher->flush(); Change-Id: I48a1c68b84ff93268956205e1205e6d4b5d48664 Reviewed-by: Thiago Macieira --- src/corelib/kernel/qabstracteventdispatcher.h | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/corelib/kernel/qabstracteventdispatcher.h b/src/corelib/kernel/qabstracteventdispatcher.h index a256b03523..0d3e53e4a7 100644 --- a/src/corelib/kernel/qabstracteventdispatcher.h +++ b/src/corelib/kernel/qabstracteventdispatcher.h @@ -102,9 +102,7 @@ public: virtual void wakeUp() = 0; virtual void interrupt() = 0; -#if QT_DEPRECATED_SINCE(5, 9) - QT_DEPRECATED virtual void flush() = 0; -#endif + virtual void flush() = 0; // ### Qt6: remove, mark final or make protected virtual void startingUp(); virtual void closingDown(); -- cgit v1.2.3 From 5995238f295d67baca2cec95d69687a7fc6d6d71 Mon Sep 17 00:00:00 2001 From: Aaron Linville Date: Thu, 20 Apr 2017 17:37:56 -0400 Subject: Doc: Fix references to QIconEngineV2 and QIconEnginePluginV2 Fix a few lingering doc references to the old classes. Task-number: QTBUG-59815 Change-Id: Ia6b406485260c943b018422aaeb8e22ca4406e81 Reviewed-by: Leena Miettinen --- src/gui/image/qicon.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/gui/image/qicon.cpp b/src/gui/image/qicon.cpp index 07dcf8b726..fa4b4e01af 100644 --- a/src/gui/image/qicon.cpp +++ b/src/gui/image/qicon.cpp @@ -576,11 +576,11 @@ QFactoryLoader *qt_iconEngineFactoryLoader() When you retrieve a pixmap using pixmap(QSize, Mode, State), and no pixmap for this given size, mode and state has been added with addFile() or addPixmap(), then QIcon will generate one on the - fly. This pixmap generation happens in a QIconEngineV2. The default + fly. This pixmap generation happens in a QIconEngine. The default engine scales pixmaps down if required, but never up, and it uses the current style to calculate a disabled appearance. By using custom icon engines, you can customize every aspect of generated - icons. With QIconEnginePluginV2 it is possible to register different + icons. With QIconEnginePlugin it is possible to register different icon engines for different file suffixes, making it possible for third parties to provide additional icon engines to those included with Qt. @@ -1114,7 +1114,7 @@ QList QIcon::availableSizes(Mode mode, State state) const Depending on the way the icon was created, it may have an associated name. This is the case for icons created with fromTheme() or icons - using a QIconEngine which supports the QIconEngineV2::IconNameHook. + using a QIconEngine which supports the QIconEngine::IconNameHook. \sa fromTheme(), QIconEngine */ -- cgit v1.2.3 From dc8933e0aa12a75fd9406551650bcfd3f13cad23 Mon Sep 17 00:00:00 2001 From: Jesus Fernandez Date: Thu, 27 Apr 2017 18:16:44 +0200 Subject: Initialize vao variable If vaoHelper is not valid the vao variable was being initializated with a random value. Change-Id: I44962841baeb1a1cff3124d6126e19c791feaea3 Coverity-Id: 171484 Reviewed-by: Laszlo Agocs --- src/plugins/platforms/eglfs/api/qeglfscursor.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/plugins/platforms/eglfs/api/qeglfscursor.cpp b/src/plugins/platforms/eglfs/api/qeglfscursor.cpp index 19a0e03212..f46206cab5 100644 --- a/src/plugins/platforms/eglfs/api/qeglfscursor.cpp +++ b/src/plugins/platforms/eglfs/api/qeglfscursor.cpp @@ -410,6 +410,8 @@ struct StateSaver f->glGetIntegerv(GL_ARRAY_BUFFER_BINDING, &arrayBuf); if (vaoHelper->isValid()) f->glGetIntegerv(GL_VERTEX_ARRAY_BINDING, &vao); + else + vao = 0; for (int i = 0; i < 2; ++i) { f->glGetVertexAttribiv(i, GL_VERTEX_ATTRIB_ARRAY_ENABLED, &va[i].enabled); f->glGetVertexAttribiv(i, GL_VERTEX_ATTRIB_ARRAY_SIZE, &va[i].size); -- cgit v1.2.3 From 3c4c02b3f1cec8ebc0134fd05b0e51f1f771937d Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Tue, 25 Apr 2017 17:16:47 -0300 Subject: Include moc of qnamespace.h in qobject.cpp Change-Id: I84e363d735b443cb9beefffd14b8bd4b39b00840 Reviewed-by: Oswald Buddenhagen Reviewed-by: Edward Welbourne Reviewed-by: Olivier Goffart (Woboq GmbH) --- src/corelib/kernel/qobject.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/corelib/kernel/qobject.cpp b/src/corelib/kernel/qobject.cpp index 1b05962c07..cf6ebf0c54 100644 --- a/src/corelib/kernel/qobject.cpp +++ b/src/corelib/kernel/qobject.cpp @@ -5079,4 +5079,5 @@ bool QMetaObject::Connection::isConnected_helper() const QT_END_NAMESPACE +#include "moc_qnamespace.cpp" #include "moc_qobject.cpp" -- cgit v1.2.3 From 425986acf32a60288a8a2ed9b3b2b180f60b5514 Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Fri, 28 Apr 2017 23:24:57 +0200 Subject: Windows: Fix tst_QFileDialog2::completionOnLevelAfterRoot() Change the check for the unambiguous match to be case insensitive. Task-number: QTBUG-60466 Change-Id: Iaa019cc803a56b015f45309fb1b3a7a8a3d82ee4 Reviewed-by: Simon Hausmann --- tests/auto/widgets/dialogs/qfiledialog2/tst_qfiledialog2.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/auto/widgets/dialogs/qfiledialog2/tst_qfiledialog2.cpp b/tests/auto/widgets/dialogs/qfiledialog2/tst_qfiledialog2.cpp index 1ff7a0c97b..d48ee03a22 100644 --- a/tests/auto/widgets/dialogs/qfiledialog2/tst_qfiledialog2.cpp +++ b/tests/auto/widgets/dialogs/qfiledialog2/tst_qfiledialog2.cpp @@ -676,7 +676,7 @@ void tst_QFileDialog2::completionOnLevelAfterRoot() } if (!invalid) { foreach (const QString &check, entryList) { - if (check.startsWith(entry.left(5)) && check != entry) { + if (check.startsWith(entry.left(5), Qt::CaseInsensitive) && check != entry) { invalid = true; break; } -- cgit v1.2.3 From dd03817ab6626c6c85bf7bf65532f33824e46bf8 Mon Sep 17 00:00:00 2001 From: Allan Sandfeld Jensen Date: Fri, 7 Apr 2017 15:49:10 +0200 Subject: Add configure flag to optimize Qt for size Adds default off configure flag to use compiler optimizations for size instead of the default speed/size trade-off. Change-Id: I36702064ef2cc743d2d03a386adf5cefd5371b6e Reviewed-by: Oswald Buddenhagen --- config_help.txt | 1 + configure.json | 12 ++++++++++++ mkspecs/common/gcc-base.conf | 1 + mkspecs/common/msvc-desktop.conf | 7 +++++-- mkspecs/features/default_post.prf | 9 ++++++++- mkspecs/linux-icc/qmake.conf | 5 ++++- mkspecs/macx-icc/qmake.conf | 5 ++++- 7 files changed, 35 insertions(+), 5 deletions(-) diff --git a/config_help.txt b/config_help.txt index 317ba61031..2cf8c8d885 100644 --- a/config_help.txt +++ b/config_help.txt @@ -83,6 +83,7 @@ Build options: debugging turned on [yes] (Apple and Windows only) -optimize-debug ...... Enable debug-friendly optimizations in debug builds [auto] (Not supported with MSVC) + -optimize-size ....... Optimize release builds for size instead of speed [no] -optimized-tools ..... Build optimized host tools even in debug build [no] -force-debug-info .... Create symbol files for release builds [no] -separate-debug-info . Split off debug information to separate files [no] diff --git a/configure.json b/configure.json index 06c62f5aea..49586ed6b8 100644 --- a/configure.json +++ b/configure.json @@ -93,6 +93,7 @@ "nomake": { "type": "addString", "values": [ "examples", "tests", "tools" ] }, "opensource": { "type": "void", "name": "commercial", "value": "no" }, "optimize-debug": { "type": "boolean", "name": "optimize_debug" }, + "optimize-size": { "type": "boolean", "name": "optimize_size" }, "optimized-qmake": { "type": "boolean", "name": "release_tools" }, "optimized-tools": { "type": "boolean", "name": "release_tools" }, "pch": { "type": "boolean", "name": "precompile_header" }, @@ -485,6 +486,12 @@ "condition": "!config.msvc && (features.debug || features.debug_and_release) && tests.optimize_debug", "output": [ "privateConfig" ] }, + "optimize_size": { + "label": "Optimize release build for size", + "autoDetect": false, + "condition": "!features.debug || features.debug_and_release", + "output": [ "privateConfig" ] + }, "architecture": { "label": "Architecture", "output": [ "architecture" ] @@ -1090,6 +1097,11 @@ Configure with '-qreal float' to create a build that is binary-compatible with 5 "args": "optimize_debug", "condition": "!config.msvc && (features.debug || features.debug_and_release)" }, + { + "type": "feature", + "args": "optimize_size", + "condition": "!features.debug || features.debug_and_release" + }, "shared", { "message": "Using C++ standard", diff --git a/mkspecs/common/gcc-base.conf b/mkspecs/common/gcc-base.conf index 9ddebae506..e7e6ee1815 100644 --- a/mkspecs/common/gcc-base.conf +++ b/mkspecs/common/gcc-base.conf @@ -34,6 +34,7 @@ QMAKE_CFLAGS_OPTIMIZE = -O2 QMAKE_CFLAGS_OPTIMIZE_FULL = -O3 QMAKE_CFLAGS_OPTIMIZE_DEBUG = -Og +QMAKE_CFLAGS_OPTIMIZE_SIZE = -Os QMAKE_CFLAGS += -pipe QMAKE_CFLAGS_DEPS += -M diff --git a/mkspecs/common/msvc-desktop.conf b/mkspecs/common/msvc-desktop.conf index 02b8441547..d0d8869036 100644 --- a/mkspecs/common/msvc-desktop.conf +++ b/mkspecs/common/msvc-desktop.conf @@ -19,6 +19,9 @@ contains(QMAKE_TARGET.arch, x86_64) { QMAKE_COMPILER_DEFINES += _WIN64 } +QMAKE_CFLAGS_OPTIMIZE = -O2 +QMAKE_CFLAGS_OPTIMIZE_SIZE = -O1 + QMAKE_CC = cl QMAKE_LEX = flex QMAKE_LEXFLAGS = @@ -27,8 +30,8 @@ QMAKE_YACCFLAGS = -d QMAKE_CFLAGS = -nologo -Zc:wchar_t QMAKE_CFLAGS_WARN_ON = -W3 QMAKE_CFLAGS_WARN_OFF = -W0 -QMAKE_CFLAGS_RELEASE = -O2 -MD -QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -O2 -MD -Zi +QMAKE_CFLAGS_RELEASE = $$QMAKE_CFLAGS_OPTIMIZE -MD +QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += $$QMAKE_CFLAGS_OPTIMIZE -MD -Zi QMAKE_CFLAGS_DEBUG = -Zi -MDd QMAKE_CFLAGS_YACC = QMAKE_CFLAGS_LTCG = -GL diff --git a/mkspecs/features/default_post.prf b/mkspecs/features/default_post.prf index 6d6707d6bb..d6caf870f7 100644 --- a/mkspecs/features/default_post.prf +++ b/mkspecs/features/default_post.prf @@ -38,7 +38,14 @@ force_debug_info { QMAKE_LFLAGS_RELEASE = $$QMAKE_LFLAGS_RELEASE_WITH_DEBUGINFO } -optimize_full { +optimize_size { + !isEmpty(QMAKE_CFLAGS_OPTIMIZE):!isEmpty(QMAKE_CFLAGS_OPTIMIZE_SIZE) { + QMAKE_CFLAGS_RELEASE -= $$QMAKE_CFLAGS_OPTIMIZE + QMAKE_CXXFLAGS_RELEASE -= $$QMAKE_CFLAGS_OPTIMIZE + QMAKE_CFLAGS_RELEASE += $$QMAKE_CFLAGS_OPTIMIZE_SIZE + QMAKE_CXXFLAGS_RELEASE += $$QMAKE_CFLAGS_OPTIMIZE_SIZE + } +} else: optimize_full { !isEmpty(QMAKE_CFLAGS_OPTIMIZE):!isEmpty(QMAKE_CFLAGS_OPTIMIZE_FULL) { QMAKE_CFLAGS_RELEASE -= $$QMAKE_CFLAGS_OPTIMIZE QMAKE_CXXFLAGS_RELEASE -= $$QMAKE_CFLAGS_OPTIMIZE diff --git a/mkspecs/linux-icc/qmake.conf b/mkspecs/linux-icc/qmake.conf index 582420ffee..4fc2251665 100644 --- a/mkspecs/linux-icc/qmake.conf +++ b/mkspecs/linux-icc/qmake.conf @@ -6,6 +6,9 @@ MAKEFILE_GENERATOR = UNIX QMAKE_COMPILER = gcc intel_icc # icc pretends to be gcc +QMAKE_CFLAGS_OPTIMIZE = -O2 +QMAKE_CFLAGS_OPTIMIZE_SIZE = -Os + QMAKE_CC = icc QMAKE_LEX = flex QMAKE_LEXFLAGS = @@ -16,7 +19,7 @@ QMAKE_CFLAGS_APP = -fPIC QMAKE_CFLAGS_DEPS = -M QMAKE_CFLAGS_WARN_ON = -w1 -Wall -Wcheck -wd1572,873,2259,2261,3373 QMAKE_CFLAGS_WARN_OFF = -w -QMAKE_CFLAGS_RELEASE = -O2 +QMAKE_CFLAGS_RELEASE = $$QMAKE_CFLAGS_OPTIMIZE QMAKE_CFLAGS_DEBUG = -O0 -g QMAKE_CFLAGS_SHLIB = -fPIC QMAKE_CFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_SHLIB diff --git a/mkspecs/macx-icc/qmake.conf b/mkspecs/macx-icc/qmake.conf index 7e10d1f413..e999aa36a4 100644 --- a/mkspecs/macx-icc/qmake.conf +++ b/mkspecs/macx-icc/qmake.conf @@ -11,12 +11,15 @@ QMAKE_COMPILER_DEFINES += __APPLE__ __GNUC__ QMAKE_COMPILER = gcc clang intel_icc # icc pretends to be gcc and clang +QMAKE_CFLAGS_OPTIMIZE = -O2 +QMAKE_CFLAGS_OPTIMIZE_SIZE = -Os + QMAKE_CC = icc QMAKE_CFLAGS = QMAKE_CFLAGS_DEPS = -M QMAKE_CFLAGS_WARN_ON = -w1 -Wcheck -wd654,1572,411,873,1125,2259,2261,3280,3373 QMAKE_CFLAGS_WARN_OFF = -w -QMAKE_CFLAGS_RELEASE = -O2 +QMAKE_CFLAGS_RELEASE = $$QMAKE_CFLAGS_OPTIMIZE QMAKE_CFLAGS_DEBUG = -g -O0 QMAKE_CFLAGS_SHLIB = -fPIC QMAKE_CFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_SHLIB -- cgit v1.2.3 From da1079e51c02505032d044e7b80bff2e4fc7a955 Mon Sep 17 00:00:00 2001 From: Tasuku Suzuki Date: Thu, 27 Apr 2017 12:09:06 +0900 Subject: Fix build without features.cupsjobwidget Change-Id: I1b49a9f63a6a071457a3b9305dc87abe5f3b5b19 Reviewed-by: Stephan Binner Reviewed-by: Oswald Buddenhagen Reviewed-by: Lars Knoll --- src/printsupport/dialogs/qprintdialog_unix.cpp | 12 +++++++----- src/printsupport/kernel/qtprintsupportglobal_p.h | 1 + src/printsupport/widgets/qcupsjobwidget_p.h | 5 ++--- 3 files changed, 10 insertions(+), 8 deletions(-) diff --git a/src/printsupport/dialogs/qprintdialog_unix.cpp b/src/printsupport/dialogs/qprintdialog_unix.cpp index 4d8299b115..5527cd94f9 100644 --- a/src/printsupport/dialogs/qprintdialog_unix.cpp +++ b/src/printsupport/dialogs/qprintdialog_unix.cpp @@ -38,7 +38,7 @@ ****************************************************************************/ #include "qplatformdefs.h" -#include +#include #ifndef QT_NO_PRINTDIALOG @@ -66,8 +66,10 @@ #ifndef QT_NO_CUPS #include +#if QT_CONFIG(cupsjobwidget) #include "qcupsjobwidget_p.h" #endif +#endif /* @@ -129,7 +131,7 @@ private: friend class QUnixPrintWidgetPrivate; Ui::QPrintPropertiesWidget widget; QDialogButtonBox *m_buttons; -#ifndef QT_NO_CUPS +#if QT_CONFIG(cupsjobwidget) QCupsJobWidget *m_jobOptions; #endif }; @@ -247,7 +249,7 @@ QPrintPropertiesDialog::QPrintPropertiesDialog(QAbstractPrintDialog *parent) connect(m_buttons->button(QDialogButtonBox::Ok), SIGNAL(clicked()), this, SLOT(accept())); connect(m_buttons->button(QDialogButtonBox::Cancel), SIGNAL(clicked()), this, SLOT(reject())); -#ifndef QT_NO_CUPS +#if QT_CONFIG(cupsjobwidget) m_jobOptions = new QCupsJobWidget(); widget.tabs->addTab(m_jobOptions, tr("Job Options")); #endif @@ -260,7 +262,7 @@ QPrintPropertiesDialog::~QPrintPropertiesDialog() void QPrintPropertiesDialog::applyPrinterProperties(QPrinter *p) { widget.pageSetup->setPrinter(p); -#ifndef QT_NO_CUPS +#if QT_CONFIG(cupsjobwidget) m_jobOptions->setPrinter(p); #endif } @@ -268,7 +270,7 @@ void QPrintPropertiesDialog::applyPrinterProperties(QPrinter *p) void QPrintPropertiesDialog::setupPrinter() const { widget.pageSetup->setupPrinter(); -#ifndef QT_NO_CUPS +#if QT_CONFIG(cupsjobwidget) m_jobOptions->setupPrinter(); #endif } diff --git a/src/printsupport/kernel/qtprintsupportglobal_p.h b/src/printsupport/kernel/qtprintsupportglobal_p.h index 2f6b924ed0..0623a08f1c 100644 --- a/src/printsupport/kernel/qtprintsupportglobal_p.h +++ b/src/printsupport/kernel/qtprintsupportglobal_p.h @@ -53,5 +53,6 @@ #include #include +#include #endif // QTPRINTSUPPORTGLOBAL_P_H diff --git a/src/printsupport/widgets/qcupsjobwidget_p.h b/src/printsupport/widgets/qcupsjobwidget_p.h index 288aeac1aa..7d3c15938f 100644 --- a/src/printsupport/widgets/qcupsjobwidget_p.h +++ b/src/printsupport/widgets/qcupsjobwidget_p.h @@ -56,7 +56,8 @@ #include #include -#if !defined(QT_NO_PRINTER) && !defined(QT_NO_CUPS) && !defined(QT_NO_DATETIMEEDIT) +QT_REQUIRE_CONFIG(cupsjobwidget); + #include QT_BEGIN_NAMESPACE @@ -109,6 +110,4 @@ private: QT_END_NAMESPACE -#endif // QT_NO_PRINTER / QT_NO_CUPS - #endif // QCUPSJOBWIDGET_P_H -- cgit v1.2.3 From de76ccb9673eb7dda1c8a66fe4a063b00f36eb59 Mon Sep 17 00:00:00 2001 From: Tasuku Suzuki Date: Thu, 27 Apr 2017 12:43:36 +0900 Subject: Fix warnings with -no-feature-menu Change-Id: I1e62e3772dbd5f17d9ad69025b23e3726386c2bd Reviewed-by: Oswald Buddenhagen Reviewed-by: Stephan Binner Reviewed-by: Lars Knoll --- src/widgets/accessible/simplewidgets.cpp | 5 +++-- src/widgets/util/qsystemtrayicon.cpp | 2 ++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/widgets/accessible/simplewidgets.cpp b/src/widgets/accessible/simplewidgets.cpp index a53e5eaf30..aa075cad1b 100644 --- a/src/widgets/accessible/simplewidgets.cpp +++ b/src/widgets/accessible/simplewidgets.cpp @@ -327,9 +327,8 @@ int QAccessibleToolButton::childCount() const QAccessible::Role QAccessibleToolButton::role() const { - QAbstractButton *ab = button(); - #ifndef QT_NO_MENU + QAbstractButton *ab = button(); QToolButton *tb = qobject_cast(ab); if (!tb->menu()) return tb->isCheckable() ? QAccessible::CheckBox : QAccessible::PushButton; @@ -347,6 +346,8 @@ QAccessibleInterface *QAccessibleToolButton::child(int index) const { return QAccessible::queryAccessibleInterface(toolButton()->menu()); } +#else + Q_UNUSED(index) #endif return 0; } diff --git a/src/widgets/util/qsystemtrayicon.cpp b/src/widgets/util/qsystemtrayicon.cpp index 1e0d2ab857..11214d93eb 100644 --- a/src/widgets/util/qsystemtrayicon.cpp +++ b/src/widgets/util/qsystemtrayicon.cpp @@ -738,6 +738,8 @@ void QSystemTrayIconPrivate::addPlatformMenu(QMenu *menu) const QPlatformMenu *platformMenu = qpa_sys->createMenu(); if (platformMenu) menu->setPlatformMenu(platformMenu); +#else + Q_UNUSED(menu) #endif // QT_CONFIG(menu) } -- cgit v1.2.3 From ea15b170ef666692cfb0e04e45e536da8d1a7a50 Mon Sep 17 00:00:00 2001 From: Tasuku Suzuki Date: Thu, 27 Apr 2017 12:23:05 +0900 Subject: Fix warning for -no-feature-lineedit Change-Id: Ia56d5d7266a379f911e4db61e60b8b39af5b6342 Reviewed-by: Stephan Binner Reviewed-by: Oswald Buddenhagen Reviewed-by: Lars Knoll --- src/widgets/itemviews/qabstractitemdelegate.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/widgets/itemviews/qabstractitemdelegate.cpp b/src/widgets/itemviews/qabstractitemdelegate.cpp index f63e258e8e..f7c170f0bb 100644 --- a/src/widgets/itemviews/qabstractitemdelegate.cpp +++ b/src/widgets/itemviews/qabstractitemdelegate.cpp @@ -547,6 +547,8 @@ bool QAbstractItemDelegatePrivate::tryFixup(QWidget *editor) return e->hasAcceptableInput(); } } +#else + Q_UNUSED(editor) #endif // QT_NO_LINEEDIT return true; -- cgit v1.2.3 From a4192166c87fdf0aa69c759f6b0d8cfff85b6904 Mon Sep 17 00:00:00 2001 From: Edward Welbourne Date: Thu, 27 Apr 2017 18:17:48 +0200 Subject: Add two missing hyphens Change-Id: Ic320c96208fe7f8340c7eb9e9d068813d769056a Reviewed-by: Jesus Fernandez Reviewed-by: Thiago Macieira --- src/corelib/tools/qhash.cpp | 2 +- src/corelib/tools/qmap.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/corelib/tools/qhash.cpp b/src/corelib/tools/qhash.cpp index 334bd52f1e..1f9c05c0b7 100644 --- a/src/corelib/tools/qhash.cpp +++ b/src/corelib/tools/qhash.cpp @@ -2527,7 +2527,7 @@ uint qHash(long double key, uint seed) Q_DECL_NOTHROW /*! \fn QMultiHash::QMultiHash(std::initializer_list > list) \since 5.1 - Constructs a multi hash with a copy of each of the elements in the + Constructs a multi-hash with a copy of each of the elements in the initializer list \a list. This function is only available if the program is being diff --git a/src/corelib/tools/qmap.cpp b/src/corelib/tools/qmap.cpp index 94ed47f898..29534bdeee 100644 --- a/src/corelib/tools/qmap.cpp +++ b/src/corelib/tools/qmap.cpp @@ -1867,7 +1867,7 @@ void QMapDataBase::freeData(QMapDataBase *d) /*! \fn QMultiMap::QMultiMap(std::initializer_list > list) \since 5.1 - Constructs a multi map with a copy of each of the elements in the + Constructs a multi-map with a copy of each of the elements in the initializer list \a list. This function is only available if the program is being -- cgit v1.2.3 From 68df0576dda6bffebdea6bb5e4067ff8e3b21cd0 Mon Sep 17 00:00:00 2001 From: Gabriel de Dietrich Date: Fri, 28 Apr 2017 14:51:36 -0700 Subject: QMacStyle: Increase accuracy of PM_TitleBarHeight In some cases, we'd want such value to come from the platform theme, but we'd need new API for this. Change-Id: Ic7053fa17ac8b2f207db031095c4e4aefae000c2 Reviewed-by: Jake Petroules --- src/widgets/styles/qmacstyle_mac.mm | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/widgets/styles/qmacstyle_mac.mm b/src/widgets/styles/qmacstyle_mac.mm index 0bd2894402..0ffcf9b0d5 100644 --- a/src/widgets/styles/qmacstyle_mac.mm +++ b/src/widgets/styles/qmacstyle_mac.mm @@ -2470,11 +2470,13 @@ int QMacStyle::pixelMetric(PixelMetric metric, const QStyleOption *opt, const QW case PM_ButtonDefaultIndicator: ret = 0; break; - case PM_TitleBarHeight: - // Always use NSTitledWindowMask since we never need any other type of window here + case PM_TitleBarHeight: { + NSUInteger style = NSTitledWindowMask; + if (widget && ((widget->windowFlags() & Qt::Tool) == Qt::Tool)) + style |= NSUtilityWindowMask; ret = int([NSWindow frameRectForContentRect:NSZeroRect - styleMask:NSTitledWindowMask].size.height); - break; + styleMask:style].size.height); + break; } case QStyle::PM_TabBarTabHSpace: switch (d->aquaSizeConstrain(opt, widget)) { case QAquaSizeLarge: -- cgit v1.2.3 From 91c1b5490e63705b5418ffbae539ff70dbdfe334 Mon Sep 17 00:00:00 2001 From: Alex Trotsenko Date: Fri, 28 Apr 2017 18:36:04 +0300 Subject: QWindowsPipeReader: fix possible invalid invocation of ReadFileEx() If the user calls QLocalSocket::setReadBufferSize() with a value less than the current size of the pipe buffer, startAsyncRead() would call ReadFileEx() with invalid parameters: ReadFileEx(handle, nullptr, some_big_value, ...); Change-Id: I3d153e3ec34f8038dc001c1c896aeceb666a8979 Reviewed-by: Thiago Macieira --- src/corelib/io/qwindowspipereader.cpp | 4 ++-- tests/auto/network/socket/qlocalsocket/tst_qlocalsocket.cpp | 12 ++++++++++++ 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/src/corelib/io/qwindowspipereader.cpp b/src/corelib/io/qwindowspipereader.cpp index b8df8e8084..827ed43b63 100644 --- a/src/corelib/io/qwindowspipereader.cpp +++ b/src/corelib/io/qwindowspipereader.cpp @@ -215,13 +215,13 @@ void QWindowsPipeReader::notified(DWORD errorCode, DWORD numberOfBytesRead) void QWindowsPipeReader::startAsyncRead() { const DWORD minReadBufferSize = 4096; - DWORD bytesToRead = qMax(checkPipeState(), minReadBufferSize); + qint64 bytesToRead = qMax(checkPipeState(), minReadBufferSize); if (pipeBroken) return; if (readBufferMaxSize && bytesToRead > (readBufferMaxSize - readBuffer.size())) { bytesToRead = readBufferMaxSize - readBuffer.size(); - if (bytesToRead == 0) { + if (bytesToRead <= 0) { // Buffer is full. User must read data from the buffer // before we can read more from the pipe. return; diff --git a/tests/auto/network/socket/qlocalsocket/tst_qlocalsocket.cpp b/tests/auto/network/socket/qlocalsocket/tst_qlocalsocket.cpp index a74a056d91..60ee4eb471 100644 --- a/tests/auto/network/socket/qlocalsocket/tst_qlocalsocket.cpp +++ b/tests/auto/network/socket/qlocalsocket/tst_qlocalsocket.cpp @@ -625,6 +625,18 @@ void tst_QLocalSocket::readBufferOverflow() QCOMPARE(client.read(buffer, readBufferSize), qint64(readBufferSize)); // no more bytes available QCOMPARE(client.bytesAvailable(), 0); + +#ifdef Q_OS_WIN + // Test overflow caused by an asynchronous pipe operation. + client.setReadBufferSize(1); + serverSocket->write(buffer, 2); + + QVERIFY(client.waitForReadyRead()); + // socket disconnects, if there any error on pipe + QCOMPARE(client.state(), QLocalSocket::ConnectedState); + QCOMPARE(client.bytesAvailable(), qint64(2)); + QCOMPARE(client.read(buffer, 2), qint64(2)); +#endif } static qint64 writeCommand(const QVariant &command, QIODevice *device, int commandCounter) -- cgit v1.2.3 From 7eae7e8103c79c9e098fc112bb8157971117678d Mon Sep 17 00:00:00 2001 From: Andy Shaw Date: Fri, 28 Apr 2017 22:19:15 +0200 Subject: macOS: Fix return value of PM_TabBarBaseHeight to original value When the tabbar styling was improved in change 175f33ed855b0a8a30daafacd4f48fa3f8e76a9b it changed PM_TabBarBaseHeight to 21 which is incorrect as this value represents the spacing between the tab pages and the tabbar. In macOS style there is no space so this should be set to 0. Task-number: QTBUG-60307 Change-Id: I2ce39ff2fc924d2d83843fab78b311153b4ee08f Reviewed-by: Oleg Yadrov Reviewed-by: Gabriel de Dietrich --- src/widgets/styles/qmacstyle_mac.mm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/widgets/styles/qmacstyle_mac.mm b/src/widgets/styles/qmacstyle_mac.mm index 0ffcf9b0d5..8d0fe1196c 100644 --- a/src/widgets/styles/qmacstyle_mac.mm +++ b/src/widgets/styles/qmacstyle_mac.mm @@ -2505,7 +2505,7 @@ int QMacStyle::pixelMetric(PixelMetric metric, const QStyleOption *opt, const QW ret = 0; break; case PM_TabBarBaseHeight: - ret = 21; + ret = 0; break; case PM_TabBarTabOverlap: ret = 1; -- cgit v1.2.3 From c12b96daf2195c475c086f8f9be833aa0e28b26c Mon Sep 17 00:00:00 2001 From: Simon Hausmann Date: Wed, 1 Mar 2017 12:41:48 +0100 Subject: Preserve last modification timestamps of installed directories Similar to the two parent commits, this patchs preserves the time stamps of files we install as a result of recursive directory copying. Change-Id: Id5931a467196d5cd67acfa0deffc2488af8a3669 Task-number: QTBUG-59004 Reviewed-by: Oswald Buddenhagen --- qmake/generators/makefile.cpp | 42 ++++++++++++------------------- qmake/generators/unix/unixmake.cpp | 4 +-- qmake/generators/win32/winmakefile.cpp | 1 + qmake/library/ioutils.cpp | 35 ++++++++++++++++++++++++++ qmake/library/ioutils.h | 3 +++ qmake/main.cpp | 46 ++++++++++++++++++++++++++++++++++ 6 files changed, 103 insertions(+), 28 deletions(-) diff --git a/qmake/generators/makefile.cpp b/qmake/generators/makefile.cpp index 9f0655a2b9..c76708285a 100644 --- a/qmake/generators/makefile.cpp +++ b/qmake/generators/makefile.cpp @@ -1283,14 +1283,12 @@ MakefileGenerator::writeInstalls(QTextStream &t, bool noBuild) if(is_target || exists(wild)) { //real file or target QFileInfo fi(fileInfo(wild)); QString dst_file = filePrefixRoot(root, dst_dir); - if (!fi.isDir() || project->isActiveConfig("copy_dir_files")) { - if(!dst_file.endsWith(Option::dir_sep)) - dst_file += Option::dir_sep; - dst_file += fi.fileName(); - } + if (!dst_file.endsWith(Option::dir_sep)) + dst_file += Option::dir_sep; + dst_file += fi.fileName(); QString cmd; if (fi.isDir()) - cmd = "-$(INSTALL_DIR)"; + cmd = "-$(QINSTALL_DIR)"; else if (is_target || fi.isExecutable()) cmd = "-$(QINSTALL_PROGRAM)"; else @@ -1310,22 +1308,15 @@ MakefileGenerator::writeInstalls(QTextStream &t, bool noBuild) if (installConfigValues.contains("no_check_exist") && files.isEmpty()) { QString dst_file = filePrefixRoot(root, dst_dir); QString cmd; + if (!dst_file.endsWith(Option::dir_sep)) + dst_file += Option::dir_sep; + dst_file += filestr; if (installConfigValues.contains("directory")) { - cmd = QLatin1String("-$(INSTALL_DIR)"); - if (project->isActiveConfig("copy_dir_files")) { - if (!dst_file.endsWith(Option::dir_sep)) - dst_file += Option::dir_sep; - dst_file += filestr; - } + cmd = QLatin1String("-$(QINSTALL_DIR)"); + } else if (installConfigValues.contains("executable")) { + cmd = QLatin1String("-$(QINSTALL_PROGRAM)"); } else { - if (installConfigValues.contains("executable")) { - cmd = QLatin1String("-$(QINSTALL_PROGRAM)"); - } else { - cmd = QLatin1String("-$(QINSTALL_FILE)"); - } - if (!dst_file.endsWith(Option::dir_sep)) - dst_file += Option::dir_sep; - dst_file += filestr; + cmd = QLatin1String("-$(QINSTALL_FILE)"); } cmd += " " + escapeFilePath(wild) + " " + escapeFilePath(dst_file); inst << cmd; @@ -1336,12 +1327,10 @@ MakefileGenerator::writeInstalls(QTextStream &t, bool noBuild) uninst.append(rm_dir_contents + " " + escapeFilePath(filePrefixRoot(root, fileFixify(dst_dir + file, FileFixifyAbsolute, false)))); QFileInfo fi(fileInfo(dirstr + file)); QString dst_file = filePrefixRoot(root, fileFixify(dst_dir, FileFixifyAbsolute, false)); - if (!fi.isDir() || project->isActiveConfig("copy_dir_files")) { - if(!dst_file.endsWith(Option::dir_sep)) - dst_file += Option::dir_sep; - dst_file += fi.fileName(); - } - QString cmd = QString(fi.isDir() ? "-$(INSTALL_DIR)" : "-$(QINSTALL_FILE)") + " " + + if (!dst_file.endsWith(Option::dir_sep)) + dst_file += Option::dir_sep; + dst_file += fi.fileName(); + QString cmd = QString(fi.isDir() ? "-$(QINSTALL_DIR)" : "-$(QINSTALL_FILE)") + " " + escapeFilePath(dirstr + file) + " " + escapeFilePath(dst_file); inst << cmd; if (!project->isActiveConfig("debug_info") && !project->isActiveConfig("nostrip") && @@ -2255,6 +2244,7 @@ MakefileGenerator::writeDefaultVariables(QTextStream &t) t << "INSTALL_DIR = " << var("QMAKE_INSTALL_DIR") << endl; t << "QINSTALL_FILE = " << var("QMAKE_QMAKE") << " -install qinstall file" << endl; t << "QINSTALL_PROGRAM = " << var("QMAKE_QMAKE") << " -install qinstall program" << endl; + t << "QINSTALL_DIR = " << var("QMAKE_QMAKE") << " -install qinstall directory" << endl; t << "DEL_FILE = " << var("QMAKE_DEL_FILE") << endl; t << "SYMLINK = " << var("QMAKE_SYMBOLIC_LINK") << endl; t << "DEL_DIR = " << var("QMAKE_DEL_DIR") << endl; diff --git a/qmake/generators/unix/unixmake.cpp b/qmake/generators/unix/unixmake.cpp index 1073386a82..20318f120c 100644 --- a/qmake/generators/unix/unixmake.cpp +++ b/qmake/generators/unix/unixmake.cpp @@ -636,7 +636,7 @@ UnixMakefileGenerator::defaultInstall(const QString &t) QString copy_cmd; if (bundle == SolidBundle) { - copy_cmd += "-$(INSTALL_DIR) " + src_targ + ' ' + plain_targ; + copy_cmd += "-$(QINSTALL_DIR) " + src_targ + ' ' + plain_targ; } else if (project->first("TEMPLATE") == "lib" && project->isActiveConfig("staticlib")) { copy_cmd += "-$(QINSTALL_FILE) " + src_targ + ' ' + dst_targ; } else if (!isAux) { @@ -698,7 +698,7 @@ UnixMakefileGenerator::defaultInstall(const QString &t) ret += "\n\t"; ret += mkdir_p_asstring("\"`dirname " + dst + "`\"", false) + "\n\t"; ret += "-$(DEL_FILE) " + dst + "\n\t"; // Can't overwrite symlinks to directories - ret += "-$(INSTALL_DIR) " + escapeFilePath(src) + " " + dst; // Use cp -R to copy symlinks + ret += "-$(QINSTALL_DIR) " + escapeFilePath(src) + " " + dst; if (!uninst.isEmpty()) uninst.append("\n\t"); uninst.append("-$(DEL_FILE) " + dst); diff --git a/qmake/generators/win32/winmakefile.cpp b/qmake/generators/win32/winmakefile.cpp index 86d388354a..2013698c99 100644 --- a/qmake/generators/win32/winmakefile.cpp +++ b/qmake/generators/win32/winmakefile.cpp @@ -532,6 +532,7 @@ void Win32MakefileGenerator::writeStandardParts(QTextStream &t) t << "INSTALL_DIR = " << var("QMAKE_INSTALL_DIR") << endl; t << "QINSTALL_FILE = " << var("QMAKE_QMAKE") << " -install qinstall file" << endl; t << "QINSTALL_PROGRAM = " << var("QMAKE_QMAKE") << " -install qinstall program" << endl; + t << "QINSTALL_DIR = " << var("QMAKE_QMAKE") << " -install qinstall directory" << endl; t << endl; t << "####### Output directory\n\n"; diff --git a/qmake/library/ioutils.cpp b/qmake/library/ioutils.cpp index 39264952c6..684bcb9a37 100644 --- a/qmake/library/ioutils.cpp +++ b/qmake/library/ioutils.cpp @@ -253,4 +253,39 @@ bool IoUtils::touchFile(const QString &targetFileName, const QString &referenceF } #endif +#ifdef Q_OS_UNIX +bool IoUtils::readLinkTarget(const QString &symlinkPath, QString *target) +{ + const QByteArray localSymlinkPath = QFile::encodeName(symlinkPath); +# if defined(__GLIBC__) && !defined(PATH_MAX) +# define PATH_CHUNK_SIZE 256 + char *s = 0; + int len = -1; + int size = PATH_CHUNK_SIZE; + + forever { + s = (char *)::realloc(s, size); + len = ::readlink(localSymlinkPath.constData(), s, size); + if (len < 0) { + ::free(s); + break; + } + if (len < size) + break; + size *= 2; + } +# else + char s[PATH_MAX+1]; + int len = readlink(localSymlinkPath.constData(), s, PATH_MAX); +# endif + if (len <= 0) + return false; + *target = QFile::decodeName(QByteArray(s, len)); +# if defined(__GLIBC__) && !defined(PATH_MAX) + ::free(s); +# endif + return true; +} +#endif + QT_END_NAMESPACE diff --git a/qmake/library/ioutils.h b/qmake/library/ioutils.h index 905974b7cb..ad379404f3 100644 --- a/qmake/library/ioutils.h +++ b/qmake/library/ioutils.h @@ -65,6 +65,9 @@ public: #if defined(PROEVALUATOR_FULL) static bool touchFile(const QString &targetFileName, const QString &referenceFileName, QString *errorString); #endif +#ifdef Q_OS_UNIX + static bool readLinkTarget(const QString &symlinkPath, QString *target); +#endif }; } // namespace ProFileEvaluatorInternal diff --git a/qmake/main.cpp b/qmake/main.cpp index cc72645b59..f25b128d03 100644 --- a/qmake/main.cpp +++ b/qmake/main.cpp @@ -36,6 +36,7 @@ #include #include #include +#include #include #include #include @@ -43,6 +44,11 @@ #include #include +#if defined(Q_OS_UNIX) +#include +#include +#endif + #ifdef Q_OS_WIN # include #endif @@ -267,6 +273,44 @@ static int installFile(const QString &source, const QString &target, bool exe = return 0; } +static int installDirectory(const QString &source, const QString &target) +{ + QFileInfo fi(source); + if (false) { +#if defined(Q_OS_UNIX) + } else if (fi.isSymLink()) { + QString linkTarget; + if (!IoUtils::readLinkTarget(fi.absoluteFilePath(), &linkTarget)) { + fprintf(stderr, "Could not read link %s: %s\n", qPrintable(fi.absoluteFilePath()), strerror(errno)); + return 3; + } + QFile::remove(target); + if (::symlink(linkTarget.toLocal8Bit().constData(), target.toLocal8Bit().constData()) < 0) { + fprintf(stderr, "Could not create link: %s\n", strerror(errno)); + return 3; + } +#endif + } else if (fi.isDir()) { + QDir::current().mkpath(target); + + QDirIterator it(source, QDir::AllEntries | QDir::NoDotAndDotDot); + while (it.hasNext()) { + it.next(); + const QFileInfo &entry = it.fileInfo(); + const QString &entryTarget = target + QDir::separator() + entry.fileName(); + + const int recursionResult = installDirectory(entry.filePath(), entryTarget); + if (recursionResult != 0) + return recursionResult; + } + } else { + const int fileCopyResult = installFile(source, target); + if (fileCopyResult != 0) + return fileCopyResult; + } + return 0; +} + static int doQInstall(int argc, char **argv) { if (argc != 3) { @@ -281,6 +325,8 @@ static int doQInstall(int argc, char **argv) return installFile(source, target); if (!strcmp(argv[0], "program")) return installFile(source, target, /*exe=*/true); + if (!strcmp(argv[0], "directory")) + return installDirectory(source, target); fprintf(stderr, "Error: Unsupported qinstall command type %s\n", argv[0]); return 3; -- cgit v1.2.3 From c0013bfd3320ce1ebddd0fab885b0e6cabe7c861 Mon Sep 17 00:00:00 2001 From: Simon Hausmann Date: Fri, 28 Apr 2017 13:54:41 +0200 Subject: Fix target ABI configure detection Amend commit e6bf2376697975313b7ccd3f9bcebb869bb0b04c to correctly cache the abi in config.cache and set QT_BUILDABI to the correct target ABI when cross-compiling. Task-number: QTBUG-60441 Change-Id: I4ebfce9d6266be2a3225034fbf3aff08e7fdc5d5 Reviewed-by: Oswald Buddenhagen --- configure.pri | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/configure.pri b/configure.pri index dc2764ce9d..be1b166080 100644 --- a/configure.pri +++ b/configure.pri @@ -278,7 +278,7 @@ defineTest(qtConfTest_architecture) { export($${1}.buildabi) qtLog("Detected architecture: $$eval($${1}.arch) ($$eval($${1}.subarch))") - $${1}.cache += arch subarch + $${1}.cache += arch subarch buildabi export($${1}.cache) return(true) } @@ -893,11 +893,12 @@ defineTest(qtConfOutput_architecture) { publicPro = \ "host_build {" \ " QT_ARCH = $$host_arch" \ + " QT_BUILDABI = $$host_buildabi" \ " QT_TARGET_ARCH = $$arch" \ " QT_TARGET_BUILDABI = $$buildabi" \ "} else {" \ " QT_ARCH = $$arch" \ - " QT_BUILDABI = $$host_buildabi" \ + " QT_BUILDABI = $$buildabi" \ "}" } else { -- cgit v1.2.3 From d160809015e49d6435dc876135b88f17af4f8008 Mon Sep 17 00:00:00 2001 From: Allan Sandfeld Jensen Date: Mon, 6 Feb 2017 14:37:47 +0100 Subject: Cleanup rgb32 text-blending code path Cleans up the rgb32 text-blending functions, so they now follow the new pattern used in the new generic text-blending functions. This also means they can now handle gamma-corrected blending on top of transparent destination pixels instead of falling back to naive blending. Task-number: QTBUG-60469 Change-Id: I154ba513ff99c0cefab8fa12f4ed43fcd6563a6a Reviewed-by: Eirik Aavitsland --- src/gui/painting/qdrawhelper.cpp | 149 +++++++++++++++------------------------ 1 file changed, 57 insertions(+), 92 deletions(-) diff --git a/src/gui/painting/qdrawhelper.cpp b/src/gui/painting/qdrawhelper.cpp index 0cd5ff1d0e..b2e762a391 100644 --- a/src/gui/painting/qdrawhelper.cpp +++ b/src/gui/painting/qdrawhelper.cpp @@ -5697,62 +5697,74 @@ void qt_alphamapblit_quint16(QRasterBuffer *rasterBuffer, } } -static inline void rgbBlendPixel(quint32 *dst, int coverage, QRgba64 slinear, const QColorProfile *colorProfile, bool useGammaCorrection) +static inline void rgbBlendPixel(quint32 *dst, int coverage, QRgba64 slinear, const QColorProfile *colorProfile) { // Do a gammacorrected RGB alphablend... - const QRgba64 dlinear = useGammaCorrection ? colorProfile->toLinear64(*dst) : QRgba64::fromArgb32(*dst); + const QRgba64 dlinear = colorProfile ? colorProfile->toLinear64(*dst) : QRgba64::fromArgb32(*dst); QRgba64 blend = rgbBlend(dlinear, slinear, coverage); - *dst = useGammaCorrection ? colorProfile->fromLinear64(blend) : toArgb32(blend); + *dst = colorProfile ? colorProfile->fromLinear64(blend) : toArgb32(blend); } -static inline void grayBlendPixel(quint32 *dst, int coverage, QRgba64 slinear, const QColorProfile *colorProfile) +static inline void grayBlendPixel(quint32 *dst, int coverage, QRgba64 srcLinear, const QColorProfile *colorProfile) { // Do a gammacorrected gray alphablend... - const QRgba64 dlinear = colorProfile->toLinear64(*dst); + QRgba64 dstLinear = QRgba64::fromArgb32(*dst); - QRgba64 blend = interpolate255(slinear, coverage, dlinear, 255 - coverage); + if (colorProfile && !dstLinear.isTransparent()) + dstLinear = colorProfile->fromLinear(dstLinear.unpremultiplied()).premultiplied(); - *dst = colorProfile->fromLinear64(blend); + dstLinear = interpolate255(srcLinear, coverage, dstLinear, 255 - coverage); + + if (colorProfile && !dstLinear.isTransparent()) + dstLinear = colorProfile->fromLinear(dstLinear.unpremultiplied()).premultiplied(); + + *dst = toArgb32(dstLinear); +} + +static inline void alphamapblend_argb32(quint32 *dst, int coverage, QRgba64 srcLinear, quint32 src, const QColorProfile *colorProfile) +{ + if (coverage == 0) { + // nothing + } else if (coverage == 255) { + *dst = src; + } else { + grayBlendPixel(dst, coverage, srcLinear, colorProfile); + } } -static void qt_alphamapblit_uint32(QRasterBuffer *rasterBuffer, - int x, int y, quint32 color, +static void qt_alphamapblit_argb32(QRasterBuffer *rasterBuffer, + int x, int y, const QRgba64 &color, const uchar *map, int mapWidth, int mapHeight, int mapStride, const QClipData *clip, bool useGammaCorrection) { - const quint32 c = color; + const quint32 c = color.toArgb32(); const int destStride = rasterBuffer->bytesPerLine() / sizeof(quint32); - const QColorProfile *colorProfile = QGuiApplicationPrivate::instance()->colorProfileForA8Text(); - if (!colorProfile) + if (color.isTransparent()) return; - const QRgba64 slinear = colorProfile->toLinear64(c); + const QColorProfile *colorProfile = nullptr; + + if (useGammaCorrection) + colorProfile = QGuiApplicationPrivate::instance()->colorProfileForA8Text(); - bool opaque_src = (qAlpha(color) == 255); - bool doGrayBlendPixel = opaque_src && useGammaCorrection; + QRgba64 srcColor = color; + if (colorProfile) { + if (color.isOpaque()) + srcColor = colorProfile->toLinear(srcColor); + else + srcColor = colorProfile->toLinear(srcColor.unpremultiplied()).premultiplied(); + } if (!clip) { quint32 *dest = reinterpret_cast(rasterBuffer->scanLine(y)) + x; while (mapHeight--) { for (int i = 0; i < mapWidth; ++i) { const int coverage = map[i]; - - if (coverage == 0) { - // nothing - } else if (coverage == 255) { - dest[i] = c; - } else { - if (doGrayBlendPixel && qAlpha(dest[i]) == 255) { - grayBlendPixel(dest+i, coverage, slinear, colorProfile); - } else { - int ialpha = 255 - coverage; - dest[i] = INTERPOLATE_PIXEL_255(c, coverage, dest[i], ialpha); - } - } + alphamapblend_argb32(dest + i, coverage, srcColor, c, colorProfile); } dest += destStride; map += mapStride; @@ -5777,20 +5789,7 @@ static void qt_alphamapblit_uint32(QRasterBuffer *rasterBuffer, for (int xp=start; xp line.count) } // for (yp -> bottom) map += mapStride; @@ -5798,27 +5797,6 @@ static void qt_alphamapblit_uint32(QRasterBuffer *rasterBuffer, } } - -static void qt_alphamapblit_argb32(QRasterBuffer *rasterBuffer, - int x, int y, const QRgba64 &color, - const uchar *map, - int mapWidth, int mapHeight, int mapStride, - const QClipData *clip, bool useGammaCorrection) -{ - qt_alphamapblit_uint32(rasterBuffer, x, y, color.toArgb32(), map, mapWidth, mapHeight, mapStride, clip, useGammaCorrection); -} - -#if Q_BYTE_ORDER == Q_LITTLE_ENDIAN -static void qt_alphamapblit_rgba8888(QRasterBuffer *rasterBuffer, - int x, int y, const QRgba64 &color, - const uchar *map, - int mapWidth, int mapHeight, int mapStride, - const QClipData *clip, bool useGammaCorrection) -{ - qt_alphamapblit_uint32(rasterBuffer, x, y, ARGB2RGBA(color.toArgb32()), map, mapWidth, mapHeight, mapStride, clip, useGammaCorrection); -} -#endif - static inline int qRgbAvg(QRgb rgb) { return (qRed(rgb) * 5 + qGreen(rgb) * 6 + qBlue(rgb) * 5) / 16; @@ -5863,7 +5841,7 @@ static void qt_alphargbblit_generic(QRasterBuffer *rasterBuffer, const QColorProfile *colorProfile = nullptr; if (useGammaCorrection) - colorProfile = QGuiApplicationPrivate::instance()->colorProfileForA8Text(); + colorProfile = QGuiApplicationPrivate::instance()->colorProfileForA32Text(); QRgba64 srcColor = color; if (colorProfile) { @@ -5933,11 +5911,18 @@ static void qt_alphargbblit_argb32(QRasterBuffer *rasterBuffer, const quint32 c = color.toArgb32(); - const QColorProfile *colorProfile = QGuiApplicationPrivate::instance()->colorProfileForA32Text(); - if (!colorProfile) - return; + const QColorProfile *colorProfile = nullptr; - const QRgba64 slinear = useGammaCorrection ? colorProfile->toLinear64(c) : color; + if (useGammaCorrection) + colorProfile = QGuiApplicationPrivate::instance()->colorProfileForA32Text(); + + QRgba64 srcColor = color; + if (colorProfile) { + if (color.isOpaque()) + srcColor = colorProfile->toLinear(srcColor); + else + srcColor = colorProfile->toLinear(srcColor.unpremultiplied()).premultiplied(); + } if (!clip) { quint32 *dst = reinterpret_cast(rasterBuffer->scanLine(y)) + x; @@ -5949,14 +5934,10 @@ static void qt_alphargbblit_argb32(QRasterBuffer *rasterBuffer, dst[i] = c; } else if (coverage != 0xff000000) { if (dst[i] >= 0xff000000) { - rgbBlendPixel(dst+i, coverage, slinear, colorProfile, useGammaCorrection); + rgbBlendPixel(dst + i, coverage, srcColor, colorProfile); } else { // Give up and do a gray blend. - const int a = qRgbAvg(coverage); - if (useGammaCorrection) - grayBlendPixel(dst+i, a, slinear, colorProfile); - else - dst[i] = INTERPOLATE_PIXEL_255(c, a, dst[i], 255 - a); + grayBlendPixel(dst + i, qRgbAvg(coverage), srcColor, colorProfile); } } } @@ -5988,14 +5969,10 @@ static void qt_alphargbblit_argb32(QRasterBuffer *rasterBuffer, dst[xp] = c; } else if (coverage != 0xff000000) { if (dst[xp] >= 0xff000000) { - rgbBlendPixel(dst+xp, coverage, slinear, colorProfile, useGammaCorrection); + rgbBlendPixel(dst + xp, coverage, srcColor, colorProfile); } else { // Give up and do a gray blend. - const int a = qRgbAvg(coverage); - if (useGammaCorrection) - grayBlendPixel(dst+xp, a, slinear, colorProfile); - else - dst[xp] = INTERPOLATE_PIXEL_255(c, a, dst[xp], 255 - coverage); + grayBlendPixel(dst + xp, qRgbAvg(coverage), srcColor, colorProfile); } } } @@ -6209,11 +6186,7 @@ DrawHelper qDrawHelper[QImage::NImageFormats] = blend_color_generic, blend_src_generic, qt_bitmapblit_rgba8888, -#if Q_BYTE_ORDER == Q_LITTLE_ENDIAN - qt_alphamapblit_rgba8888, -#else qt_alphamapblit_generic, -#endif qt_alphargbblit_generic, qt_rectfill_rgba }, @@ -6222,11 +6195,7 @@ DrawHelper qDrawHelper[QImage::NImageFormats] = blend_color_generic, blend_src_generic, qt_bitmapblit_rgba8888, -#if Q_BYTE_ORDER == Q_LITTLE_ENDIAN - qt_alphamapblit_rgba8888, -#else qt_alphamapblit_generic, -#endif qt_alphargbblit_generic, qt_rectfill_nonpremul_rgba }, @@ -6235,11 +6204,7 @@ DrawHelper qDrawHelper[QImage::NImageFormats] = blend_color_generic, blend_src_generic, qt_bitmapblit_rgba8888, -#if Q_BYTE_ORDER == Q_LITTLE_ENDIAN - qt_alphamapblit_rgba8888, -#else qt_alphamapblit_generic, -#endif qt_alphargbblit_generic, qt_rectfill_rgba }, -- cgit v1.2.3 From 2f94b7a991ff9e0138889cb13458d466d295cc59 Mon Sep 17 00:00:00 2001 From: Olivier JG Date: Sun, 30 Apr 2017 10:49:17 -0500 Subject: Windows QPA: Find window before invoking native filters When handling WM_NCCALCSIZE in a global filter, the associated platform window needs to be assigned to platformWindowPtr so that its frame margins can be updated on return. See also 3035400f36731c400adb9204b94e9afe346a71b7, which introduced the platformWindowPtr out parameter for this purpose. [ChangeLog][Platform Specific Changes][Windows] Fixed frameMargins for WM_NCCALCSIZE when handled inside with QAbstractNativeEventFilter. Change-Id: I7827b81d30a5c80dad591206a88712169dea0108 Reviewed-by: Friedemann Kleint --- src/plugins/platforms/windows/qwindowscontext.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/plugins/platforms/windows/qwindowscontext.cpp b/src/plugins/platforms/windows/qwindowscontext.cpp index ff4ab1accb..eb62bd2e1f 100644 --- a/src/plugins/platforms/windows/qwindowscontext.cpp +++ b/src/plugins/platforms/windows/qwindowscontext.cpp @@ -855,6 +855,9 @@ bool QWindowsContext::windowsProc(HWND hwnd, UINT message, GetCursorPos(&msg.pt); } + QWindowsWindow *platformWindow = findPlatformWindow(hwnd); + *platformWindowPtr = platformWindow; + // Run the native event filters. long filterResult = 0; QAbstractEventDispatcher* dispatcher = QAbstractEventDispatcher::instance(); @@ -863,8 +866,6 @@ bool QWindowsContext::windowsProc(HWND hwnd, UINT message, return true; } - QWindowsWindow *platformWindow = findPlatformWindow(hwnd); - *platformWindowPtr = platformWindow; if (platformWindow) { filterResult = 0; if (QWindowSystemInterface::handleNativeEvent(platformWindow->window(), d->m_eventType, &msg, &filterResult)) { -- cgit v1.2.3 From b5883a16cbb1a332af3aa77ca96cc576f964423f Mon Sep 17 00:00:00 2001 From: Kai Koehne Date: Tue, 11 Apr 2017 16:54:52 +0200 Subject: QWindowsInputContext: Fix indentation Fix indentation of code (introduced in 14efcaa3) Change-Id: Iee9bc7c66dbde4088168497e9428940554612e84 Reviewed-by: Friedemann Kleint --- src/plugins/platforms/windows/qwindowsinputcontext.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/plugins/platforms/windows/qwindowsinputcontext.cpp b/src/plugins/platforms/windows/qwindowsinputcontext.cpp index e7ebf73d5d..8c228f588e 100644 --- a/src/plugins/platforms/windows/qwindowsinputcontext.cpp +++ b/src/plugins/platforms/windows/qwindowsinputcontext.cpp @@ -229,7 +229,7 @@ void QWindowsInputContext::updateEnabled() const bool accepted = inputMethodAccepted(); if (QWindowsContext::verbose > 1) qCDebug(lcQpaInputMethods) << __FUNCTION__ << platformWindow->window() << "accepted=" << accepted; - QWindowsInputContext::setWindowsImeEnabled(platformWindow, accepted); + QWindowsInputContext::setWindowsImeEnabled(platformWindow, accepted); } } -- cgit v1.2.3 From d9e55e40a9c0546981981fe2340a52fbb1b47b04 Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Fri, 28 Apr 2017 12:31:07 +0200 Subject: QFileDialogPrivate: Move inline to declaration Fixes MSVC warning: src/widgets/dialogs/qfiledialog_p.h(412): warning C4273: 'QFileDialogPrivate::selectedMimeTypeFilter_sys': inconsistent dll linkage while building tst_qfiledialog2. Amends change 34f82b8abcb279542b6350e70609c549e39caafb. Change-Id: I7306535000af73ee3a027b14a2d5cfce4f889e85 Reviewed-by: Marc Mutz --- src/widgets/dialogs/qfiledialog_p.h | 41 +++++++++++++++++++------------------ 1 file changed, 21 insertions(+), 20 deletions(-) diff --git a/src/widgets/dialogs/qfiledialog_p.h b/src/widgets/dialogs/qfiledialog_p.h index b665b54a9b..d5df7542b6 100644 --- a/src/widgets/dialogs/qfiledialog_p.h +++ b/src/widgets/dialogs/qfiledialog_p.h @@ -253,15 +253,15 @@ public: bool canBeNativeDialog() const Q_DECL_OVERRIDE; inline bool usingWidgets() const; - void setDirectory_sys(const QUrl &directory); - QUrl directory_sys() const; - void selectFile_sys(const QUrl &filename); - QList selectedFiles_sys() const; - void setFilter_sys(); - void selectMimeTypeFilter_sys(const QString &filter); - QString selectedMimeTypeFilter_sys() const; - void selectNameFilter_sys(const QString &filter); - QString selectedNameFilter_sys() const; + inline void setDirectory_sys(const QUrl &directory); + inline QUrl directory_sys() const; + inline void selectFile_sys(const QUrl &filename); + inline QList selectedFiles_sys() const; + inline void setFilter_sys(); + inline void selectMimeTypeFilter_sys(const QString &filter); + inline QString selectedMimeTypeFilter_sys() const; + inline void selectNameFilter_sys(const QString &filter); + inline QString selectedNameFilter_sys() const; ////////////////////////////////////////////// QScopedPointer qFileDialogUi; @@ -341,14 +341,14 @@ private: QFileDialogPrivate *d_ptr; }; -inline QModelIndex QFileDialogPrivate::mapToSource(const QModelIndex &index) const { +QModelIndex QFileDialogPrivate::mapToSource(const QModelIndex &index) const { #ifdef QT_NO_PROXYMODEL return index; #else return proxyModel ? proxyModel->mapToSource(index) : index; #endif } -inline QModelIndex QFileDialogPrivate::mapFromSource(const QModelIndex &index) const { +QModelIndex QFileDialogPrivate::mapFromSource(const QModelIndex &index) const { #ifdef QT_NO_PROXYMODEL return index; #else @@ -356,11 +356,12 @@ inline QModelIndex QFileDialogPrivate::mapFromSource(const QModelIndex &index) c #endif } -inline QString QFileDialogPrivate::rootPath() const { +QString QFileDialogPrivate::rootPath() const +{ return (model ? model->rootPath() : QStringLiteral("/")); } -inline void QFileDialogPrivate::setDirectory_sys(const QUrl &directory) +void QFileDialogPrivate::setDirectory_sys(const QUrl &directory) { QPlatformFileDialogHelper *helper = platformFileDialogHelper(); @@ -371,14 +372,14 @@ inline void QFileDialogPrivate::setDirectory_sys(const QUrl &directory) helper->setDirectory(directory); } -inline QUrl QFileDialogPrivate::directory_sys() const +QUrl QFileDialogPrivate::directory_sys() const { if (QPlatformFileDialogHelper *helper = platformFileDialogHelper()) return helper->directory(); return QUrl(); } -inline void QFileDialogPrivate::selectFile_sys(const QUrl &filename) +void QFileDialogPrivate::selectFile_sys(const QUrl &filename) { QPlatformFileDialogHelper *helper = platformFileDialogHelper(); @@ -389,20 +390,20 @@ inline void QFileDialogPrivate::selectFile_sys(const QUrl &filename) helper->selectFile(filename); } -inline QList QFileDialogPrivate::selectedFiles_sys() const +QList QFileDialogPrivate::selectedFiles_sys() const { if (QPlatformFileDialogHelper *helper = platformFileDialogHelper()) return helper->selectedFiles(); return QList(); } -inline void QFileDialogPrivate::setFilter_sys() +void QFileDialogPrivate::setFilter_sys() { if (QPlatformFileDialogHelper *helper = platformFileDialogHelper()) helper->setFilter(); } -inline void QFileDialogPrivate::selectMimeTypeFilter_sys(const QString &filter) +void QFileDialogPrivate::selectMimeTypeFilter_sys(const QString &filter) { if (QPlatformFileDialogHelper *helper = platformFileDialogHelper()) helper->selectMimeTypeFilter(filter); @@ -416,13 +417,13 @@ QString QFileDialogPrivate::selectedMimeTypeFilter_sys() const return QString(); } -inline void QFileDialogPrivate::selectNameFilter_sys(const QString &filter) +void QFileDialogPrivate::selectNameFilter_sys(const QString &filter) { if (QPlatformFileDialogHelper *helper = platformFileDialogHelper()) helper->selectNameFilter(filter); } -inline QString QFileDialogPrivate::selectedNameFilter_sys() const +QString QFileDialogPrivate::selectedNameFilter_sys() const { if (QPlatformFileDialogHelper *helper = platformFileDialogHelper()) return helper->selectedNameFilter(); -- cgit v1.2.3 From 62fc49fb91aa1e170b1ec61baab24bad3291e98d Mon Sep 17 00:00:00 2001 From: Allan Sandfeld Jensen Date: Tue, 2 May 2017 12:58:15 +0200 Subject: Handle implicit close in QDashedStrokeProcessor Otherwise dashed polygons will not be closed when stroked like they are documented to be. Task-number: QTBUG-60397 Change-Id: I58e9e3a06af157f9a2789ccab640c9da75867962 Reviewed-by: Eirik Aavitsland --- src/gui/opengl/qopenglpaintengine.cpp | 3 +-- src/gui/painting/qtriangulatingstroker.cpp | 11 ++++++++++- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/gui/opengl/qopenglpaintengine.cpp b/src/gui/opengl/qopenglpaintengine.cpp index aeb4fc0b7a..17dc9df619 100644 --- a/src/gui/opengl/qopenglpaintengine.cpp +++ b/src/gui/opengl/qopenglpaintengine.cpp @@ -1330,8 +1330,7 @@ void QOpenGL2PaintEngineExPrivate::stroke(const QVectorPath &path, const QPen &p QVectorPath dashStroke(dasher.points(), dasher.elementCount(), - dasher.elementTypes(), - s->renderHints); + dasher.elementTypes()); stroker.process(dashStroke, pen, clip, s->renderHints); } diff --git a/src/gui/painting/qtriangulatingstroker.cpp b/src/gui/painting/qtriangulatingstroker.cpp index 6243f1e2a4..3f7b01ddbe 100644 --- a/src/gui/painting/qtriangulatingstroker.cpp +++ b/src/gui/painting/qtriangulatingstroker.cpp @@ -525,6 +525,7 @@ void QDashedStrokeProcessor::process(const QVectorPath &path, const QPen &pen, c int count = path.elementCount(); bool cosmetic = qt_pen_is_cosmetic(pen, hints); + bool implicitClose = path.hasImplicitClose(); m_points.reset(); m_types.reset(); @@ -558,8 +559,14 @@ void QDashedStrokeProcessor::process(const QVectorPath &path, const QPen &pen, c if (count < 2) return; - const qreal *endPts = pts + (count<<1); + bool needsClose = false; + if (implicitClose) { + if (pts[0] != pts[count * 2 - 2] || pts[1] != pts[count * 2 - 1]) + needsClose = true; + } + const qreal *firstPts = pts; + const qreal *endPts = pts + (count<<1); m_dash_stroker.begin(this); if (!types) { @@ -605,6 +612,8 @@ void QDashedStrokeProcessor::process(const QVectorPath &path, const QPen &pen, c } } } + if (needsClose) + m_dash_stroker.lineTo(firstPts[0], firstPts[1]); m_dash_stroker.end(); } -- cgit v1.2.3 From e4cb8c881f4c5e99de50a811d6cc7dd911baaa5e Mon Sep 17 00:00:00 2001 From: Simon Hausmann Date: Tue, 18 Apr 2017 11:42:18 +0200 Subject: Fix installation of shader files in qtquickcontrols in non-prefix builds Use the new qmake install command to copy files around, in order to avoid the '+' trap of the Windows copy command. Task-number: QTBUG-60214 Change-Id: I7f588dbbfcdd89b7e98dbef7757944ca856815aa Reviewed-by: Oswald Buddenhagen --- mkspecs/features/file_copies.prf | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/mkspecs/features/file_copies.prf b/mkspecs/features/file_copies.prf index 4ebf41c78f..a3520ba549 100644 --- a/mkspecs/features/file_copies.prf +++ b/mkspecs/features/file_copies.prf @@ -45,11 +45,9 @@ for (cp, COPIES) { } $${pfx}.input = $${pfx}.files !$$dir: \ - $${pfx}.commands = $$QMAKE_COPY ${QMAKE_FILE_IN} ${QMAKE_FILE_OUT_PATH} - else: !copy_dir_files: \ - $${pfx}.commands = $$QMAKE_COPY_DIR ${QMAKE_FILE_IN} ${QMAKE_FILE_OUT_PATH} + $${pfx}.commands = $(QINSTALL_FILE) ${QMAKE_FILE_IN} ${QMAKE_FILE_OUT} else: \ - $${pfx}.commands = $$QMAKE_COPY_DIR ${QMAKE_FILE_IN} ${QMAKE_FILE_OUT} + $${pfx}.commands = $(QINSTALL_DIR) ${QMAKE_FILE_IN} ${QMAKE_FILE_OUT} $${pfx}.name = COPY ${QMAKE_FILE_IN} $${pfx}.CONFIG = no_link no_clean target_predeps QMAKE_EXTRA_COMPILERS += $${pfx} -- cgit v1.2.3 From 705c716543f2c318dc7b455d881fe0c8a6a467bf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tor=20Arne=20Vestb=C3=B8?= Date: Fri, 21 Apr 2017 16:09:05 +0200 Subject: macOS: Add auto-release pools for Q*ApplicationPrivate::init() MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit So that any objects autoreleased during application initialization are released. Otherwise they will end up in the root level pool and only be released when the application exits and the application goes out of scope. Change-Id: If02d24fd70098f9b4b1b0ea3218e0a15e438b9db Reviewed-by: Morten Johan Sørvig --- src/corelib/kernel/qcoreapplication.cpp | 4 ++++ src/gui/kernel/qguiapplication.cpp | 4 ++++ src/widgets/kernel/qapplication.cpp | 4 ++++ 3 files changed, 12 insertions(+) diff --git a/src/corelib/kernel/qcoreapplication.cpp b/src/corelib/kernel/qcoreapplication.cpp index cc8375298d..0104ba0101 100644 --- a/src/corelib/kernel/qcoreapplication.cpp +++ b/src/corelib/kernel/qcoreapplication.cpp @@ -758,6 +758,10 @@ QCoreApplication::QCoreApplication(int &argc, char **argv void QCoreApplicationPrivate::init() { +#if defined(Q_OS_MACOS) + QMacAutoReleasePool pool; +#endif + Q_Q(QCoreApplication); initLocale(); diff --git a/src/gui/kernel/qguiapplication.cpp b/src/gui/kernel/qguiapplication.cpp index 56f112c36c..1dd019cd55 100644 --- a/src/gui/kernel/qguiapplication.cpp +++ b/src/gui/kernel/qguiapplication.cpp @@ -1319,6 +1319,10 @@ void QGuiApplicationPrivate::eventDispatcherReady() void QGuiApplicationPrivate::init() { +#if defined(Q_OS_MACOS) + QMacAutoReleasePool pool; +#endif + QCoreApplicationPrivate::init(); QCoreApplicationPrivate::is_app_running = false; // Starting up. diff --git a/src/widgets/kernel/qapplication.cpp b/src/widgets/kernel/qapplication.cpp index 0e4ee30c19..4ab43628b9 100644 --- a/src/widgets/kernel/qapplication.cpp +++ b/src/widgets/kernel/qapplication.cpp @@ -564,6 +564,10 @@ QApplication::QApplication(int &argc, char **argv, int _internal) */ void QApplicationPrivate::init() { +#if defined(Q_OS_MACOS) + QMacAutoReleasePool pool; +#endif + QGuiApplicationPrivate::init(); initResources(); -- cgit v1.2.3 From 60865878e44267cb036714a520b33e9a2078c452 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tor=20Arne=20Vestb=C3=B8?= Date: Fri, 21 Apr 2017 17:16:22 +0200 Subject: macOS: Add autorelease-pool when recreating NSWindow MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Significantly reduces the number of objects left to rot in the root pool, which is only drained on application shutdown. Change-Id: Iad7520ab083715416d95413a63474b9153f22fb5 Reviewed-by: Morten Johan Sørvig --- src/plugins/platforms/cocoa/qcocoawindow.mm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/plugins/platforms/cocoa/qcocoawindow.mm b/src/plugins/platforms/cocoa/qcocoawindow.mm index b453da818f..b85fb97f67 100644 --- a/src/plugins/platforms/cocoa/qcocoawindow.mm +++ b/src/plugins/platforms/cocoa/qcocoawindow.mm @@ -1556,6 +1556,8 @@ void QCocoaWindow::foreachChildNSWindow(void (^block)(QCocoaWindow *)) */ void QCocoaWindow::recreateWindowIfNeeded() { + QMacAutoReleasePool pool; + QPlatformWindow *parentWindow = QPlatformWindow::parent(); qCDebug(lcQpaCocoaWindow) << "QCocoaWindow::recreateWindowIfNeeded" << window() << "parent" << (parentWindow ? parentWindow->window() : 0); -- cgit v1.2.3 From 46543bb462c4709d622080a0c32901a95f8d8963 Mon Sep 17 00:00:00 2001 From: Gabriel de Dietrich Date: Mon, 1 May 2017 12:54:48 +0700 Subject: QMenu: Refactor column layout logic Change-Id: I30f1c87092447abf1c94e69c0124eeeee43666e2 Reviewed-by: Friedemann Kleint --- src/widgets/widgets/qmenu.cpp | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/src/widgets/widgets/qmenu.cpp b/src/widgets/widgets/qmenu.cpp index 4a3291b2ca..75704f73de 100644 --- a/src/widgets/widgets/qmenu.cpp +++ b/src/widgets/widgets/qmenu.cpp @@ -327,8 +327,8 @@ void QMenuPrivate::updateActionRects(const QRect &screen) const const int deskFw = style->pixelMetric(QStyle::PM_MenuDesktopFrameWidth, &opt, q); const int tearoffHeight = tearoff ? style->pixelMetric(QStyle::PM_MenuTearoffHeight, &opt, q) : 0; const int base_y = vmargin + fw + topmargin + (scroll ? scroll->scrollOffset : 0) + tearoffHeight; + const int column_max_y = screen.height() - 2 * deskFw - (vmargin + bottommargin + fw); int max_column_width = 0; - int dh = screen.height(); int y = base_y; //for compatibility now - will have to refactor this away @@ -406,8 +406,7 @@ void QMenuPrivate::updateActionRects(const QRect &screen) const if (!sz.isEmpty()) { max_column_width = qMax(max_column_width, sz.width()); //wrapping - if (!scroll && - y + sz.height() + vmargin + bottommargin + fw > dh - (deskFw * 2)) { + if (!scroll && y + sz.height() > column_max_y) { ncols++; y = base_y; } else { @@ -433,8 +432,7 @@ void QMenuPrivate::updateActionRects(const QRect &screen) const QRect &rect = actionRects[i]; if (rect.isNull()) continue; - if (!scroll && - y + rect.height() + vmargin + bottommargin + fw > dh - deskFw * 2) { + if (!scroll && y + rect.height() > column_max_y) { x += max_column_width + hmargin; y = base_y; } -- cgit v1.2.3 From 8e83d6150121412b9f493ff525bce6f09d105463 Mon Sep 17 00:00:00 2001 From: Eric Lemanissier Date: Tue, 28 Mar 2017 08:48:46 +0200 Subject: Adapt to the C++ SIC introduced by P0012: noexcept specialization complements commit c5e687895dd2eba3106f697b6e92b84683402403 added missing noexcept (void)StoredMemberFunctionCall specialization to disambiguate template selection. Without these specializations, StoredFunctorPointerCall was a better match, which led to compilation failure Task-number: QTBUG-58142 Change-Id: Ibd41057d9a497f057a895d73277902e90300ed7a Reviewed-by: Allan Sandfeld Jensen --- src/concurrent/qtconcurrentrun.h | 311 ++++++++ src/concurrent/qtconcurrentstoredfunctioncall.h | 975 +++++++++++++++++++++++- 2 files changed, 1275 insertions(+), 11 deletions(-) diff --git a/src/concurrent/qtconcurrentrun.h b/src/concurrent/qtconcurrentrun.h index 8e7c495a0f..c0c0e66913 100644 --- a/src/concurrent/qtconcurrentrun.h +++ b/src/concurrent/qtconcurrentrun.h @@ -606,6 +606,317 @@ QFuture run(QThreadPool *pool, const Class *object, T (Class::*fn)(Param1, Pa return (new typename SelectStoredConstMemberFunctionPointerCall5::type(fn, object, arg1, arg2, arg3, arg4, arg5))->start(pool); } +#if defined(__cpp_noexcept_function_type) && __cpp_noexcept_function_type >= 201510 +template +QFuture run(T (*functionPointer)() noexcept) +{ + return (new StoredFunctorCall0(functionPointer))->start(); +} +template +QFuture run(T (*functionPointer)(Param1) noexcept, const Arg1 &arg1) +{ + return (new StoredFunctorCall1(functionPointer, arg1))->start(); +} +template +QFuture run(T (*functionPointer)(Param1, Param2) noexcept, const Arg1 &arg1, const Arg2 &arg2) +{ + return (new StoredFunctorCall2(functionPointer, arg1, arg2))->start(); +} +template +QFuture run(T (*functionPointer)(Param1, Param2, Param3) noexcept, const Arg1 &arg1, const Arg2 &arg2, const Arg3 &arg3) +{ + return (new StoredFunctorCall3(functionPointer, arg1, arg2, arg3))->start(); +} +template +QFuture run(T (*functionPointer)(Param1, Param2, Param3, Param4) noexcept, const Arg1 &arg1, const Arg2 &arg2, const Arg3 &arg3, const Arg4 &arg4) +{ + return (new StoredFunctorCall4(functionPointer, arg1, arg2, arg3, arg4))->start(); +} +template +QFuture run(T (*functionPointer)(Param1, Param2, Param3, Param4, Param5) noexcept, const Arg1 &arg1, const Arg2 &arg2, const Arg3 &arg3, const Arg4 &arg4, const Arg5 &arg5) +{ + return (new StoredFunctorCall5(functionPointer, arg1, arg2, arg3, arg4, arg5))->start(); +} + +template +QFuture run(const Class &object, T (Class::*fn)() noexcept) +{ + return (new typename SelectStoredNoExceptMemberFunctionCall0::type(fn, object))->start(); +} +template +QFuture run(const Class &object, T (Class::*fn)(Param1) noexcept, const Arg1 &arg1) +{ + return (new typename SelectStoredNoExceptMemberFunctionCall1::type(fn, object, arg1))->start(); +} +template +QFuture run(const Class &object, T (Class::*fn)(Param1, Param2) noexcept, const Arg1 &arg1, const Arg2 &arg2) +{ + return (new typename SelectStoredNoExceptMemberFunctionCall2::type(fn, object, arg1, arg2))->start(); +} +template +QFuture run(const Class &object, T (Class::*fn)(Param1, Param2, Param3) noexcept, const Arg1 &arg1, const Arg2 &arg2, const Arg3 &arg3) +{ + return (new typename SelectStoredNoExceptMemberFunctionCall3::type(fn, object, arg1, arg2, arg3))->start(); +} +template +QFuture run(const Class &object, T (Class::*fn)(Param1, Param2, Param3, Param4) noexcept, const Arg1 &arg1, const Arg2 &arg2, const Arg3 &arg3, const Arg4 &arg4) +{ + return (new typename SelectStoredNoExceptMemberFunctionCall4::type(fn, object, arg1, arg2, arg3, arg4))->start(); +} +template +QFuture run(const Class &object, T (Class::*fn)(Param1, Param2, Param3, Param4, Param5) noexcept, const Arg1 &arg1, const Arg2 &arg2, const Arg3 &arg3, const Arg4 &arg4, const Arg5 &arg5) +{ + return (new typename SelectStoredNoExceptMemberFunctionCall5::type(fn, object, arg1, arg2, arg3, arg4, arg5))->start(); +} + +template +QFuture run(const Class &object, T (Class::*fn)() const noexcept) +{ + return (new typename SelectStoredConstNoExceptMemberFunctionCall0::type(fn, object))->start(); +} +template +QFuture run(const Class &object, T (Class::*fn)(Param1) const noexcept, const Arg1 &arg1) +{ + return (new typename SelectStoredConstNoExceptMemberFunctionCall1::type(fn, object, arg1))->start(); +} +template +QFuture run(const Class &object, T (Class::*fn)(Param1, Param2) const noexcept, const Arg1 &arg1, const Arg2 &arg2) +{ + return (new typename SelectStoredConstNoExceptMemberFunctionCall2::type(fn, object, arg1, arg2))->start(); +} +template +QFuture run(const Class &object, T (Class::*fn)(Param1, Param2, Param3) const noexcept, const Arg1 &arg1, const Arg2 &arg2, const Arg3 &arg3) +{ + return (new typename SelectStoredConstNoExceptMemberFunctionCall3::type(fn, object, arg1, arg2, arg3))->start(); +} +template +QFuture run(const Class &object, T (Class::*fn)(Param1, Param2, Param3, Param4) const noexcept, const Arg1 &arg1, const Arg2 &arg2, const Arg3 &arg3, const Arg4 &arg4) +{ + return (new typename SelectStoredConstNoExceptMemberFunctionCall4::type(fn, object, arg1, arg2, arg3, arg4))->start(); +} +template +QFuture run(const Class &object, T (Class::*fn)(Param1, Param2, Param3, Param4, Param5) const noexcept, const Arg1 &arg1, const Arg2 &arg2, const Arg3 &arg3, const Arg4 &arg4, const Arg5 &arg5) +{ + return (new typename SelectStoredConstNoExceptMemberFunctionCall5::type(fn, object, arg1, arg2, arg3, arg4, arg5))->start(); +} + +template +QFuture run(Class *object, T (Class::*fn)() noexcept) +{ + return (new typename SelectStoredNoExceptMemberFunctionPointerCall0::type(fn, object))->start(); +} +template +QFuture run(Class *object, T (Class::*fn)(Param1) noexcept, const Arg1 &arg1) +{ + return (new typename SelectStoredNoExceptMemberFunctionPointerCall1::type(fn, object, arg1))->start(); +} +template +QFuture run(Class *object, T (Class::*fn)(Param1, Param2) noexcept, const Arg1 &arg1, const Arg2 &arg2) +{ + return (new typename SelectStoredNoExceptMemberFunctionPointerCall2::type(fn, object, arg1, arg2))->start(); +} +template +QFuture run(Class *object, T (Class::*fn)(Param1, Param2, Param3) noexcept, const Arg1 &arg1, const Arg2 &arg2, const Arg3 &arg3) +{ + return (new typename SelectStoredNoExceptMemberFunctionPointerCall3::type(fn, object, arg1, arg2, arg3))->start(); +} +template +QFuture run(Class *object, T (Class::*fn)(Param1, Param2, Param3, Param4) noexcept, const Arg1 &arg1, const Arg2 &arg2, const Arg3 &arg3, const Arg4 &arg4) +{ + return (new typename SelectStoredNoExceptMemberFunctionPointerCall4::type(fn, object, arg1, arg2, arg3, arg4))->start(); +} +template +QFuture run(Class *object, T (Class::*fn)(Param1, Param2, Param3, Param4, Param5) noexcept, const Arg1 &arg1, const Arg2 &arg2, const Arg3 &arg3, const Arg4 &arg4, const Arg5 &arg5) +{ + return (new typename SelectStoredNoExceptMemberFunctionPointerCall5::type(fn, object, arg1, arg2, arg3, arg4, arg5))->start(); +} + +template +QFuture run(const Class *object, T (Class::*fn)() const noexcept) +{ + return (new typename SelectStoredConstNoExceptMemberFunctionPointerCall0::type(fn, object))->start(); +} +template +QFuture run(const Class *object, T (Class::*fn)(Param1) const noexcept, const Arg1 &arg1) +{ + return (new typename SelectStoredConstNoExceptMemberFunctionPointerCall1::type(fn, object, arg1))->start(); +} +template +QFuture run(const Class *object, T (Class::*fn)(Param1, Param2) const noexcept, const Arg1 &arg1, const Arg2 &arg2) +{ + return (new typename SelectStoredConstNoExceptMemberFunctionPointerCall2::type(fn, object, arg1, arg2))->start(); +} +template +QFuture run(const Class *object, T (Class::*fn)(Param1, Param2, Param3) const noexcept, const Arg1 &arg1, const Arg2 &arg2, const Arg3 &arg3) +{ + return (new typename SelectStoredConstNoExceptMemberFunctionPointerCall3::type(fn, object, arg1, arg2, arg3))->start(); +} +template +QFuture run(const Class *object, T (Class::*fn)(Param1, Param2, Param3, Param4) const noexcept, const Arg1 &arg1, const Arg2 &arg2, const Arg3 &arg3, const Arg4 &arg4) +{ + return (new typename SelectStoredConstNoExceptMemberFunctionPointerCall4::type(fn, object, arg1, arg2, arg3, arg4))->start(); +} +template +QFuture run(const Class *object, T (Class::*fn)(Param1, Param2, Param3, Param4, Param5) const noexcept, const Arg1 &arg1, const Arg2 &arg2, const Arg3 &arg3, const Arg4 &arg4, const Arg5 &arg5) +{ + return (new typename SelectStoredConstNoExceptMemberFunctionPointerCall5::type(fn, object, arg1, arg2, arg3, arg4, arg5))->start(); +} +template +QFuture run(QThreadPool *pool, T (*functionPointer)() noexcept) +{ + return (new StoredFunctorCall0(functionPointer))->start(pool); +} +template +QFuture run(QThreadPool *pool, T (*functionPointer)(Param1) noexcept, const Arg1 &arg1) +{ + return (new StoredFunctorCall1(functionPointer, arg1))->start(pool); +} +template +QFuture run(QThreadPool *pool, T (*functionPointer)(Param1, Param2) noexcept, const Arg1 &arg1, const Arg2 &arg2) +{ + return (new StoredFunctorCall2(functionPointer, arg1, arg2))->start(pool); +} +template +QFuture run(QThreadPool *pool, T (*functionPointer)(Param1, Param2, Param3) noexcept, const Arg1 &arg1, const Arg2 &arg2, const Arg3 &arg3) +{ + return (new StoredFunctorCall3(functionPointer, arg1, arg2, arg3))->start(pool); +} +template +QFuture run(QThreadPool *pool, T (*functionPointer)(Param1, Param2, Param3, Param4) noexcept, const Arg1 &arg1, const Arg2 &arg2, const Arg3 &arg3, const Arg4 &arg4) +{ + return (new StoredFunctorCall4(functionPointer, arg1, arg2, arg3, arg4))->start(pool); +} +template +QFuture run(QThreadPool *pool, T (*functionPointer)(Param1, Param2, Param3, Param4, Param5) noexcept, const Arg1 &arg1, const Arg2 &arg2, const Arg3 &arg3, const Arg4 &arg4, const Arg5 &arg5) +{ + return (new StoredFunctorCall5(functionPointer, arg1, arg2, arg3, arg4, arg5))->start(pool); +} + +template +QFuture run(QThreadPool *pool, const Class &object, T (Class::*fn)() noexcept) +{ + return (new typename SelectStoredNoExceptMemberFunctionCall0::type(fn, object))->start(pool); +} +template +QFuture run(QThreadPool *pool, const Class &object, T (Class::*fn)(Param1) noexcept, const Arg1 &arg1) +{ + return (new typename SelectStoredNoExceptMemberFunctionCall1::type(fn, object, arg1))->start(pool); +} +template +QFuture run(QThreadPool *pool, const Class &object, T (Class::*fn)(Param1, Param2) noexcept, const Arg1 &arg1, const Arg2 &arg2) +{ + return (new typename SelectStoredNoExceptMemberFunctionCall2::type(fn, object, arg1, arg2))->start(pool); +} +template +QFuture run(QThreadPool *pool, const Class &object, T (Class::*fn)(Param1, Param2, Param3) noexcept, const Arg1 &arg1, const Arg2 &arg2, const Arg3 &arg3) +{ + return (new typename SelectStoredNoExceptMemberFunctionCall3::type(fn, object, arg1, arg2, arg3))->start(pool); +} +template +QFuture run(QThreadPool *pool, const Class &object, T (Class::*fn)(Param1, Param2, Param3, Param4) noexcept, const Arg1 &arg1, const Arg2 &arg2, const Arg3 &arg3, const Arg4 &arg4) +{ + return (new typename SelectStoredNoExceptMemberFunctionCall4::type(fn, object, arg1, arg2, arg3, arg4))->start(pool); +} +template +QFuture run(QThreadPool *pool, const Class &object, T (Class::*fn)(Param1, Param2, Param3, Param4, Param5) noexcept, const Arg1 &arg1, const Arg2 &arg2, const Arg3 &arg3, const Arg4 &arg4, const Arg5 &arg5) +{ + return (new typename SelectStoredNoExceptMemberFunctionCall5::type(fn, object, arg1, arg2, arg3, arg4, arg5))->start(pool); +} + +template +QFuture run(QThreadPool *pool, const Class &object, T (Class::*fn)() const noexcept) +{ + return (new typename SelectStoredConstNoExceptMemberFunctionCall0::type(fn, object))->start(pool); +} +template +QFuture run(QThreadPool *pool, const Class &object, T (Class::*fn)(Param1) const noexcept, const Arg1 &arg1) +{ + return (new typename SelectStoredConstNoExceptMemberFunctionCall1::type(fn, object, arg1))->start(pool); +} +template +QFuture run(QThreadPool *pool, const Class &object, T (Class::*fn)(Param1, Param2) const noexcept, const Arg1 &arg1, const Arg2 &arg2) +{ + return (new typename SelectStoredConstNoExceptMemberFunctionCall2::type(fn, object, arg1, arg2))->start(pool); +} +template +QFuture run(QThreadPool *pool, const Class &object, T (Class::*fn)(Param1, Param2, Param3) const noexcept, const Arg1 &arg1, const Arg2 &arg2, const Arg3 &arg3) +{ + return (new typename SelectStoredConstNoExceptMemberFunctionCall3::type(fn, object, arg1, arg2, arg3))->start(pool); +} +template +QFuture run(QThreadPool *pool, const Class &object, T (Class::*fn)(Param1, Param2, Param3, Param4) const noexcept, const Arg1 &arg1, const Arg2 &arg2, const Arg3 &arg3, const Arg4 &arg4) +{ + return (new typename SelectStoredConstNoExceptMemberFunctionCall4::type(fn, object, arg1, arg2, arg3, arg4))->start(pool); +} +template +QFuture run(QThreadPool *pool, const Class &object, T (Class::*fn)(Param1, Param2, Param3, Param4, Param5) const noexcept, const Arg1 &arg1, const Arg2 &arg2, const Arg3 &arg3, const Arg4 &arg4, const Arg5 &arg5) +{ + return (new typename SelectStoredConstNoExceptMemberFunctionCall5::type(fn, object, arg1, arg2, arg3, arg4, arg5))->start(pool); +} + +template +QFuture run(QThreadPool *pool, Class *object, T (Class::*fn)() noexcept) +{ + return (new typename SelectStoredNoExceptMemberFunctionPointerCall0::type(fn, object))->start(pool); +} +template +QFuture run(QThreadPool *pool, Class *object, T (Class::*fn)(Param1) noexcept, const Arg1 &arg1) +{ + return (new typename SelectStoredNoExceptMemberFunctionPointerCall1::type(fn, object, arg1))->start(pool); +} +template +QFuture run(QThreadPool *pool, Class *object, T (Class::*fn)(Param1, Param2) noexcept, const Arg1 &arg1, const Arg2 &arg2) +{ + return (new typename SelectStoredNoExceptMemberFunctionPointerCall2::type(fn, object, arg1, arg2))->start(pool); +} +template +QFuture run(QThreadPool *pool, Class *object, T (Class::*fn)(Param1, Param2, Param3) noexcept, const Arg1 &arg1, const Arg2 &arg2, const Arg3 &arg3) +{ + return (new typename SelectStoredNoExceptMemberFunctionPointerCall3::type(fn, object, arg1, arg2, arg3))->start(pool); +} +template +QFuture run(QThreadPool *pool, Class *object, T (Class::*fn)(Param1, Param2, Param3, Param4) noexcept, const Arg1 &arg1, const Arg2 &arg2, const Arg3 &arg3, const Arg4 &arg4) +{ + return (new typename SelectStoredNoExceptMemberFunctionPointerCall4::type(fn, object, arg1, arg2, arg3, arg4))->start(pool); +} +template +QFuture run(QThreadPool *pool, Class *object, T (Class::*fn)(Param1, Param2, Param3, Param4, Param5) noexcept, const Arg1 &arg1, const Arg2 &arg2, const Arg3 &arg3, const Arg4 &arg4, const Arg5 &arg5) +{ + return (new typename SelectStoredNoExceptMemberFunctionPointerCall5::type(fn, object, arg1, arg2, arg3, arg4, arg5))->start(pool); +} + +template +QFuture run(QThreadPool *pool, const Class *object, T (Class::*fn)() const noexcept) +{ + return (new typename SelectStoredConstNoExceptMemberFunctionPointerCall0::type(fn, object))->start(pool); +} +template +QFuture run(QThreadPool *pool, const Class *object, T (Class::*fn)(Param1) const noexcept, const Arg1 &arg1) +{ + return (new typename SelectStoredConstNoExceptMemberFunctionPointerCall1::type(fn, object, arg1))->start(pool); +} +template +QFuture run(QThreadPool *pool, const Class *object, T (Class::*fn)(Param1, Param2) const noexcept, const Arg1 &arg1, const Arg2 &arg2) +{ + return (new typename SelectStoredConstNoExceptMemberFunctionPointerCall2::type(fn, object, arg1, arg2))->start(pool); +} +template +QFuture run(QThreadPool *pool, const Class *object, T (Class::*fn)(Param1, Param2, Param3) const noexcept, const Arg1 &arg1, const Arg2 &arg2, const Arg3 &arg3) +{ + return (new typename SelectStoredConstNoExceptMemberFunctionPointerCall3::type(fn, object, arg1, arg2, arg3))->start(pool); +} +template +QFuture run(QThreadPool *pool, const Class *object, T (Class::*fn)(Param1, Param2, Param3, Param4) const noexcept, const Arg1 &arg1, const Arg2 &arg2, const Arg3 &arg3, const Arg4 &arg4) +{ + return (new typename SelectStoredConstNoExceptMemberFunctionPointerCall4::type(fn, object, arg1, arg2, arg3, arg4))->start(pool); +} +template +QFuture run(QThreadPool *pool, const Class *object, T (Class::*fn)(Param1, Param2, Param3, Param4, Param5) const noexcept, const Arg1 &arg1, const Arg2 &arg2, const Arg3 &arg3, const Arg4 &arg4, const Arg5 &arg5) +{ + return (new typename SelectStoredConstNoExceptMemberFunctionPointerCall5::type(fn, object, arg1, arg2, arg3, arg4, arg5))->start(pool); +} +#endif + } //namespace QtConcurrent #endif // Q_QDOC diff --git a/src/concurrent/qtconcurrentstoredfunctioncall.h b/src/concurrent/qtconcurrentstoredfunctioncall.h index eba6a1aad0..32a0214a88 100644 --- a/src/concurrent/qtconcurrentstoredfunctioncall.h +++ b/src/concurrent/qtconcurrentstoredfunctioncall.h @@ -255,6 +255,165 @@ struct SelectStoredConstMemberFunctionPointerCall0 Type, VoidStoredConstMemberFunctionPointerCall0 >::type type; }; +#if defined(__cpp_noexcept_function_type) && __cpp_noexcept_function_type >= 201510 +template +class StoredNoExceptMemberFunctionCall0 : public RunFunctionTask +{ +public: + StoredNoExceptMemberFunctionCall0(T (Class::*_fn)() noexcept, const Class &_object) + : fn(_fn), object(_object){ } + + void runFunctor() override + { + this->result = (object.*fn)(); + } +private: + T (Class::*fn)() noexcept; + Class object; + +}; +template +class VoidStoredNoExceptMemberFunctionCall0 : public RunFunctionTask +{ +public: + VoidStoredNoExceptMemberFunctionCall0(T (Class::*_fn)() noexcept, const Class &_object) + : fn(_fn), object(_object){ } + + void runFunctor() override + { + (object.*fn)(); + } +private: + T (Class::*fn)() noexcept; + Class object; + +}; +template +struct SelectStoredNoExceptMemberFunctionCall0 +{ + typedef typename SelectSpecialization::template + Type, + VoidStoredNoExceptMemberFunctionCall0 >::type type; +}; +template +class StoredConstNoExceptMemberFunctionCall0 : public RunFunctionTask +{ +public: + StoredConstNoExceptMemberFunctionCall0(T (Class::*_fn)() const noexcept, const Class &_object) + : fn(_fn), object(_object){ } + + void runFunctor() override + { + this->result = (object.*fn)(); + } +private: + T (Class::*fn)() const noexcept; + const Class object; + +}; +template +class VoidStoredConstNoExceptMemberFunctionCall0 : public RunFunctionTask +{ +public: + VoidStoredConstNoExceptMemberFunctionCall0(T (Class::*_fn)() const noexcept, const Class &_object) + : fn(_fn), object(_object){ } + + void runFunctor() override + { + (object.*fn)(); + } +private: + T (Class::*fn)() const noexcept; + const Class object; + +}; +template +struct SelectStoredConstNoExceptMemberFunctionCall0 +{ + typedef typename SelectSpecialization::template + Type, + VoidStoredConstNoExceptMemberFunctionCall0 >::type type; +}; +template +class StoredNoExceptMemberFunctionPointerCall0 : public RunFunctionTask +{ +public: + StoredNoExceptMemberFunctionPointerCall0(T (Class::*_fn)() noexcept, Class *_object) + : fn(_fn), object(_object){ } + + void runFunctor() override + { + this->result = (object->*fn)(); + } +private: + T (Class::*fn)() noexcept; + Class *object; + +}; +template +class VoidStoredNoExceptMemberFunctionPointerCall0 : public RunFunctionTask +{ +public: + VoidStoredNoExceptMemberFunctionPointerCall0(T (Class::*_fn)() noexcept, Class *_object) + : fn(_fn), object(_object){ } + + void runFunctor() override + { + (object->*fn)(); + } +private: + T (Class::*fn)() noexcept; + Class *object; + +}; +template +struct SelectStoredNoExceptMemberFunctionPointerCall0 +{ + typedef typename SelectSpecialization::template + Type, + VoidStoredNoExceptMemberFunctionPointerCall0 >::type type; +}; +template +class StoredConstNoExceptMemberFunctionPointerCall0 : public RunFunctionTask +{ +public: + StoredConstNoExceptMemberFunctionPointerCall0(T (Class::*_fn)() const noexcept, Class const *_object) + : fn(_fn), object(_object){ } + + void runFunctor() override + { + this->result = (object->*fn)(); + } +private: + T (Class::*fn)() const noexcept; + Class const *object; + +}; +template +class VoidStoredConstNoExceptMemberFunctionPointerCall0 : public RunFunctionTask +{ +public: + VoidStoredConstNoExceptMemberFunctionPointerCall0(T (Class::*_fn)() const noexcept, Class const *_object) + : fn(_fn), object(_object){ } + + void runFunctor() override + { + (object->*fn)(); + } +private: + T (Class::*fn)() const noexcept; + Class const *object; + +}; +template +struct SelectStoredConstNoExceptMemberFunctionPointerCall0 +{ + typedef typename SelectSpecialization::template + Type, + VoidStoredConstNoExceptMemberFunctionPointerCall0 >::type type; +}; +#endif + template struct StoredFunctorCall1: public RunFunctionTask { @@ -458,6 +617,165 @@ struct SelectStoredConstMemberFunctionPointerCall1 Type, VoidStoredConstMemberFunctionPointerCall1 >::type type; }; +#if defined(__cpp_noexcept_function_type) && __cpp_noexcept_function_type >= 201510 +template +class StoredNoExceptMemberFunctionCall1 : public RunFunctionTask +{ +public: + StoredNoExceptMemberFunctionCall1(T (Class::*_fn)(Param1) noexcept, const Class &_object, const Arg1 &_arg1) + : fn(_fn), object(_object), arg1(_arg1){ } + + void runFunctor() override + { + this->result = (object.*fn)(arg1); + } +private: + T (Class::*fn)(Param1) noexcept; + Class object; + Arg1 arg1; +}; +template +class VoidStoredNoExceptMemberFunctionCall1 : public RunFunctionTask +{ +public: + VoidStoredNoExceptMemberFunctionCall1(T (Class::*_fn)(Param1) noexcept, const Class &_object, const Arg1 &_arg1) + : fn(_fn), object(_object), arg1(_arg1){ } + + void runFunctor() override + { + (object.*fn)(arg1); + } +private: + T (Class::*fn)(Param1) noexcept; + Class object; + Arg1 arg1; +}; +template +struct SelectStoredNoExceptMemberFunctionCall1 +{ + typedef typename SelectSpecialization::template + Type, + VoidStoredNoExceptMemberFunctionCall1 >::type type; +}; +template +class StoredConstNoExceptMemberFunctionCall1 : public RunFunctionTask +{ +public: + StoredConstNoExceptMemberFunctionCall1(T (Class::*_fn)(Param1) const noexcept, const Class &_object, const Arg1 &_arg1) + : fn(_fn), object(_object), arg1(_arg1){ } + + void runFunctor() override + { + this->result = (object.*fn)(arg1); + } +private: + T (Class::*fn)(Param1) const noexcept; + const Class object; + Arg1 arg1; +}; +template +class VoidStoredConstNoExceptMemberFunctionCall1 : public RunFunctionTask +{ +public: + VoidStoredConstNoExceptMemberFunctionCall1(T (Class::*_fn)(Param1) const noexcept, const Class &_object, const Arg1 &_arg1) + : fn(_fn), object(_object), arg1(_arg1){ } + + void runFunctor() override + { + (object.*fn)(arg1); + } +private: + T (Class::*fn)(Param1) const noexcept; + const Class object; + Arg1 arg1; +}; +template +struct SelectStoredConstNoExceptMemberFunctionCall1 +{ + typedef typename SelectSpecialization::template + Type, + VoidStoredConstNoExceptMemberFunctionCall1 >::type type; +}; +template +class StoredNoExceptMemberFunctionPointerCall1 : public RunFunctionTask +{ +public: + StoredNoExceptMemberFunctionPointerCall1(T (Class::*_fn)(Param1) noexcept, Class *_object, const Arg1 &_arg1) + : fn(_fn), object(_object), arg1(_arg1){ } + + void runFunctor() override + { + this->result = (object->*fn)(arg1); + } +private: + T (Class::*fn)(Param1) noexcept; + Class *object; + Arg1 arg1; +}; +template +class VoidStoredNoExceptMemberFunctionPointerCall1 : public RunFunctionTask +{ +public: + VoidStoredNoExceptMemberFunctionPointerCall1(T (Class::*_fn)(Param1) noexcept, Class *_object, const Arg1 &_arg1) + : fn(_fn), object(_object), arg1(_arg1){ } + + void runFunctor() override + { + (object->*fn)(arg1); + } +private: + T (Class::*fn)(Param1) noexcept; + Class *object; + Arg1 arg1; +}; +template +struct SelectStoredNoExceptMemberFunctionPointerCall1 +{ + typedef typename SelectSpecialization::template + Type, + VoidStoredNoExceptMemberFunctionPointerCall1 >::type type; +}; +template +class StoredConstNoExceptMemberFunctionPointerCall1 : public RunFunctionTask +{ +public: + StoredConstNoExceptMemberFunctionPointerCall1(T (Class::*_fn)(Param1) const noexcept, Class const *_object, const Arg1 &_arg1) + : fn(_fn), object(_object), arg1(_arg1){ } + + void runFunctor() override + { + this->result = (object->*fn)(arg1); + } +private: + T (Class::*fn)(Param1) const noexcept; + Class const *object; + Arg1 arg1; +}; +template +class VoidStoredConstNoExceptMemberFunctionPointerCall1 : public RunFunctionTask +{ +public: + VoidStoredConstNoExceptMemberFunctionPointerCall1(T (Class::*_fn)(Param1) const noexcept, Class const *_object, const Arg1 &_arg1) + : fn(_fn), object(_object), arg1(_arg1){ } + + void runFunctor() override + { + (object->*fn)(arg1); + } +private: + T (Class::*fn)(Param1) const noexcept; + Class const *object; + Arg1 arg1; +}; +template +struct SelectStoredConstNoExceptMemberFunctionPointerCall1 +{ + typedef typename SelectSpecialization::template + Type, + VoidStoredConstNoExceptMemberFunctionPointerCall1 >::type type; +}; +#endif + template struct StoredFunctorCall2: public RunFunctionTask { @@ -661,6 +979,165 @@ struct SelectStoredConstMemberFunctionPointerCall2 Type, VoidStoredConstMemberFunctionPointerCall2 >::type type; }; +#if defined(__cpp_noexcept_function_type) && __cpp_noexcept_function_type >= 201510 +template +class StoredNoExceptMemberFunctionCall2 : public RunFunctionTask +{ +public: + StoredNoExceptMemberFunctionCall2(T (Class::*_fn)(Param1, Param2) noexcept, const Class &_object, const Arg1 &_arg1, const Arg2 &_arg2) + : fn(_fn), object(_object), arg1(_arg1), arg2(_arg2){ } + + void runFunctor() override + { + this->result = (object.*fn)(arg1, arg2); + } +private: + T (Class::*fn)(Param1, Param2) noexcept; + Class object; + Arg1 arg1; Arg2 arg2; +}; +template +class VoidStoredNoExceptMemberFunctionCall2 : public RunFunctionTask +{ +public: + VoidStoredNoExceptMemberFunctionCall2(T (Class::*_fn)(Param1, Param2) noexcept, const Class &_object, const Arg1 &_arg1, const Arg2 &_arg2) + : fn(_fn), object(_object), arg1(_arg1), arg2(_arg2){ } + + void runFunctor() override + { + (object.*fn)(arg1, arg2); + } +private: + T (Class::*fn)(Param1, Param2) noexcept; + Class object; + Arg1 arg1; Arg2 arg2; +}; +template +struct SelectStoredNoExceptMemberFunctionCall2 +{ + typedef typename SelectSpecialization::template + Type, + VoidStoredNoExceptMemberFunctionCall2 >::type type; +}; +template +class StoredConstNoExceptMemberFunctionCall2 : public RunFunctionTask +{ +public: + StoredConstNoExceptMemberFunctionCall2(T (Class::*_fn)(Param1, Param2) const noexcept, const Class &_object, const Arg1 &_arg1, const Arg2 &_arg2) + : fn(_fn), object(_object), arg1(_arg1), arg2(_arg2){ } + + void runFunctor() override + { + this->result = (object.*fn)(arg1, arg2); + } +private: + T (Class::*fn)(Param1, Param2) const noexcept; + const Class object; + Arg1 arg1; Arg2 arg2; +}; +template +class VoidStoredConstNoExceptMemberFunctionCall2 : public RunFunctionTask +{ +public: + VoidStoredConstNoExceptMemberFunctionCall2(T (Class::*_fn)(Param1, Param2) const noexcept, const Class &_object, const Arg1 &_arg1, const Arg2 &_arg2) + : fn(_fn), object(_object), arg1(_arg1), arg2(_arg2){ } + + void runFunctor() override + { + (object.*fn)(arg1, arg2); + } +private: + T (Class::*fn)(Param1, Param2) const noexcept; + const Class object; + Arg1 arg1; Arg2 arg2; +}; +template +struct SelectStoredConstNoExceptMemberFunctionCall2 +{ + typedef typename SelectSpecialization::template + Type, + VoidStoredConstNoExceptMemberFunctionCall2 >::type type; +}; +template +class StoredNoExceptMemberFunctionPointerCall2 : public RunFunctionTask +{ +public: + StoredNoExceptMemberFunctionPointerCall2(T (Class::*_fn)(Param1, Param2) noexcept, Class *_object, const Arg1 &_arg1, const Arg2 &_arg2) + : fn(_fn), object(_object), arg1(_arg1), arg2(_arg2){ } + + void runFunctor() override + { + this->result = (object->*fn)(arg1, arg2); + } +private: + T (Class::*fn)(Param1, Param2) noexcept; + Class *object; + Arg1 arg1; Arg2 arg2; +}; +template +class VoidStoredNoExceptMemberFunctionPointerCall2 : public RunFunctionTask +{ +public: + VoidStoredNoExceptMemberFunctionPointerCall2(T (Class::*_fn)(Param1, Param2) noexcept, Class *_object, const Arg1 &_arg1, const Arg2 &_arg2) + : fn(_fn), object(_object), arg1(_arg1), arg2(_arg2){ } + + void runFunctor() override + { + (object->*fn)(arg1, arg2); + } +private: + T (Class::*fn)(Param1, Param2) noexcept; + Class *object; + Arg1 arg1; Arg2 arg2; +}; +template +struct SelectStoredNoExceptMemberFunctionPointerCall2 +{ + typedef typename SelectSpecialization::template + Type, + VoidStoredNoExceptMemberFunctionPointerCall2 >::type type; +}; +template +class StoredConstNoExceptMemberFunctionPointerCall2 : public RunFunctionTask +{ +public: + StoredConstNoExceptMemberFunctionPointerCall2(T (Class::*_fn)(Param1, Param2) const noexcept, Class const *_object, const Arg1 &_arg1, const Arg2 &_arg2) + : fn(_fn), object(_object), arg1(_arg1), arg2(_arg2){ } + + void runFunctor() override + { + this->result = (object->*fn)(arg1, arg2); + } +private: + T (Class::*fn)(Param1, Param2) const noexcept; + Class const *object; + Arg1 arg1; Arg2 arg2; +}; +template +class VoidStoredConstNoExceptMemberFunctionPointerCall2 : public RunFunctionTask +{ +public: + VoidStoredConstNoExceptMemberFunctionPointerCall2(T (Class::*_fn)(Param1, Param2) const noexcept, Class const *_object, const Arg1 &_arg1, const Arg2 &_arg2) + : fn(_fn), object(_object), arg1(_arg1), arg2(_arg2){ } + + void runFunctor() override + { + (object->*fn)(arg1, arg2); + } +private: + T (Class::*fn)(Param1, Param2) const noexcept; + Class const *object; + Arg1 arg1; Arg2 arg2; +}; +template +struct SelectStoredConstNoExceptMemberFunctionPointerCall2 +{ + typedef typename SelectSpecialization::template + Type, + VoidStoredConstNoExceptMemberFunctionPointerCall2 >::type type; +}; +#endif + template struct StoredFunctorCall3: public RunFunctionTask { @@ -822,14 +1299,171 @@ template ::template - Type, - VoidStoredMemberFunctionPointerCall3 >::type type; + Type, + VoidStoredMemberFunctionPointerCall3 >::type type; +}; +template +class StoredConstMemberFunctionPointerCall3 : public RunFunctionTask +{ +public: + StoredConstMemberFunctionPointerCall3(T (Class::*_fn)(Param1, Param2, Param3) const, Class const *_object, const Arg1 &_arg1, const Arg2 &_arg2, const Arg3 &_arg3) + : fn(_fn), object(_object), arg1(_arg1), arg2(_arg2), arg3(_arg3){ } + + void runFunctor() override + { + this->result = (object->*fn)(arg1, arg2, arg3); + } +private: + T (Class::*fn)(Param1, Param2, Param3) const; + Class const *object; + Arg1 arg1; Arg2 arg2; Arg3 arg3; +}; +template +class VoidStoredConstMemberFunctionPointerCall3 : public RunFunctionTask +{ +public: + VoidStoredConstMemberFunctionPointerCall3(T (Class::*_fn)(Param1, Param2, Param3) const, Class const *_object, const Arg1 &_arg1, const Arg2 &_arg2, const Arg3 &_arg3) + : fn(_fn), object(_object), arg1(_arg1), arg2(_arg2), arg3(_arg3){ } + + void runFunctor() override + { + (object->*fn)(arg1, arg2, arg3); + } +private: + T (Class::*fn)(Param1, Param2, Param3) const; + Class const *object; + Arg1 arg1; Arg2 arg2; Arg3 arg3; +}; +template +struct SelectStoredConstMemberFunctionPointerCall3 +{ + typedef typename SelectSpecialization::template + Type, + VoidStoredConstMemberFunctionPointerCall3 >::type type; +}; +#if defined(__cpp_noexcept_function_type) && __cpp_noexcept_function_type >= 201510 +template +class StoredNoExceptMemberFunctionCall3 : public RunFunctionTask +{ +public: + StoredNoExceptMemberFunctionCall3(T (Class::*_fn)(Param1, Param2, Param3) noexcept, const Class &_object, const Arg1 &_arg1, const Arg2 &_arg2, const Arg3 &_arg3) + : fn(_fn), object(_object), arg1(_arg1), arg2(_arg2), arg3(_arg3){ } + + void runFunctor() override + { + this->result = (object.*fn)(arg1, arg2, arg3); + } +private: + T (Class::*fn)(Param1, Param2, Param3) noexcept; + Class object; + Arg1 arg1; Arg2 arg2; Arg3 arg3; +}; +template +class VoidStoredNoExceptMemberFunctionCall3 : public RunFunctionTask +{ +public: + VoidStoredNoExceptMemberFunctionCall3(T (Class::*_fn)(Param1, Param2, Param3) noexcept, const Class &_object, const Arg1 &_arg1, const Arg2 &_arg2, const Arg3 &_arg3) + : fn(_fn), object(_object), arg1(_arg1), arg2(_arg2), arg3(_arg3){ } + + void runFunctor() override + { + (object.*fn)(arg1, arg2, arg3); + } +private: + T (Class::*fn)(Param1, Param2, Param3) noexcept; + Class object; + Arg1 arg1; Arg2 arg2; Arg3 arg3; +}; +template +struct SelectStoredNoExceptMemberFunctionCall3 +{ + typedef typename SelectSpecialization::template + Type, + VoidStoredNoExceptMemberFunctionCall3 >::type type; +}; +template +class StoredConstNoExceptMemberFunctionCall3 : public RunFunctionTask +{ +public: + StoredConstNoExceptMemberFunctionCall3(T (Class::*_fn)(Param1, Param2, Param3) const noexcept, const Class &_object, const Arg1 &_arg1, const Arg2 &_arg2, const Arg3 &_arg3) + : fn(_fn), object(_object), arg1(_arg1), arg2(_arg2), arg3(_arg3){ } + + void runFunctor() override + { + this->result = (object.*fn)(arg1, arg2, arg3); + } +private: + T (Class::*fn)(Param1, Param2, Param3) const noexcept; + const Class object; + Arg1 arg1; Arg2 arg2; Arg3 arg3; +}; +template +class VoidStoredConstNoExceptMemberFunctionCall3 : public RunFunctionTask +{ +public: + VoidStoredConstNoExceptMemberFunctionCall3(T (Class::*_fn)(Param1, Param2, Param3) const noexcept, const Class &_object, const Arg1 &_arg1, const Arg2 &_arg2, const Arg3 &_arg3) + : fn(_fn), object(_object), arg1(_arg1), arg2(_arg2), arg3(_arg3){ } + + void runFunctor() override + { + (object.*fn)(arg1, arg2, arg3); + } +private: + T (Class::*fn)(Param1, Param2, Param3) const noexcept; + const Class object; + Arg1 arg1; Arg2 arg2; Arg3 arg3; +}; +template +struct SelectStoredConstNoExceptMemberFunctionCall3 +{ + typedef typename SelectSpecialization::template + Type, + VoidStoredConstNoExceptMemberFunctionCall3 >::type type; +}; +template +class StoredNoExceptMemberFunctionPointerCall3 : public RunFunctionTask +{ +public: + StoredNoExceptMemberFunctionPointerCall3(T (Class::*_fn)(Param1, Param2, Param3) noexcept, Class *_object, const Arg1 &_arg1, const Arg2 &_arg2, const Arg3 &_arg3) + : fn(_fn), object(_object), arg1(_arg1), arg2(_arg2), arg3(_arg3){ } + + void runFunctor() override + { + this->result = (object->*fn)(arg1, arg2, arg3); + } +private: + T (Class::*fn)(Param1, Param2, Param3) noexcept; + Class *object; + Arg1 arg1; Arg2 arg2; Arg3 arg3; +}; +template +class VoidStoredNoExceptMemberFunctionPointerCall3 : public RunFunctionTask +{ +public: + VoidStoredNoExceptMemberFunctionPointerCall3(T (Class::*_fn)(Param1, Param2, Param3) noexcept, Class *_object, const Arg1 &_arg1, const Arg2 &_arg2, const Arg3 &_arg3) + : fn(_fn), object(_object), arg1(_arg1), arg2(_arg2), arg3(_arg3){ } + + void runFunctor() override + { + (object->*fn)(arg1, arg2, arg3); + } +private: + T (Class::*fn)(Param1, Param2, Param3) noexcept; + Class *object; + Arg1 arg1; Arg2 arg2; Arg3 arg3; +}; +template +struct SelectStoredNoExceptMemberFunctionPointerCall3 +{ + typedef typename SelectSpecialization::template + Type, + VoidStoredNoExceptMemberFunctionPointerCall3 >::type type; }; template -class StoredConstMemberFunctionPointerCall3 : public RunFunctionTask +class StoredConstNoExceptMemberFunctionPointerCall3 : public RunFunctionTask { public: - StoredConstMemberFunctionPointerCall3(T (Class::*_fn)(Param1, Param2, Param3) const, Class const *_object, const Arg1 &_arg1, const Arg2 &_arg2, const Arg3 &_arg3) + StoredConstNoExceptMemberFunctionPointerCall3(T (Class::*_fn)(Param1, Param2, Param3) const noexcept, Class const *_object, const Arg1 &_arg1, const Arg2 &_arg2, const Arg3 &_arg3) : fn(_fn), object(_object), arg1(_arg1), arg2(_arg2), arg3(_arg3){ } void runFunctor() override @@ -837,15 +1471,15 @@ public: this->result = (object->*fn)(arg1, arg2, arg3); } private: - T (Class::*fn)(Param1, Param2, Param3) const; + T (Class::*fn)(Param1, Param2, Param3) const noexcept; Class const *object; Arg1 arg1; Arg2 arg2; Arg3 arg3; }; template -class VoidStoredConstMemberFunctionPointerCall3 : public RunFunctionTask +class VoidStoredConstNoExceptMemberFunctionPointerCall3 : public RunFunctionTask { public: - VoidStoredConstMemberFunctionPointerCall3(T (Class::*_fn)(Param1, Param2, Param3) const, Class const *_object, const Arg1 &_arg1, const Arg2 &_arg2, const Arg3 &_arg3) + VoidStoredConstNoExceptMemberFunctionPointerCall3(T (Class::*_fn)(Param1, Param2, Param3) const noexcept, Class const *_object, const Arg1 &_arg1, const Arg2 &_arg2, const Arg3 &_arg3) : fn(_fn), object(_object), arg1(_arg1), arg2(_arg2), arg3(_arg3){ } void runFunctor() override @@ -853,17 +1487,19 @@ public: (object->*fn)(arg1, arg2, arg3); } private: - T (Class::*fn)(Param1, Param2, Param3) const; + T (Class::*fn)(Param1, Param2, Param3) const noexcept; Class const *object; Arg1 arg1; Arg2 arg2; Arg3 arg3; }; template -struct SelectStoredConstMemberFunctionPointerCall3 +struct SelectStoredConstNoExceptMemberFunctionPointerCall3 { typedef typename SelectSpecialization::template - Type, - VoidStoredConstMemberFunctionPointerCall3 >::type type; + Type, + VoidStoredConstNoExceptMemberFunctionPointerCall3 >::type type; }; +#endif + template struct StoredFunctorCall4: public RunFunctionTask { @@ -1067,6 +1703,165 @@ struct SelectStoredConstMemberFunctionPointerCall4 Type, VoidStoredConstMemberFunctionPointerCall4 >::type type; }; +#if defined(__cpp_noexcept_function_type) && __cpp_noexcept_function_type >= 201510 +template +class StoredNoExceptMemberFunctionCall4 : public RunFunctionTask +{ +public: + StoredNoExceptMemberFunctionCall4(T (Class::*_fn)(Param1, Param2, Param3, Param4) noexcept, const Class &_object, const Arg1 &_arg1, const Arg2 &_arg2, const Arg3 &_arg3, const Arg4 &_arg4) + : fn(_fn), object(_object), arg1(_arg1), arg2(_arg2), arg3(_arg3), arg4(_arg4){ } + + void runFunctor() override + { + this->result = (object.*fn)(arg1, arg2, arg3, arg4); + } +private: + T (Class::*fn)(Param1, Param2, Param3, Param4) noexcept; + Class object; + Arg1 arg1; Arg2 arg2; Arg3 arg3; Arg4 arg4; +}; +template +class VoidStoredNoExceptMemberFunctionCall4 : public RunFunctionTask +{ +public: + VoidStoredNoExceptMemberFunctionCall4(T (Class::*_fn)(Param1, Param2, Param3, Param4) noexcept, const Class &_object, const Arg1 &_arg1, const Arg2 &_arg2, const Arg3 &_arg3, const Arg4 &_arg4) + : fn(_fn), object(_object), arg1(_arg1), arg2(_arg2), arg3(_arg3), arg4(_arg4){ } + + void runFunctor() override + { + (object.*fn)(arg1, arg2, arg3, arg4); + } +private: + T (Class::*fn)(Param1, Param2, Param3, Param4) noexcept; + Class object; + Arg1 arg1; Arg2 arg2; Arg3 arg3; Arg4 arg4; +}; +template +struct SelectStoredNoExceptMemberFunctionCall4 +{ + typedef typename SelectSpecialization::template + Type, + VoidStoredNoExceptMemberFunctionCall4 >::type type; +}; +template +class StoredConstNoExceptMemberFunctionCall4 : public RunFunctionTask +{ +public: + StoredConstNoExceptMemberFunctionCall4(T (Class::*_fn)(Param1, Param2, Param3, Param4) const noexcept, const Class &_object, const Arg1 &_arg1, const Arg2 &_arg2, const Arg3 &_arg3, const Arg4 &_arg4) + : fn(_fn), object(_object), arg1(_arg1), arg2(_arg2), arg3(_arg3), arg4(_arg4){ } + + void runFunctor() override + { + this->result = (object.*fn)(arg1, arg2, arg3, arg4); + } +private: + T (Class::*fn)(Param1, Param2, Param3, Param4) const noexcept; + const Class object; + Arg1 arg1; Arg2 arg2; Arg3 arg3; Arg4 arg4; +}; +template +class VoidStoredConstNoExceptMemberFunctionCall4 : public RunFunctionTask +{ +public: + VoidStoredConstNoExceptMemberFunctionCall4(T (Class::*_fn)(Param1, Param2, Param3, Param4) const noexcept, const Class &_object, const Arg1 &_arg1, const Arg2 &_arg2, const Arg3 &_arg3, const Arg4 &_arg4) + : fn(_fn), object(_object), arg1(_arg1), arg2(_arg2), arg3(_arg3), arg4(_arg4){ } + + void runFunctor() override + { + (object.*fn)(arg1, arg2, arg3, arg4); + } +private: + T (Class::*fn)(Param1, Param2, Param3, Param4) const noexcept; + const Class object; + Arg1 arg1; Arg2 arg2; Arg3 arg3; Arg4 arg4; +}; +template +struct SelectStoredConstNoExceptMemberFunctionCall4 +{ + typedef typename SelectSpecialization::template + Type, + VoidStoredConstNoExceptMemberFunctionCall4 >::type type; +}; +template +class StoredNoExceptMemberFunctionPointerCall4 : public RunFunctionTask +{ +public: + StoredNoExceptMemberFunctionPointerCall4(T (Class::*_fn)(Param1, Param2, Param3, Param4) noexcept, Class *_object, const Arg1 &_arg1, const Arg2 &_arg2, const Arg3 &_arg3, const Arg4 &_arg4) + : fn(_fn), object(_object), arg1(_arg1), arg2(_arg2), arg3(_arg3), arg4(_arg4){ } + + void runFunctor() override + { + this->result = (object->*fn)(arg1, arg2, arg3, arg4); + } +private: + T (Class::*fn)(Param1, Param2, Param3, Param4) noexcept; + Class *object; + Arg1 arg1; Arg2 arg2; Arg3 arg3; Arg4 arg4; +}; +template +class VoidStoredNoExceptMemberFunctionPointerCall4 : public RunFunctionTask +{ +public: + VoidStoredNoExceptMemberFunctionPointerCall4(T (Class::*_fn)(Param1, Param2, Param3, Param4) noexcept, Class *_object, const Arg1 &_arg1, const Arg2 &_arg2, const Arg3 &_arg3, const Arg4 &_arg4) + : fn(_fn), object(_object), arg1(_arg1), arg2(_arg2), arg3(_arg3), arg4(_arg4){ } + + void runFunctor() override + { + (object->*fn)(arg1, arg2, arg3, arg4); + } +private: + T (Class::*fn)(Param1, Param2, Param3, Param4) noexcept; + Class *object; + Arg1 arg1; Arg2 arg2; Arg3 arg3; Arg4 arg4; +}; +template +struct SelectStoredNoExceptMemberFunctionPointerCall4 +{ + typedef typename SelectSpecialization::template + Type, + VoidStoredNoExceptMemberFunctionPointerCall4 >::type type; +}; +template +class StoredConstNoExceptMemberFunctionPointerCall4 : public RunFunctionTask +{ +public: + StoredConstNoExceptMemberFunctionPointerCall4(T (Class::*_fn)(Param1, Param2, Param3, Param4) const noexcept, Class const *_object, const Arg1 &_arg1, const Arg2 &_arg2, const Arg3 &_arg3, const Arg4 &_arg4) + : fn(_fn), object(_object), arg1(_arg1), arg2(_arg2), arg3(_arg3), arg4(_arg4){ } + + void runFunctor() override + { + this->result = (object->*fn)(arg1, arg2, arg3, arg4); + } +private: + T (Class::*fn)(Param1, Param2, Param3, Param4) const noexcept; + Class const *object; + Arg1 arg1; Arg2 arg2; Arg3 arg3; Arg4 arg4; +}; +template +class VoidStoredConstNoExceptMemberFunctionPointerCall4 : public RunFunctionTask +{ +public: + VoidStoredConstNoExceptMemberFunctionPointerCall4(T (Class::*_fn)(Param1, Param2, Param3, Param4) const noexcept, Class const *_object, const Arg1 &_arg1, const Arg2 &_arg2, const Arg3 &_arg3, const Arg4 &_arg4) + : fn(_fn), object(_object), arg1(_arg1), arg2(_arg2), arg3(_arg3), arg4(_arg4){ } + + void runFunctor() override + { + (object->*fn)(arg1, arg2, arg3, arg4); + } +private: + T (Class::*fn)(Param1, Param2, Param3, Param4) const noexcept; + Class const *object; + Arg1 arg1; Arg2 arg2; Arg3 arg3; Arg4 arg4; +}; +template +struct SelectStoredConstNoExceptMemberFunctionPointerCall4 +{ + typedef typename SelectSpecialization::template + Type, + VoidStoredConstNoExceptMemberFunctionPointerCall4 >::type type; +}; +#endif + template struct StoredFunctorCall5: public RunFunctionTask { @@ -1270,6 +2065,164 @@ struct SelectStoredConstMemberFunctionPointerCall5 Type, VoidStoredConstMemberFunctionPointerCall5 >::type type; }; +#if defined(__cpp_noexcept_function_type) && __cpp_noexcept_function_type >= 201510 +template +class StoredNoExceptMemberFunctionCall5 : public RunFunctionTask +{ +public: + StoredNoExceptMemberFunctionCall5(T (Class::*_fn)(Param1, Param2, Param3, Param4, Param5) noexcept, const Class &_object, const Arg1 &_arg1, const Arg2 &_arg2, const Arg3 &_arg3, const Arg4 &_arg4, const Arg5 &_arg5) + : fn(_fn), object(_object), arg1(_arg1), arg2(_arg2), arg3(_arg3), arg4(_arg4), arg5(_arg5){ } + + void runFunctor() override + { + this->result = (object.*fn)(arg1, arg2, arg3, arg4, arg5); + } +private: + T (Class::*fn)(Param1, Param2, Param3, Param4, Param5) noexcept; + Class object; + Arg1 arg1; Arg2 arg2; Arg3 arg3; Arg4 arg4; Arg5 arg5; +}; +template +class VoidStoredNoExceptMemberFunctionCall5 : public RunFunctionTask +{ +public: + VoidStoredNoExceptMemberFunctionCall5(T (Class::*_fn)(Param1, Param2, Param3, Param4, Param5) noexcept, const Class &_object, const Arg1 &_arg1, const Arg2 &_arg2, const Arg3 &_arg3, const Arg4 &_arg4, const Arg5 &_arg5) + : fn(_fn), object(_object), arg1(_arg1), arg2(_arg2), arg3(_arg3), arg4(_arg4), arg5(_arg5){ } + + void runFunctor() override + { + (object.*fn)(arg1, arg2, arg3, arg4, arg5); + } +private: + T (Class::*fn)(Param1, Param2, Param3, Param4, Param5) noexcept; + Class object; + Arg1 arg1; Arg2 arg2; Arg3 arg3; Arg4 arg4; Arg5 arg5; +}; +template +struct SelectStoredNoExceptMemberFunctionCall5 +{ + typedef typename SelectSpecialization::template + Type, + VoidStoredNoExceptMemberFunctionCall5 >::type type; +}; +template +class StoredConstNoExceptMemberFunctionCall5 : public RunFunctionTask +{ +public: + StoredConstNoExceptMemberFunctionCall5(T (Class::*_fn)(Param1, Param2, Param3, Param4, Param5) const noexcept, const Class &_object, const Arg1 &_arg1, const Arg2 &_arg2, const Arg3 &_arg3, const Arg4 &_arg4, const Arg5 &_arg5) + : fn(_fn), object(_object), arg1(_arg1), arg2(_arg2), arg3(_arg3), arg4(_arg4), arg5(_arg5){ } + + void runFunctor() override + { + this->result = (object.*fn)(arg1, arg2, arg3, arg4, arg5); + } +private: + T (Class::*fn)(Param1, Param2, Param3, Param4, Param5) const noexcept; + const Class object; + Arg1 arg1; Arg2 arg2; Arg3 arg3; Arg4 arg4; Arg5 arg5; +}; +template +class VoidStoredConstNoExceptMemberFunctionCall5 : public RunFunctionTask +{ +public: + VoidStoredConstNoExceptMemberFunctionCall5(T (Class::*_fn)(Param1, Param2, Param3, Param4, Param5) const noexcept, const Class &_object, const Arg1 &_arg1, const Arg2 &_arg2, const Arg3 &_arg3, const Arg4 &_arg4, const Arg5 &_arg5) + : fn(_fn), object(_object), arg1(_arg1), arg2(_arg2), arg3(_arg3), arg4(_arg4), arg5(_arg5){ } + + void runFunctor() override + { + (object.*fn)(arg1, arg2, arg3, arg4, arg5); + } +private: + T (Class::*fn)(Param1, Param2, Param3, Param4, Param5) const noexcept; + const Class object; + Arg1 arg1; Arg2 arg2; Arg3 arg3; Arg4 arg4; Arg5 arg5; +}; +template +struct SelectStoredConstNoExceptMemberFunctionCall5 +{ + typedef typename SelectSpecialization::template + Type, + VoidStoredConstNoExceptMemberFunctionCall5 >::type type; +}; +template +class StoredNoExceptMemberFunctionPointerCall5 : public RunFunctionTask +{ +public: + StoredNoExceptMemberFunctionPointerCall5(T (Class::*_fn)(Param1, Param2, Param3, Param4, Param5) noexcept, Class *_object, const Arg1 &_arg1, const Arg2 &_arg2, const Arg3 &_arg3, const Arg4 &_arg4, const Arg5 &_arg5) + : fn(_fn), object(_object), arg1(_arg1), arg2(_arg2), arg3(_arg3), arg4(_arg4), arg5(_arg5){ } + + void runFunctor() override + { + this->result = (object->*fn)(arg1, arg2, arg3, arg4, arg5); + } +private: + T (Class::*fn)(Param1, Param2, Param3, Param4, Param5) noexcept; + Class *object; + Arg1 arg1; Arg2 arg2; Arg3 arg3; Arg4 arg4; Arg5 arg5; +}; +template +class VoidStoredNoExceptMemberFunctionPointerCall5 : public RunFunctionTask +{ +public: + VoidStoredNoExceptMemberFunctionPointerCall5(T (Class::*_fn)(Param1, Param2, Param3, Param4, Param5) noexcept, Class *_object, const Arg1 &_arg1, const Arg2 &_arg2, const Arg3 &_arg3, const Arg4 &_arg4, const Arg5 &_arg5) + : fn(_fn), object(_object), arg1(_arg1), arg2(_arg2), arg3(_arg3), arg4(_arg4), arg5(_arg5){ } + + void runFunctor() override + { + (object->*fn)(arg1, arg2, arg3, arg4, arg5); + } +private: + T (Class::*fn)(Param1, Param2, Param3, Param4, Param5) noexcept; + Class *object; + Arg1 arg1; Arg2 arg2; Arg3 arg3; Arg4 arg4; Arg5 arg5; +}; +template +struct SelectStoredNoExceptMemberFunctionPointerCall5 +{ + typedef typename SelectSpecialization::template + Type, + VoidStoredNoExceptMemberFunctionPointerCall5 >::type type; +}; +template +class StoredConstNoExceptMemberFunctionPointerCall5 : public RunFunctionTask +{ +public: + StoredConstNoExceptMemberFunctionPointerCall5(T (Class::*_fn)(Param1, Param2, Param3, Param4, Param5) const noexcept, Class const *_object, const Arg1 &_arg1, const Arg2 &_arg2, const Arg3 &_arg3, const Arg4 &_arg4, const Arg5 &_arg5) + : fn(_fn), object(_object), arg1(_arg1), arg2(_arg2), arg3(_arg3), arg4(_arg4), arg5(_arg5){ } + + void runFunctor() override + { + this->result = (object->*fn)(arg1, arg2, arg3, arg4, arg5); + } +private: + T (Class::*fn)(Param1, Param2, Param3, Param4, Param5) const noexcept; + Class const *object; + Arg1 arg1; Arg2 arg2; Arg3 arg3; Arg4 arg4; Arg5 arg5; +}; +template +class VoidStoredConstNoExceptMemberFunctionPointerCall5 : public RunFunctionTask +{ +public: + VoidStoredConstNoExceptMemberFunctionPointerCall5(T (Class::*_fn)(Param1, Param2, Param3, Param4, Param5) const noexcept, Class const *_object, const Arg1 &_arg1, const Arg2 &_arg2, const Arg3 &_arg3, const Arg4 &_arg4, const Arg5 &_arg5) + : fn(_fn), object(_object), arg1(_arg1), arg2(_arg2), arg3(_arg3), arg4(_arg4), arg5(_arg5){ } + + void runFunctor() override + { + (object->*fn)(arg1, arg2, arg3, arg4, arg5); + } +private: + T (Class::*fn)(Param1, Param2, Param3, Param4, Param5) const noexcept; + Class const *object; + Arg1 arg1; Arg2 arg2; Arg3 arg3; Arg4 arg4; Arg5 arg5; +}; +template +struct SelectStoredConstNoExceptMemberFunctionPointerCall5 +{ + typedef typename SelectSpecialization::template + Type, + VoidStoredConstNoExceptMemberFunctionPointerCall5 >::type type; +}; +#endif template class StoredFunctorCall : public RunFunctionTask -- cgit v1.2.3 From 2f92bd7cd7452d97c344d373c7e59b34f99a9c42 Mon Sep 17 00:00:00 2001 From: Stephan Binner Date: Wed, 26 Apr 2017 09:09:49 +0200 Subject: Fix warning for -no-feature-graphicsview Change-Id: I3229fccd2f837b8b8b4da2a149d4584cb4a54dab Reviewed-by: Oswald Buddenhagen Reviewed-by: Tasuku Suzuki Reviewed-by: Lars Knoll --- src/widgets/util/qflickgesture.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/widgets/util/qflickgesture.cpp b/src/widgets/util/qflickgesture.cpp index 10e92e04e1..71c4458b79 100644 --- a/src/widgets/util/qflickgesture.cpp +++ b/src/widgets/util/qflickgesture.cpp @@ -292,6 +292,8 @@ protected: qFGDebug() << "QFG: ungrabbing" << grabber; grabber->ungrabMouse(); } +#else + Q_UNUSED(flags); #endif // QT_NO_GRAPHICSVIEW if (me) { -- cgit v1.2.3 From 124b9a6ff89da8be83a256135ec6c4d0603e9a6f Mon Sep 17 00:00:00 2001 From: Alex Trotsenko Date: Sat, 21 Jan 2017 18:09:11 +0200 Subject: Improve suppression of spurious socket notifications under Windows There were still two cases where spurious notifications would be possible: - user calls hasPendingDatagrams()/pendingDatagramSize() on UDP socket somewhere outside the slot connected to readyRead() signal (::WSARecvFrom posts FD_READ notification, even if a notification for incoming datagram already exists in the message queue); - a socket was registered to receive several types of event and WM_QT_ACTIVATENOTIFIERS message is located between the different events for this socket in the queue. Provided patch ensures that the message queue is synchronized with the Qt event processing mechanism and adds a way to detect spurious notifications inside the window procedure. Task-number: QTBUG-58214 Change-Id: I49609dace601f300de09875ff1653617efabd72f Reviewed-by: Oswald Buddenhagen Reviewed-by: Lars Knoll Reviewed-by: Oliver Wolff Reviewed-by: Edward Welbourne Reviewed-by: Peter Seiderer --- src/corelib/kernel/qeventdispatcher_win.cpp | 52 +++++++++++++++------- src/corelib/kernel/qeventdispatcher_win_p.h | 3 +- .../kernel/qsocketnotifier/tst_qsocketnotifier.cpp | 5 +++ 3 files changed, 43 insertions(+), 17 deletions(-) diff --git a/src/corelib/kernel/qeventdispatcher_win.cpp b/src/corelib/kernel/qeventdispatcher_win.cpp index 74fa2d8d50..40db5020ab 100644 --- a/src/corelib/kernel/qeventdispatcher_win.cpp +++ b/src/corelib/kernel/qeventdispatcher_win.cpp @@ -177,15 +177,24 @@ LRESULT QT_WIN_CALLBACK qt_internal_proc(HWND hwnd, UINT message, WPARAM wp, LPA QSNDict *dict = sn_vec[type]; QSockNot *sn = dict ? dict->value(wp) : 0; - if (sn) { - d->doWsaAsyncSelect(sn->fd, 0); - d->active_fd[sn->fd].selected = false; + if (sn == nullptr) { d->postActivateSocketNotifiers(); - if (type < 3) { - QEvent event(QEvent::SockAct); - QCoreApplication::sendEvent(sn->obj, &event); - } else { - QEvent event(QEvent::SockClose); + } else { + Q_ASSERT(d->active_fd.contains(sn->fd)); + QSockFd &sd = d->active_fd[sn->fd]; + if (sd.selected) { + Q_ASSERT(sd.mask == 0); + d->doWsaAsyncSelect(sn->fd, 0); + sd.selected = false; + } + d->postActivateSocketNotifiers(); + + // Ignore the message if a notification with the same type was + // received previously. Suppressed message is definitely spurious. + const long eventCode = WSAGETSELECTEVENT(lp); + if ((sd.mask & eventCode) != eventCode) { + sd.mask |= eventCode; + QEvent event(type < 3 ? QEvent::SockAct : QEvent::SockClose); QCoreApplication::sendEvent(sn->obj, &event); } } @@ -194,13 +203,22 @@ LRESULT QT_WIN_CALLBACK qt_internal_proc(HWND hwnd, UINT message, WPARAM wp, LPA } else if (message == WM_QT_ACTIVATENOTIFIERS) { Q_ASSERT(d != 0); - // register all socket notifiers - for (QSFDict::iterator it = d->active_fd.begin(), end = d->active_fd.end(); - it != end; ++it) { - QSockFd &sd = it.value(); - if (!sd.selected) { - d->doWsaAsyncSelect(it.key(), sd.event); - sd.selected = true; + // Postpone activation if we have unhandled socket notifier messages + // in the queue. WM_QT_ACTIVATENOTIFIERS will be posted again as a result of + // event processing. + MSG msg; + if (!PeekMessage(&msg, 0, WM_QT_SOCKETNOTIFIER, WM_QT_SOCKETNOTIFIER, PM_NOREMOVE) + && d->queuedSocketEvents.isEmpty()) { + // register all socket notifiers + for (QSFDict::iterator it = d->active_fd.begin(), end = d->active_fd.end(); + it != end; ++it) { + QSockFd &sd = it.value(); + if (!sd.selected) { + d->doWsaAsyncSelect(it.key(), sd.event); + // allow any event to be accepted + sd.mask = 0; + sd.selected = true; + } } } d->activateNotifiersPosted = false; @@ -706,7 +724,9 @@ void QEventDispatcherWin32::registerSocketNotifier(QSocketNotifier *notifier) } sd.event |= event; } else { - d->active_fd.insert(sockfd, QSockFd(event)); + // Disable the events which could be implicitly re-enabled. Next activation + // of socket notifiers will reset the mask. + d->active_fd.insert(sockfd, QSockFd(event, FD_READ | FD_ACCEPT | FD_WRITE | FD_OOB)); } d->postActivateSocketNotifiers(); diff --git a/src/corelib/kernel/qeventdispatcher_win_p.h b/src/corelib/kernel/qeventdispatcher_win_p.h index 423dc5b169..f6d1bffdf5 100644 --- a/src/corelib/kernel/qeventdispatcher_win_p.h +++ b/src/corelib/kernel/qeventdispatcher_win_p.h @@ -126,9 +126,10 @@ typedef QHash QSNDict; struct QSockFd { long event; + long mask; bool selected; - explicit inline QSockFd(long ev = 0) : event(ev), selected(false) { } + explicit inline QSockFd(long ev = 0, long ma = 0) : event(ev), mask(ma), selected(false) { } }; typedef QHash QSFDict; diff --git a/tests/auto/corelib/kernel/qsocketnotifier/tst_qsocketnotifier.cpp b/tests/auto/corelib/kernel/qsocketnotifier/tst_qsocketnotifier.cpp index 1598382959..a52b80170f 100644 --- a/tests/auto/corelib/kernel/qsocketnotifier/tst_qsocketnotifier.cpp +++ b/tests/auto/corelib/kernel/qsocketnotifier/tst_qsocketnotifier.cpp @@ -360,11 +360,16 @@ void tst_QSocketNotifier::asyncMultipleDatagram() QSignalSpy spy(m_asyncReceiver, &QIODevice::readyRead); connect(m_asyncReceiver, &QIODevice::readyRead, this, &tst_QSocketNotifier::async_readDatagramSlot); + + // activate socket notifiers + QTestEventLoop::instance().enterLoopMSecs(100); + m_asyncSender->writeDatagram("1", makeNonAny(m_asyncReceiver->localAddress()), port); m_asyncSender->writeDatagram("2", makeNonAny(m_asyncReceiver->localAddress()), port); // wait a little to ensure that the datagrams we've just sent // will be delivered on receiver side. QTest::qSleep(100); + QVERIFY(m_asyncReceiver->hasPendingDatagrams()); QTimer::singleShot(500, this, &tst_QSocketNotifier::async_writeDatagramSlot); -- cgit v1.2.3 From d56a6aa1240515f5f603a7511d86da75f2c3c4ec Mon Sep 17 00:00:00 2001 From: Oliver Wolff Date: Tue, 2 May 2017 14:19:09 +0200 Subject: winrt: Fix manifest dependencies for VS 2017 VS 2017 still uses vclibs version 14/140 and it also strictly requires the vclibs' publisher to be set in the manifest. As we only support VS 2015 and 2017 the condition for adding additional vclib dependency information can be dropped. Change-Id: I813a9ad976339e347fd8d9283d92282e86b2791b Reviewed-by: Oswald Buddenhagen Reviewed-by: Maurice Kalinowski --- mkspecs/features/winrt/package_manifest.prf | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/mkspecs/features/winrt/package_manifest.prf b/mkspecs/features/winrt/package_manifest.prf index 8f4a7a6eab..a00c84948c 100644 --- a/mkspecs/features/winrt/package_manifest.prf +++ b/mkspecs/features/winrt/package_manifest.prf @@ -63,7 +63,9 @@ VCLIBS = $${VCLIBS}.Debug else: \ VCLIBS = $${VCLIBS} - contains(MSVC_VER, "14.0"): VCLIBS = "$${VCLIBS}\" MinVersion=\"14.0.0.0\" Publisher=\"CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US" + # VS 2017 still uses vclibs 140 + contains(MSVC_VER, "15.0"): VCLIBS = $$replace(VCLIBS, 150, 140) + VCLIBS = "$${VCLIBS}\" MinVersion=\"14.0.0.0\" Publisher=\"CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US" WINRT_MANIFEST.dependencies += $$VCLIBS } -- cgit v1.2.3 From 9baf7bad5965a6120b7262e5be918ade6ab5d556 Mon Sep 17 00:00:00 2001 From: Oliver Wolff Date: Wed, 3 May 2017 07:36:06 +0200 Subject: VS 2017: Fall back to "x86" as arch if it is not "arm" or "x64" The same as for other visual studio versions use "x86" as arch instead of win32. arch is used to determine library paths and these use x86 and not win32. As compilerArch is not used in MSVC 2017 it can be removed. Task-number: QTBUG-60530 Change-Id: I47157eb1d7ae9d913461210d34858ffb37c81586 Reviewed-by: Maurice Kalinowski --- qmake/generators/win32/msvc_nmake.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/qmake/generators/win32/msvc_nmake.cpp b/qmake/generators/win32/msvc_nmake.cpp index 8ac462da6b..ef1eaf095e 100644 --- a/qmake/generators/win32/msvc_nmake.cpp +++ b/qmake/generators/win32/msvc_nmake.cpp @@ -94,8 +94,8 @@ NmakeMakefileGenerator::writeMakefile(QTextStream &t) compiler += QStringLiteral("x64"); compilerArch = QStringLiteral("amd64"); } else { + arch = QStringLiteral("x86"); compiler += QStringLiteral("x86"); - compilerArch = QStringLiteral("amd64"); } } else { if (arch == QLatin1String("arm")) { -- cgit v1.2.3 From 46aecbd72b2e0630cc03bd51edf64179968902df Mon Sep 17 00:00:00 2001 From: Palo Kisa Date: Thu, 27 Apr 2017 10:03:53 +0200 Subject: QIconLoaderEngine: Fix actualSize() for no-entry Return an empty size if no suitable entry found to avoid mismatch with the returned pixmap()'s size (the QIconEngine::actualSize() returns the originally requested size). Change-Id: Ia278719a54392b62c5f9fc0529476baba5cd7df0 Reviewed-by: Olivier Goffart (Woboq GmbH) --- src/gui/image/qiconloader.cpp | 5 ++++- tests/auto/gui/image/qicon/tst_qicon.cpp | 1 + 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/gui/image/qiconloader.cpp b/src/gui/image/qiconloader.cpp index d72c05a3c5..349e0dfbe3 100644 --- a/src/gui/image/qiconloader.cpp +++ b/src/gui/image/qiconloader.cpp @@ -649,6 +649,9 @@ QIconLoaderEngineEntry *QIconLoaderEngine::entryForSize(const QSize &size, int s QSize QIconLoaderEngine::actualSize(const QSize &size, QIcon::Mode mode, QIcon::State state) { + Q_UNUSED(mode); + Q_UNUSED(state); + ensureLoaded(); QIconLoaderEngineEntry *entry = entryForSize(size); @@ -661,7 +664,7 @@ QSize QIconLoaderEngine::actualSize(const QSize &size, QIcon::Mode mode, return QSize(result, result); } } - return QIconEngine::actualSize(size, mode, state); + return QSize(0, 0); } QPixmap PixmapEntry::pixmap(const QSize &size, QIcon::Mode mode, QIcon::State state) diff --git a/tests/auto/gui/image/qicon/tst_qicon.cpp b/tests/auto/gui/image/qicon/tst_qicon.cpp index d628fad705..e031ffec71 100644 --- a/tests/auto/gui/image/qicon/tst_qicon.cpp +++ b/tests/auto/gui/image/qicon/tst_qicon.cpp @@ -594,6 +594,7 @@ void tst_QIcon::fromTheme() QIcon noIcon = QIcon::fromTheme("broken-icon"); QVERIFY(noIcon.isNull()); QVERIFY(!QIcon::hasThemeIcon("broken-icon")); + QCOMPARE(noIcon.actualSize(QSize(32, 32), QIcon::Normal, QIcon::On), QSize(0, 0)); // Test non existing icon with fallback noIcon = QIcon::fromTheme("broken-icon", abIcon); -- cgit v1.2.3 From 47cf309190a3cc833f935397fc0db7cfbcddbc44 Mon Sep 17 00:00:00 2001 From: Marc Mutz Date: Tue, 2 May 2017 17:55:11 +0200 Subject: [doc] QSet: fix return type of insert() It's an iterator, not a const_iterator. Let QDoc figure out the correct one. Change-Id: I7ddd1568adbf811b801c170794465ba14ceed05e Reviewed-by: Edward Welbourne --- src/corelib/tools/qset.qdoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/corelib/tools/qset.qdoc b/src/corelib/tools/qset.qdoc index 48dcc9eec0..93f157fdc5 100644 --- a/src/corelib/tools/qset.qdoc +++ b/src/corelib/tools/qset.qdoc @@ -530,7 +530,7 @@ */ /*! - \fn QSet::const_iterator QSet::insert(const T &value) + \fn QSet::insert(const T &value) Inserts item \a value into the set, if \a value isn't already in the set, and returns an iterator pointing at the inserted -- cgit v1.2.3 From 8e4351f6e89ae679093339f95a2a3512000e17ad Mon Sep 17 00:00:00 2001 From: Topi Reinio Date: Thu, 20 Apr 2017 14:35:20 +0200 Subject: qdoc: Ignore QT_POPCOUNT_CONSTEXPR token This enables a number of functions declared in the qalgorithms.h to be successfully documented. Change-Id: I20c5827bb8f9e2ada98fd368b7827c5b156a518e Reviewed-by: Martin Smith --- doc/global/qt-cpp-defines.qdocconf | 1 + 1 file changed, 1 insertion(+) diff --git a/doc/global/qt-cpp-defines.qdocconf b/doc/global/qt-cpp-defines.qdocconf index c8e6463eb7..31f08020e1 100644 --- a/doc/global/qt-cpp-defines.qdocconf +++ b/doc/global/qt-cpp-defines.qdocconf @@ -173,6 +173,7 @@ Cpp.ignoretokens += \ QT_END_NAMESPACE \ QT_FASTCALL \ QT_MUTEX_LOCK_NOEXCEPT \ + QT_POPCOUNT_CONSTEXPR \ QT_SIZEPOLICY_CONSTEXPR \ QT_WARNING_DISABLE_DEPRECATED \ QT_WARNING_PUSH \ -- cgit v1.2.3 From 2714531aad5dd7450baf4224f9af5df313c8aadd Mon Sep 17 00:00:00 2001 From: Nico Vertriest Date: Thu, 20 Apr 2017 14:07:38 +0200 Subject: Doc: correct minor link issues MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit qobject.cpp:4288: warning: Can't link to 'Q_ENUM_NS' qobject.cpp:4314: warning: Can't link to 'Q_FLAG_NS' Change-Id: I0fa5a1d4f9b4868a1a98ce6d3b5f6bb9b34c5dd2 Reviewed-by: Venugopal Shivashankar Reviewed-by: Topi Reiniö --- src/corelib/kernel/qobject.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/corelib/kernel/qobject.cpp b/src/corelib/kernel/qobject.cpp index cf6ebf0c54..3f50716cd7 100644 --- a/src/corelib/kernel/qobject.cpp +++ b/src/corelib/kernel/qobject.cpp @@ -4292,7 +4292,7 @@ QDebug operator<<(QDebug dbg, const QObject *o) This macro registers an enum type with the meta-object system. It must be placed after the enum declaration in a class that has the Q_OBJECT or the - Q_GADGET macro. For namespaces use \l Q_ENUM_NS instead. + Q_GADGET macro. For namespaces use \l Q_ENUM_NS() instead. For example: @@ -4319,7 +4319,7 @@ QDebug operator<<(QDebug dbg, const QObject *o) This macro registers a single \l{QFlags}{flags type} with the meta-object system. It is typically used in a class definition to declare that values of a given enum can be used as flags and combined using the - bitwise OR operator. For namespaces use \l Q_FLAG_NS instead. + bitwise OR operator. For namespaces use \l Q_FLAG_NS() instead. The macro must be placed after the enum declaration. @@ -4340,6 +4340,7 @@ QDebug operator<<(QDebug dbg, const QObject *o) /*! \macro Q_ENUM_NS(...) + \relates QObject \since 5.8 This macro registers an enum type with the meta-object system. @@ -4363,6 +4364,7 @@ QDebug operator<<(QDebug dbg, const QObject *o) /*! \macro Q_FLAG_NS(...) + \relates QObject \since 5.8 This macro registers a single \l{QFlags}{flags type} with the -- cgit v1.2.3 From a30c746ea41046462cfd02ba2978c040f6b87aa7 Mon Sep 17 00:00:00 2001 From: Gabriel de Dietrich Date: Mon, 1 May 2017 14:01:46 +0700 Subject: Introducing multiscreen-menus manual test We have been noticing several menu popup sizing issues in the presence of multiple, heterogenous displays. Most remarkably, we'd often pick the primary display's geometry when computing the menu's size hint. This results in usability issues if the primary display is smaller than the display onto which the menu popup is being displayed. This manual test covers menu bar, context and push button menus. Torn-off menus are also enabled. We turn off the use of native menu bars to cover a few more cases. Change-Id: I29658ebdc56e41aa1bf99d06d96aed6bfb5461b3 Reviewed-by: Friedemann Kleint --- tests/manual/widgets/widgets.pro | 2 +- .../widgets/widgets/multiscreen-menus/main.cpp | 41 +++++++++++ .../widgets/multiscreen-menus/mainwindow.cpp | 64 ++++++++++++++++ .../widgets/widgets/multiscreen-menus/mainwindow.h | 52 +++++++++++++ .../widgets/multiscreen-menus/mainwindow.ui | 86 ++++++++++++++++++++++ .../multiscreen-menus/multiscreen-menus.pro | 9 +++ 6 files changed, 253 insertions(+), 1 deletion(-) create mode 100644 tests/manual/widgets/widgets/multiscreen-menus/main.cpp create mode 100644 tests/manual/widgets/widgets/multiscreen-menus/mainwindow.cpp create mode 100644 tests/manual/widgets/widgets/multiscreen-menus/mainwindow.h create mode 100644 tests/manual/widgets/widgets/multiscreen-menus/mainwindow.ui create mode 100644 tests/manual/widgets/widgets/multiscreen-menus/multiscreen-menus.pro diff --git a/tests/manual/widgets/widgets.pro b/tests/manual/widgets/widgets.pro index 3a128581cf..e3942a49e9 100644 --- a/tests/manual/widgets/widgets.pro +++ b/tests/manual/widgets/widgets.pro @@ -1,3 +1,3 @@ TEMPLATE = subdirs -SUBDIRS = itemviews qgraphicsview kernel +SUBDIRS = itemviews qgraphicsview kernel widgets greaterThan(QT_MAJOR_VERSION, 4): SUBDIRS += styles diff --git a/tests/manual/widgets/widgets/multiscreen-menus/main.cpp b/tests/manual/widgets/widgets/multiscreen-menus/main.cpp new file mode 100644 index 0000000000..f63d644320 --- /dev/null +++ b/tests/manual/widgets/widgets/multiscreen-menus/main.cpp @@ -0,0 +1,41 @@ +/**************************************************************************** +** +** Copyright (C) 2017 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:GPL-EXCEPT$ +** 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 The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3 as published by the Free Software +** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-3.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "mainwindow.h" +#include + +int main(int argc, char *argv[]) +{ + QApplication a(argc, argv); + a.setAttribute(Qt::AA_DontUseNativeMenuBar); + + MainWindow w; + w.show(); + + return a.exec(); +} diff --git a/tests/manual/widgets/widgets/multiscreen-menus/mainwindow.cpp b/tests/manual/widgets/widgets/multiscreen-menus/mainwindow.cpp new file mode 100644 index 0000000000..a53eda37fa --- /dev/null +++ b/tests/manual/widgets/widgets/multiscreen-menus/mainwindow.cpp @@ -0,0 +1,64 @@ +/**************************************************************************** +** +** Copyright (C) 2017 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:GPL-EXCEPT$ +** 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 The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3 as published by the Free Software +** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-3.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "mainwindow.h" +#include "ui_mainwindow.h" +#include + +MainWindow::MainWindow(QWidget *parent) : + QMainWindow(parent), + ui(new Ui::MainWindow) +{ + ui->setupUi(this); + setStyleSheet("QMenu { menu-scrollable: 0 }"); + + auto *mb = new QMenuBar(this); + setMenuBar(mb); + + auto *m = new QMenu(mb); + m->setTitle("&Menu"); + m->setTearOffEnabled(true); + + for (int i = 0; i < 80; ++i) + m->addAction("Menu Item #" + QString::number(i)); + + mb->addMenu(m); + + ui->menuButton->setMenu(m); +} + +MainWindow::~MainWindow() +{ + delete ui; +} + +void MainWindow::contextMenuEvent(QContextMenuEvent *e) +{ + const auto *mb = menuBar(); + mb->actions().first()->menu()->popup(mb->mapToGlobal(e->pos())); +} diff --git a/tests/manual/widgets/widgets/multiscreen-menus/mainwindow.h b/tests/manual/widgets/widgets/multiscreen-menus/mainwindow.h new file mode 100644 index 0000000000..7689062221 --- /dev/null +++ b/tests/manual/widgets/widgets/multiscreen-menus/mainwindow.h @@ -0,0 +1,52 @@ +/**************************************************************************** +** +** Copyright (C) 2017 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:GPL-EXCEPT$ +** 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 The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3 as published by the Free Software +** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-3.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef MAINWINDOW_H +#define MAINWINDOW_H + +#include + +namespace Ui { +class MainWindow; +} + +class MainWindow : public QMainWindow +{ + Q_OBJECT + +public: + explicit MainWindow(QWidget *parent = 0); + ~MainWindow(); + + void contextMenuEvent(QContextMenuEvent *e) override; + +private: + Ui::MainWindow *ui; +}; + +#endif // MAINWINDOW_H diff --git a/tests/manual/widgets/widgets/multiscreen-menus/mainwindow.ui b/tests/manual/widgets/widgets/multiscreen-menus/mainwindow.ui new file mode 100644 index 0000000000..dbc5c437b4 --- /dev/null +++ b/tests/manual/widgets/widgets/multiscreen-menus/mainwindow.ui @@ -0,0 +1,86 @@ + + + MainWindow + + + + 0 + 0 + 427 + 228 + + + + MainWindow + + + + + + + Move this window to a secondary screen, ideally with a larger size than the primary screen. + +Open menu bar, button and context menus. The menu contents should be consistent with the screen it's being displayed on. + +Tear-off the menu and move around across screens. The torn-off menu should adapt to the screen size. + + + true + + + + + + + + + + 0 + 0 + + + + Menu Button + + + + + + + + 18 + + + + Right-click for context menu + + + false + + + Qt::AlignHCenter|Qt::AlignTop + + + true + + + + + + + + + + + 0 + 0 + 427 + 22 + + + + + + + + diff --git a/tests/manual/widgets/widgets/multiscreen-menus/multiscreen-menus.pro b/tests/manual/widgets/widgets/multiscreen-menus/multiscreen-menus.pro new file mode 100644 index 0000000000..a723b3f762 --- /dev/null +++ b/tests/manual/widgets/widgets/multiscreen-menus/multiscreen-menus.pro @@ -0,0 +1,9 @@ +TEMPLATE = app +QT += core gui widgets + +SOURCES += main.cpp\ + mainwindow.cpp + +HEADERS += mainwindow.h + +FORMS += mainwindow.ui -- cgit v1.2.3 From 0fefed996c267677a0c8ec6fbd3052f0f3a7720e Mon Sep 17 00:00:00 2001 From: BogDan Vatra Date: Tue, 2 May 2017 12:25:24 +0300 Subject: Fix different look when running the application second time The problem was introduced in Qt 5.7. Task-number: QTBUG-60297 Change-Id: I46265b24e104e08fe5b8026e5441514a438582c9 Reviewed-by: Christian Stromme --- .../java/src/org/qtproject/qt5/android/bindings/QtLoader.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/android/java/src/org/qtproject/qt5/android/bindings/QtLoader.java b/src/android/java/src/org/qtproject/qt5/android/bindings/QtLoader.java index aeac2448bb..69f351033d 100644 --- a/src/android/java/src/org/qtproject/qt5/android/bindings/QtLoader.java +++ b/src/android/java/src/org/qtproject/qt5/android/bindings/QtLoader.java @@ -608,9 +608,11 @@ public abstract class QtLoader { if (!(new File(stylePath)).exists() && !extractOption.equals("none")) { loaderParams.putString(EXTRACT_STYLE_KEY, stylePath); loaderParams.putBoolean(EXTRACT_STYLE_MINIMAL_KEY, extractOption.equals("minimal")); - if (extractOption.equals("full")) - ENVIRONMENT_VARIABLES += "\tQT_USE_ANDROID_NATIVE_STYLE=1"; } + + if (extractOption.equals("full")) + ENVIRONMENT_VARIABLES += "\tQT_USE_ANDROID_NATIVE_STYLE=1"; + ENVIRONMENT_VARIABLES += "\tMINISTRO_ANDROID_STYLE_PATH=" + stylePath + "\tQT_ANDROID_THEMES_ROOT_PATH=" + themePath; -- cgit v1.2.3 From 979c8b746b56b8e68acf47b5af2eecf834043b50 Mon Sep 17 00:00:00 2001 From: Alex Trotsenko Date: Thu, 27 Apr 2017 16:21:46 +0300 Subject: QCFSocketNotifier: fix registering a source in the run loop Even if a callback type is not automatically re-enabled, callbacks are implicitly enabled when the source has been added to the run loop. In this case, calling CFSocketEnableCallBacks() could produce an extra notification if there is a pending event in the queue. The bug is quite unstable and completely depends on the internal OS delays. So, it can't be tested inside Qt. Task-number: QTBUG-59930 Change-Id: I751b8b8cf99cb86b80055f2214a42a638f01abe4 Reviewed-by: Timur Pocheptsov --- src/corelib/kernel/qcfsocketnotifier.cpp | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/corelib/kernel/qcfsocketnotifier.cpp b/src/corelib/kernel/qcfsocketnotifier.cpp index a079031e96..1fee2aa5fc 100644 --- a/src/corelib/kernel/qcfsocketnotifier.cpp +++ b/src/corelib/kernel/qcfsocketnotifier.cpp @@ -292,10 +292,19 @@ void QCFSocketNotifier::enableSocketNotifiers(CFRunLoopObserverRef ref, CFRunLoo continue; } - if (!socketInfo->readNotifier) + // Apple docs say: "If a callback is automatically re-enabled, + // it is called every time the condition becomes true ... If a + // callback is not automatically re-enabled, then it gets called + // exactly once, and is not called again until you manually + // re-enable that callback by calling CFSocketEnableCallBacks()". + // So, we don't need to enable callbacks on registering. + socketInfo->readEnabled = (socketInfo->readNotifier != nullptr); + if (!socketInfo->readEnabled) CFSocketDisableCallBacks(socketInfo->socket, kCFSocketReadCallBack); - if (!socketInfo->writeNotifier) + socketInfo->writeEnabled = (socketInfo->writeNotifier != nullptr); + if (!socketInfo->writeEnabled) CFSocketDisableCallBacks(socketInfo->socket, kCFSocketWriteCallBack); + continue; } if (socketInfo->readNotifier && !socketInfo->readEnabled) { -- cgit v1.2.3 From fe04eade5559370bdb44e1a74a0a96326265358e Mon Sep 17 00:00:00 2001 From: Venugopal Shivashankar Date: Tue, 2 May 2017 15:34:10 +0200 Subject: Doc: Highlight wearable demo MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Only example app that demonstrates the use of Qt for a wearable device. Change-Id: I7656f809b0219e9a2c8cd61985445ecff8b2c174 Reviewed-by: J-P Nurmi Reviewed-by: Mitch Curtis Reviewed-by: Topi Reiniö --- doc/global/manifest-meta.qdocconf | 1 + 1 file changed, 1 insertion(+) diff --git a/doc/global/manifest-meta.qdocconf b/doc/global/manifest-meta.qdocconf index 865a457581..a7a8763c13 100644 --- a/doc/global/manifest-meta.qdocconf +++ b/doc/global/manifest-meta.qdocconf @@ -41,6 +41,7 @@ manifestmeta.highlighted.names = "QtQuick/Qt Quick Demo - Same Game" \ "QtQuickExtras/Qt Quick Extras - Flat" \ "QtQuickExtras/Qt Quick Extras - Gallery" \ "QtQuickControls2/Qt Quick Controls 2 - Gallery" \ + "QtQuickControls2/Qt Quick Controls 2 - Wearable Demo" \ "QtQuickDialogs/Qt Quick System Dialog Examples" \ "QtWinExtras/Quick Player" \ "QtMultimedia/QML Video Shader Effects Example" \ -- cgit v1.2.3 From 98c1d516b7f7624f7fcd7b9046783e3903a6a42b Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Fri, 28 Apr 2017 13:27:43 +0200 Subject: alloca: detect whether alloca.h exists We can't depend on QT_HAS_INCLUDE for such an important functionality in QtQml, so detect at configure time. alloca() is not a POSIX function (it apparently first appeared in Version 32V AT&T UNIX), so the actual header that defines it varies from system to system. Clearly, if alloca.h exists, that's the one, so we try it first. On most other systems that don't define it, it's in stdlib.h. The only exception is Windows, where it's actually defined in malloc.h. Task-number: QTBUG-59700 Started-by: Thiago Macieira Change-Id: Icd0e0d4b27cb4e5eb892fffd14b4b2b389a4684e Reviewed-by: Thiago Macieira Reviewed-by: Lars Knoll --- config.tests/common/alloca/alloca.cpp | 13 ++++++++++--- configure.json | 28 +++++++++++++++++++++++++--- src/corelib/global/qconfig-bootstrapped.h | 7 +++++++ 3 files changed, 42 insertions(+), 6 deletions(-) diff --git a/config.tests/common/alloca/alloca.cpp b/config.tests/common/alloca/alloca.cpp index d839b381ef..500bdb9ba2 100644 --- a/config.tests/common/alloca/alloca.cpp +++ b/config.tests/common/alloca/alloca.cpp @@ -37,10 +37,17 @@ ** ****************************************************************************/ -#include - +#if defined(USE_ALLOCA_H) +# include +# ifdef __QNXNTO__ // extra include needed in QNX7 to define NULL for the alloca() macro -#include +# include +# endif +#elif defined(USE_MALLOC_H) +# include +#else +# include +#endif int main(int, char **) { diff --git a/configure.json b/configure.json index 49586ed6b8..02d5f1a65e 100644 --- a/configure.json +++ b/configure.json @@ -406,11 +406,23 @@ "type": "compile", "test": "unix/posix_fallocate" }, - "alloca": { - "label": "alloca()", + "alloca_stdlib_h": { + "label": "alloca() in stdlib.h", "type": "compile", "test": "common/alloca" }, + "alloca_h": { + "label": "alloca() in alloca.h", + "type": "compile", + "test": "common/alloca", + "args": "DEFINES+=USE_ALLOCA_H" + }, + "alloca_malloc_h": { + "label": "alloca() in malloc.h", + "type": "compile", + "test": "common/alloca", + "args": "DEFINES+=USE_MALLOC_H" + }, "stack_protector": { "label": "stack protection", "type": "compilerSupportsFlag", @@ -900,9 +912,19 @@ "condition": "tests.posix_fallocate", "output": [ "privateFeature" ] }, + "alloca_h": { + "label": "alloca.h", + "condition": "tests.alloca_h", + "output": [ "privateFeature" ] + }, + "alloca_malloc_h": { + "label": "alloca() in malloc.h", + "condition": "!features.alloca_h && tests.alloca_malloc_h", + "output": [ "privateFeature" ] + }, "alloca": { "label": "alloca()", - "condition": "tests.alloca", + "condition": "features.alloca_h || features.alloca_malloc_h || tests.alloca_stdlib_h", "output": [ "privateFeature" ] }, "stack-protector-strong": { diff --git a/src/corelib/global/qconfig-bootstrapped.h b/src/corelib/global/qconfig-bootstrapped.h index bda8ad7916..0b02ecc8ec 100644 --- a/src/corelib/global/qconfig-bootstrapped.h +++ b/src/corelib/global/qconfig-bootstrapped.h @@ -68,6 +68,13 @@ #define QT_CRYPTOGRAPHICHASH_ONLY_SHA1 #define QT_NO_DATASTREAM +#define QT_FEATURE_alloca 1 +#define QT_FEATURE_alloca_h -1 +#ifdef _WIN32 +# define QT_FEATURE_alloca_malloc_h 1 +#else +# define QT_FEATURE_alloca_malloc_h -1 +#endif #define QT_FEATURE_iconv -1 #define QT_FEATURE_icu -1 #define QT_FEATURE_journald -1 -- cgit v1.2.3 From 35f927e719eb50b90dcfc76ca63c72a38ef821d7 Mon Sep 17 00:00:00 2001 From: Gabriel de Dietrich Date: Mon, 1 May 2017 11:43:05 +0700 Subject: QMenu: Ensure popup() gets the right screen geometry Many QMenu related functions end up calling sizeHint() which does call updateActionRects(). Since we try not to update the action rects if no action has changed, we must be careful to call it the first time with the right screen geometry. Other- wise, multi-display setups may get the action rects based on the wrong display. In QMenu::popup(), this can be solved by using the position passed as argument. Incidentally, we were already computing the right display geometry in the same function, only a bit later. The updated position around an eventual push button menu should not change the screen onto which the menu popup will be displayed. Tested with the multiscreen-menus manual test. Change-Id: Id7fc24be6908b4a9d24b8b9c8b8006efe45d69be Reviewed-by: Friedemann Kleint Reviewed-by: Olivier Goffart (Woboq GmbH) --- src/widgets/widgets/qmenu.cpp | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/src/widgets/widgets/qmenu.cpp b/src/widgets/widgets/qmenu.cpp index 75704f73de..2cafe462b1 100644 --- a/src/widgets/widgets/qmenu.cpp +++ b/src/widgets/widgets/qmenu.cpp @@ -2323,16 +2323,7 @@ void QMenu::popup(const QPoint &p, QAction *atAction) ensurePolished(); // Get the right font emit aboutToShow(); const bool actionListChanged = d->itemsDirty; - d->updateActionRects(); - QPoint pos; - QPushButton *causedButton = qobject_cast(d->causedPopup.widget); - if (actionListChanged && causedButton) - pos = QPushButtonPrivate::get(causedButton)->adjustedMenuPosition(); - else - pos = p; - const QSize menuSizeHint(sizeHint()); - QSize size = menuSizeHint; QRect screen; #ifndef QT_NO_GRAPHICSVIEW bool isEmbedded = !bypassGraphicsProxyWidget(this) && d->nearestGraphicsProxyWidget(this); @@ -2341,6 +2332,17 @@ void QMenu::popup(const QPoint &p, QAction *atAction) else #endif screen = d->popupGeometry(QApplication::desktop()->screenNumber(p)); + d->updateActionRects(screen); + + QPoint pos; + QPushButton *causedButton = qobject_cast(d->causedPopup.widget); + if (actionListChanged && causedButton) + pos = QPushButtonPrivate::get(causedButton)->adjustedMenuPosition(); + else + pos = p; + + const QSize menuSizeHint(sizeHint()); + QSize size = menuSizeHint; const int desktopFrame = style()->pixelMetric(QStyle::PM_MenuDesktopFrameWidth, 0, this); bool adjustToDesktop = !window()->testAttribute(Qt::WA_DontShowOnScreen); -- cgit v1.2.3 From 877ef0594d94f48bf063446b1f8a4b5e1941a8cd Mon Sep 17 00:00:00 2001 From: Venugopal Shivashankar Date: Wed, 26 Apr 2017 16:03:25 +0200 Subject: Doc: Add information about styling QTableView::indicator MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Task-number: QTBUG-60245 Change-Id: I068d74d3d1d3ffb872ac6fec830367d67b65049d Reviewed-by: Topi Reiniö Reviewed-by: Frederik Gladhorn --- src/widgets/doc/images/tableWidget-stylesheet.png | Bin 3478 -> 14135 bytes .../doc/snippets/code/doc_src_stylesheet.qdoc | 6 ++++++ .../doc/src/widgets-and-layouts/stylesheet.qdoc | 6 ++++++ 3 files changed, 12 insertions(+) diff --git a/src/widgets/doc/images/tableWidget-stylesheet.png b/src/widgets/doc/images/tableWidget-stylesheet.png index e99e7a97c8..8c0669838c 100644 Binary files a/src/widgets/doc/images/tableWidget-stylesheet.png and b/src/widgets/doc/images/tableWidget-stylesheet.png differ diff --git a/src/widgets/doc/snippets/code/doc_src_stylesheet.qdoc b/src/widgets/doc/snippets/code/doc_src_stylesheet.qdoc index afe38b24e9..dfea9f2ca4 100644 --- a/src/widgets/doc/snippets/code/doc_src_stylesheet.qdoc +++ b/src/widgets/doc/snippets/code/doc_src_stylesheet.qdoc @@ -1883,3 +1883,9 @@ QTabBar::close-button:hover { * { lineedit-password-mask-delay: 1000 } //! [160] +//! [161] +QTableView::indicator:unchecked { + background-color: #d7d6d5 +} +//! [161] + diff --git a/src/widgets/doc/src/widgets-and-layouts/stylesheet.qdoc b/src/widgets/doc/src/widgets-and-layouts/stylesheet.qdoc index 61379fb2f0..6745b78898 100644 --- a/src/widgets/doc/src/widgets-and-layouts/stylesheet.qdoc +++ b/src/widgets/doc/src/widgets-and-layouts/stylesheet.qdoc @@ -3904,6 +3904,12 @@ \snippet code/doc_src_stylesheet.qdoc 150 + The QTableView's checkbox indicator can also be customized. In the + following snippet the indicator \c background-color in unchecked state is + customized: + + \snippet code/doc_src_stylesheet.qdoc 161 + \section2 Customizing QToolBar The background and the handle of a QToolBar is customized as below: -- cgit v1.2.3