diff options
author | Jan-Marek Glogowski <jan-marek.glogowski@extern.cib.de> | 2019-12-03 08:32:58 +0100 |
---|---|---|
committer | Jan-Marek Glogowski <glogow@fbihome.de> | 2019-12-12 14:40:55 +0100 |
commit | 20be5cd0bdc57d812bf34a2debfe48caa51de881 (patch) | |
tree | fe3910ce005c5a8639074edb283905d5c3622719 /configure.ac | |
parent | 0d1d0e1a68ce2a48efb7b318e8e01c92361d6b78 (diff) |
Qt5 fix missing XCB_ICCCM_WM_HINT_WINDOW_GROUP
This is the application level equivalent of the Qt5 fix for bug
QTBUG-46626 / commit 0de4b32 ("xcb: fix issue with dialogs hidden
by other windows"), which was broken since Qt 5.4 and is just
fixed since Qt 5.12.
It is needed for some window managers, which don't know about the
WM_CLIENT_LEADER property. Both settings are the same, but just
the latter is set by older Qt5 releases. This probably isn't a
real problem, as GNOME or XFCE would use the gtk VCL plugin, but
since I already wrote the code when debugging tdf#129071, there
is also no reason to drop it (except: more code, more bugs...).
This fix is optional and needs development headers for xcb-icccm,
which can actually be compiled into Qt5. If missing configure will
just print a warning, since it's a runtime requirement and we
explicitly drop the linked Qt version symbol, so the potential
build Qt version won't matter.
Change-Id: Ifc5a8f8a40ee13779a911efb53e8b8b868614d0b
Reviewed-on: https://gerrit.libreoffice.org/84299
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
(cherry picked from commit fe2baf9e84e0ca9aeaa683e37076f57fa3f38dca)
Reviewed-on: https://gerrit.libreoffice.org/84810
Diffstat (limited to 'configure.ac')
-rw-r--r-- | configure.ac | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/configure.ac b/configure.ac index 797091af8257..3e86ddb7f78b 100644 --- a/configure.ac +++ b/configure.ac @@ -11336,8 +11336,15 @@ then if test "$USING_X11" = TRUE; then PKG_CHECK_MODULES(QT5_XCB,[xcb],,[AC_MSG_ERROR([XCB not found, which is needed for correct app grouping in X11.])]) - QT5_CFLAGS="$QT5_CFLAGS $QT5_XCB_CFLAGS" - QT5_LIBS="$QT5_LIBS $QT5_XCB_LIBS -lQt5X11Extras" + PKG_CHECK_MODULES(QT5_XCB_ICCCM,[xcb-icccm],[ + QT5_HAVE_XCB_ICCCM=1 + AC_DEFINE(QT5_HAVE_XCB_ICCCM) + ],[ + AC_MSG_WARN([XCB ICCCM not found, which is needed for old Qt versions (< 5.12) on some WMs to correctly group dialogs (like QTBUG-46626)]) + add_warning "XCB ICCCM not found, which is needed for Qt versions (< 5.12) on some WMs to correctly group dialogs (like QTBUG-46626)" + ]) + QT5_CFLAGS="$QT5_CFLAGS $QT5_XCB_CFLAGS $QT5_XCB_ICCCM_CFLAGS" + QT5_LIBS="$QT5_LIBS $QT5_XCB_LIBS $QT5_XCB_ICCCM_LIBS -lQt5X11Extras" QT5_USING_X11=1 AC_DEFINE(QT5_USING_X11) fi |