From 5bd9843b103977148a3c3555e8b153203548f017 Mon Sep 17 00:00:00 2001 From: Liang Qi Date: Tue, 18 Oct 2022 20:18:52 +0200 Subject: [PATCH] xcb: Add xlib wrapper for XFlush() MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Also avoid to include xlib headers directly. Change-Id: Id60a9b39a9d8284d5d0ab3df1ed61f844f1e68e4 Reviewed-by: JiDe Zhang Reviewed-by: Tor Arne Vestbø (cherry picked from commit be4d339ce784921e0d1b127a86e025a1274e25b4) Reviewed-by: Qt Cherry-pick Bot --- src/plugins/platforms/xcb/CMakeLists.txt | 2 ++ src/plugins/platforms/xcb/qt_xlib_wrapper.c | 7 +++++++ src/plugins/platforms/xcb/qt_xlib_wrapper.h | 17 +++++++++++++++++ 3 files changed, 26 insertions(+) create mode 100644 src/plugins/platforms/xcb/qt_xlib_wrapper.c create mode 100644 src/plugins/platforms/xcb/qt_xlib_wrapper.h diff --git a/src/plugins/platforms/xcb/CMakeLists.txt b/src/plugins/platforms/xcb/CMakeLists.txt index bb026e77e85..9ac281c4073 100644 --- a/src/plugins/platforms/xcb/CMakeLists.txt +++ b/src/plugins/platforms/xcb/CMakeLists.txt @@ -83,6 +83,8 @@ qt_internal_extend_target(XcbQpaPrivate CONDITION QT_FEATURE_draganddrop ) qt_internal_extend_target(XcbQpaPrivate CONDITION QT_FEATURE_xcb_xlib + SOURCES + qt_xlib_wrapper.c qt_xlib_wrapper.h PUBLIC_LIBRARIES X11::XCB # special case begin diff --git a/src/plugins/platforms/xcb/qt_xlib_wrapper.c b/src/plugins/platforms/xcb/qt_xlib_wrapper.c new file mode 100644 index 00000000000..f4614e5504e --- /dev/null +++ b/src/plugins/platforms/xcb/qt_xlib_wrapper.c @@ -0,0 +1,7 @@ +// Copyright (C) 2022 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +#include "qt_xlib_wrapper.h" + +#include + +void qt_XFlush(Display *dpy) { XFlush(dpy); } diff --git a/src/plugins/platforms/xcb/qt_xlib_wrapper.h b/src/plugins/platforms/xcb/qt_xlib_wrapper.h new file mode 100644 index 00000000000..642dbdeadd3 --- /dev/null +++ b/src/plugins/platforms/xcb/qt_xlib_wrapper.h @@ -0,0 +1,17 @@ +// Copyright (C) 2022 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +#ifndef QT_XLIB_WRAPPER_H +#define QT_XLIB_WRAPPER_H + +#ifdef __cplusplus +extern "C" { +#endif + + typedef struct _XDisplay Display; + void qt_XFlush(Display *dpy); + +#ifdef __cplusplus +} +#endif + +#endif // QT_XLIB_WRAPPER_H