diff options
author | Ulf Hermann <ulf.hermann@qt.io> | 2024-06-06 09:26:03 +0200 |
---|---|---|
committer | Ulf Hermann <ulf.hermann@qt.io> | 2024-06-14 16:08:13 +0200 |
commit | deae8b9ce9f551b29ef98d0bb827a8543af2797e (patch) | |
tree | f11807df250b92c44430fb2d8d93a468dea40fab /src/compositor/compositor_api | |
parent | bd8285263b88e2d58c63a82e023429c5f525d004 (diff) |
We can and should use the new export macro for the client logging
categories, but we need to manually define the compositor logging
categories now since they are public and we cannot change their symbols.
Task-number: QTBUG-67692
Change-Id: If4eb9c390a4851945d308e2b83ef13b12816698a
Reviewed-by: David Edmundson <davidedmundson@kde.org>
Diffstat (limited to 'src/compositor/compositor_api')
-rw-r--r-- | src/compositor/compositor_api/qwaylandcompositor.cpp | 17 | ||||
-rw-r--r-- | src/compositor/compositor_api/qwaylandcompositor.h | 8 |
2 files changed, 17 insertions, 8 deletions
diff --git a/src/compositor/compositor_api/qwaylandcompositor.cpp b/src/compositor/compositor_api/qwaylandcompositor.cpp index e6f5955b8..b3433f426 100644 --- a/src/compositor/compositor_api/qwaylandcompositor.cpp +++ b/src/compositor/compositor_api/qwaylandcompositor.cpp @@ -60,10 +60,19 @@ QT_BEGIN_NAMESPACE -Q_LOGGING_CATEGORY(qLcWaylandCompositor, "qt.waylandcompositor") -Q_LOGGING_CATEGORY(qLcWaylandCompositorHardwareIntegration, "qt.waylandcompositor.hardwareintegration") -Q_LOGGING_CATEGORY(qLcWaylandCompositorInputMethods, "qt.waylandcompositor.inputmethods") -Q_LOGGING_CATEGORY(qLcWaylandCompositorTextInput, "qt.waylandcompositor.textinput") +// These logging categories are public symbols. To remain binary-compatible we cannot hide them in +// a namespace like we do for all Qt-internal logging categories. +#define Q_PUBLIC_LOGGING_CATEGORY(name, ...) \ + const QLoggingCategory &name() \ + { \ + static const QLoggingCategory category(__VA_ARGS__); \ + return category; \ + } + +Q_PUBLIC_LOGGING_CATEGORY(qLcWaylandCompositor, "qt.waylandcompositor") +Q_PUBLIC_LOGGING_CATEGORY(qLcWaylandCompositorHardwareIntegration, "qt.waylandcompositor.hardwareintegration") +Q_PUBLIC_LOGGING_CATEGORY(qLcWaylandCompositorInputMethods, "qt.waylandcompositor.inputmethods") +Q_PUBLIC_LOGGING_CATEGORY(qLcWaylandCompositorTextInput, "qt.waylandcompositor.textinput") namespace QtWayland { diff --git a/src/compositor/compositor_api/qwaylandcompositor.h b/src/compositor/compositor_api/qwaylandcompositor.h index 1dee5cad1..58b053d4e 100644 --- a/src/compositor/compositor_api/qwaylandcompositor.h +++ b/src/compositor/compositor_api/qwaylandcompositor.h @@ -34,10 +34,10 @@ class QWaylandTouch; class QWaylandSurfaceGrabber; class QWaylandBufferRef; -Q_WAYLANDCOMPOSITOR_EXPORT Q_DECLARE_LOGGING_CATEGORY(qLcWaylandCompositor) -Q_WAYLANDCOMPOSITOR_EXPORT Q_DECLARE_LOGGING_CATEGORY(qLcWaylandCompositorHardwareIntegration) -Q_DECLARE_LOGGING_CATEGORY(qLcWaylandCompositorInputMethods) -Q_DECLARE_LOGGING_CATEGORY(qLcWaylandCompositorTextInput) +Q_WAYLANDCOMPOSITOR_EXPORT const QLoggingCategory &qLcWaylandCompositor(); +Q_WAYLANDCOMPOSITOR_EXPORT const QLoggingCategory &qLcWaylandCompositorHardwareIntegration(); +const QLoggingCategory &qLcWaylandCompositorInputMethods(); +const QLoggingCategory &qLcWaylandCompositorTextInput(); class Q_WAYLANDCOMPOSITOR_EXPORT QWaylandCompositor : public QWaylandObject { |