diff options
-rw-r--r-- | src/compositor/compositor_api/qwaylandcompositor.h | 4 | ||||
-rw-r--r-- | src/compositor/compositor_api/qwaylandcompositor_p.h | 6 |
2 files changed, 9 insertions, 1 deletions
diff --git a/src/compositor/compositor_api/qwaylandcompositor.h b/src/compositor/compositor_api/qwaylandcompositor.h index f97484d86..dd3c20e2f 100644 --- a/src/compositor/compositor_api/qwaylandcompositor.h +++ b/src/compositor/compositor_api/qwaylandcompositor.h @@ -135,6 +135,10 @@ Q_SIGNALS: void defaultInputDeviceChanged(QWaylandInputDevice *newDevice, QWaylandInputDevice *oldDevice); void useHardwareIntegrationExtensionChanged(); + + void outputAdded(QWaylandOutput *output); + void outputRemoved(QWaylandOutput *output); + protected: virtual void retainedSelectionReceived(QMimeData *mimeData); virtual QWaylandInputDevice *createInputDevice(); diff --git a/src/compositor/compositor_api/qwaylandcompositor_p.h b/src/compositor/compositor_api/qwaylandcompositor_p.h index 8966acb38..7e1d72675 100644 --- a/src/compositor/compositor_api/qwaylandcompositor_p.h +++ b/src/compositor/compositor_api/qwaylandcompositor_p.h @@ -185,16 +185,20 @@ void QWaylandCompositorPrivate::removeClient(QWaylandClient *client) void QWaylandCompositorPrivate::addOutput(QWaylandOutput *output) { Q_ASSERT(output); + Q_Q(QWaylandCompositor); if (outputs.contains(output)) return; outputs.append(output); + emit q->outputAdded(output); } void QWaylandCompositorPrivate::removeOutput(QWaylandOutput *output) { Q_ASSERT(output); Q_ASSERT(outputs.count(output) == 1); - outputs.removeOne(output); + Q_Q(QWaylandCompositor); + if (outputs.removeOne(output)) + emit q->outputRemoved(output); } QT_END_NAMESPACE |