diff options
-rw-r--r-- | examples/wayland/pure-qml/qml/main.qml | 3 | ||||
-rw-r--r-- | src/compositor/compositor_api/qwaylandcompositor.cpp | 1 | ||||
-rw-r--r-- | src/compositor/compositor_api/qwaylandoutput.cpp | 8 |
3 files changed, 10 insertions, 2 deletions
diff --git a/examples/wayland/pure-qml/qml/main.qml b/examples/wayland/pure-qml/qml/main.qml index 9ed4acd2..77ed3ecd 100644 --- a/examples/wayland/pure-qml/qml/main.qml +++ b/examples/wayland/pure-qml/qml/main.qml @@ -104,9 +104,8 @@ WaylandCompositor { } onPopupCreated: { var parentView = viewsBySurface[popup.parentXdgSurface.surface]; - var item = chromeComponent.createObject(defaultOutput.surfaceArea, { "shellSurface": xdgSurface } ); + var item = chromeComponent.createObject(parentView, { "shellSurface": xdgSurface } ); viewsBySurface[xdgSurface.surface] = item; - //TODO: set popup position } } diff --git a/src/compositor/compositor_api/qwaylandcompositor.cpp b/src/compositor/compositor_api/qwaylandcompositor.cpp index 00f3d83f..99b484e2 100644 --- a/src/compositor/compositor_api/qwaylandcompositor.cpp +++ b/src/compositor/compositor_api/qwaylandcompositor.cpp @@ -199,6 +199,7 @@ void QWaylandCompositorPrivate::init() if (!autoSocketName) qFatal("Fatal: Failed to open server socket\n"); socket_name = autoSocketName; + emit q->socketNameChanged(socket_name); } loop = wl_display_get_event_loop(display); diff --git a/src/compositor/compositor_api/qwaylandoutput.cpp b/src/compositor/compositor_api/qwaylandoutput.cpp index 522de08e..77d3dc1a 100644 --- a/src/compositor/compositor_api/qwaylandoutput.cpp +++ b/src/compositor/compositor_api/qwaylandoutput.cpp @@ -529,6 +529,8 @@ void QWaylandOutput::setCurrentMode(const QWaylandOutputMode &mode) Q_EMIT currentModeChanged(); Q_EMIT geometryChanged(); + if (!d->availableGeometry.isValid()) + emit availableGeometryChanged(); d->sendModesInfo(); } @@ -938,6 +940,9 @@ void QWaylandOutput::handleSetWidth(int newWidth) QWaylandOutputMode mode = d->modes.at(d->currentMode); mode.setWidth(newWidth * d->window->devicePixelRatio()); d->modes.replace(d->currentMode, mode); + emit geometryChanged(); + if (!d->availableGeometry.isValid()) + emit availableGeometryChanged(); d->sendModesInfo(); } else { // We didn't add a mode during the initialization because the window @@ -968,6 +973,9 @@ void QWaylandOutput::handleSetHeight(int newHeight) QWaylandOutputMode mode = d->modes.at(d->currentMode); mode.setHeight(newHeight * d->window->devicePixelRatio()); d->modes.replace(d->currentMode, mode); + emit geometryChanged(); + if (!d->availableGeometry.isValid()) + emit availableGeometryChanged(); d->sendModesInfo(); } else { // We didn't add a mode during the initialization because the window |