summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFrederik Gladhorn <frederik.gladhorn@digia.com>2013-01-18 16:36:42 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-01-23 10:56:34 +0100
commit586fabb3b5681e06378a0b31737a0e306e36717b (patch)
treee6e966b743bddfdc6e11a086a7302d2d5cc1147b
parentd5dec5d00deae7914613b12109b2be11add8c4ee (diff)
Disable only accessibility bridge without dbus on linux
Keeping accessibility and only disabling the bridge will enable more builds to work. Warning about disabling accessibility disabled is needed because in QStyle it is used to discover semantics about widgets (if a toolbutton is in a toolbar). Change-Id: Iae4e6ab63479743bdd70cba4b1954ec7cf3f88e9 Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
-rwxr-xr-xconfigure30
-rw-r--r--src/platformsupport/linuxaccessibility/linuxaccessibility.pri2
-rw-r--r--src/plugins/platforms/xcb/qxcbintegration.cpp4
-rw-r--r--tests/auto/other/other.pro2
-rw-r--r--tools/configure/configureapp.cpp8
5 files changed, 28 insertions, 18 deletions
diff --git a/configure b/configure
index 699d98e883..38daeed3c3 100755
--- a/configure
+++ b/configure
@@ -831,6 +831,7 @@ CFG_AVX=auto
CFG_AVX2=auto
CFG_REDUCE_RELOCATIONS=auto
CFG_ACCESSIBILITY=auto
+CFG_ACCESSIBILITY_ATSPI_BRIDGE=no # will be enabled depending on dbus and accessibility being enabled
CFG_IWMMXT=no
CFG_NEON=auto
CFG_MIPS_DSP=auto
@@ -3093,6 +3094,10 @@ Configure options:
+ -largefile ......... Enables Qt to access files larger than 4 GB.
-no-accessibility .. Do not compile Accessibility support.
+ Disabling accessibility is not recommended, as it will break QStyle
+ and may break other internal parts of Qt.
+ With this switch you create a source incompatible version of Qt,
+ which is unsupported.
+ -accessibility ..... Compile Accessibility support.
-no-sql-<driver> ... Disable SQL <driver> entirely.
@@ -4949,20 +4954,19 @@ if [ "$CFG_KMS" = "yes" ]; then
fi
# Detect accessibility support
-if [ "$CFG_ACCESSIBILITY" != "no" ]; then
- if [ "$CFG_XCB" = "no" ]; then
- CFG_ACCESSIBILITY=yes
- else
- # linux/xcb accessibility needs dbus
- if [ "$CFG_DBUS" != "no" ] && [ -n "$PKG_CONFIG" ]; then
- CFG_ACCESSIBILITY=yes
+if [ "$CFG_ACCESSIBILITY" = "no" ]; then
+ echo >&2 "Warning: Disabling Accessibility. This version of Qt is unsupported."
+else
+ CFG_ACCESSIBILITY=yes
+
+ # linux/xcb accessibility bridge needs dbus
+ if [ "$CFG_XCB" != "no" ]; then
+ if [ "$CFG_DBUS" != "no" ]; then
+ CFG_ACCESSIBILITY_ATSPI_BRIDGE=yes
+ QT_CONFIG="$QT_CONFIG accessibility-atspi-bridge"
else
- if [ "$CFG_ACCESSIBILITY" = "auto" ]; then
- CFG_ACCESSIBILITY=no
- else
- echo "Accessibility support needs DBus."
- exit 101
- fi
+ echo >&2 "Warning: Disabling Linux Accessibility Bridge: DBus is missing."
+ QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_ACCESSIBILITY_ATSPI_BRIDGE"
fi
fi
fi
diff --git a/src/platformsupport/linuxaccessibility/linuxaccessibility.pri b/src/platformsupport/linuxaccessibility/linuxaccessibility.pri
index 09d437678f..2721002ea5 100644
--- a/src/platformsupport/linuxaccessibility/linuxaccessibility.pri
+++ b/src/platformsupport/linuxaccessibility/linuxaccessibility.pri
@@ -1,4 +1,4 @@
-qtHaveModule(dbus):contains(QT_CONFIG, xcb):contains(QT_CONFIG, accessibility) {
+contains(QT_CONFIG, accessibility-atspi-bridge) {
QT += dbus
include(../../3rdparty/atspi2/atspi2.pri)
diff --git a/src/plugins/platforms/xcb/qxcbintegration.cpp b/src/plugins/platforms/xcb/qxcbintegration.cpp
index 9af1f0404f..9fe6e4253b 100644
--- a/src/plugins/platforms/xcb/qxcbintegration.cpp
+++ b/src/plugins/platforms/xcb/qxcbintegration.cpp
@@ -84,8 +84,10 @@
#include <QtGui/QScreen>
#ifndef QT_NO_ACCESSIBILITY
#include <qpa/qplatformaccessibility.h>
+#ifndef QT_NO_ACCESSIBILITY_ATSPI_BRIDGE
#include "../../../platformsupport/linuxaccessibility/bridge_p.h"
#endif
+#endif
QT_BEGIN_NAMESPACE
@@ -112,7 +114,7 @@ QXcbIntegration::QXcbIntegration(const QStringList &parameters)
m_fontDatabase.reset(new QGenericUnixFontDatabase());
m_inputContext.reset(QPlatformInputContextFactory::create());
-#ifndef QT_NO_ACCESSIBILITY
+#ifndef QT_NO_ACCESSIBILITY_ATSPI_BRIDGE
m_accessibility.reset(new QSpiAccessibleBridge());
#endif
}
diff --git a/tests/auto/other/other.pro b/tests/auto/other/other.pro
index ea6290db42..35aaf4d48f 100644
--- a/tests/auto/other/other.pro
+++ b/tests/auto/other/other.pro
@@ -50,7 +50,7 @@ cross_compile: SUBDIRS -= \
wince*|!contains(QT_CONFIG, accessibility): SUBDIRS -= qaccessibility
-!contains(QT_CONFIG, accessibility)|!contains(QT_CONFIG, xcb): SUBDIRS -= qaccessibilitylinux
+!contains(QT_CONFIG, accessibility-atspi-bridge): SUBDIRS -= qaccessibilitylinux
!mac: SUBDIRS -= \
macgui \
diff --git a/tools/configure/configureapp.cpp b/tools/configure/configureapp.cpp
index 81f575335f..5b8039c109 100644
--- a/tools/configure/configureapp.cpp
+++ b/tools/configure/configureapp.cpp
@@ -1650,8 +1650,12 @@ bool Configure::displayHelp()
desc("WIDGETS", "no", "-no-widgets", "Disable QtWidgets module.\n");
- desc("ACCESSIBILITY", "no", "-no-accessibility", "Do not compile Windows Active Accessibility support.");
- desc("ACCESSIBILITY", "yes", "-accessibility", "Compile Windows Active Accessibility support.\n");
+ desc("ACCESSIBILITY", "no", "-no-accessibility", "Disable accessibility support.\n");
+ desc( "", "Disabling accessibility is not recommended, as it will break QStyle\n"
+ "and may break other internal parts of Qt.\n"
+ "With this switch you create a source incompatible version of Qt,\n"
+ "which is unsupported.\n");
+ desc("ACCESSIBILITY", "yes", "-accessibility", "Enable accessibility support.\n");
desc( "-no-sql-<driver>", "Disable SQL <driver> entirely, by default none are turned on.");
desc( "-qt-sql-<driver>", "Enable a SQL <driver> in the Qt Library.");