diff options
author | Frederik Gladhorn <frederik.gladhorn@digia.com> | 2013-01-18 16:36:42 +0100 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-01-23 10:56:34 +0100 |
commit | 586fabb3b5681e06378a0b31737a0e306e36717b (patch) | |
tree | e6e966b743bddfdc6e11a086a7302d2d5cc1147b | |
parent | d5dec5d00deae7914613b12109b2be11add8c4ee (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-x | configure | 30 | ||||
-rw-r--r-- | src/platformsupport/linuxaccessibility/linuxaccessibility.pri | 2 | ||||
-rw-r--r-- | src/plugins/platforms/xcb/qxcbintegration.cpp | 4 | ||||
-rw-r--r-- | tests/auto/other/other.pro | 2 | ||||
-rw-r--r-- | tools/configure/configureapp.cpp | 8 |
5 files changed, 28 insertions, 18 deletions
@@ -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 ¶meters) 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."); |