diff options
Diffstat (limited to 'examples/wayland/minimal-cpp')
-rw-r--r-- | examples/wayland/minimal-cpp/compositor.cpp | 1 | ||||
-rw-r--r-- | examples/wayland/minimal-cpp/main.cpp | 1 | ||||
-rw-r--r-- | examples/wayland/minimal-cpp/window.cpp | 1 | ||||
-rw-r--r-- | examples/wayland/minimal-cpp/window.h | 4 |
4 files changed, 6 insertions, 1 deletions
diff --git a/examples/wayland/minimal-cpp/compositor.cpp b/examples/wayland/minimal-cpp/compositor.cpp index 81b1be269..fa9ae2da9 100644 --- a/examples/wayland/minimal-cpp/compositor.cpp +++ b/examples/wayland/minimal-cpp/compositor.cpp @@ -88,6 +88,7 @@ Compositor::Compositor(Window *window) : m_window(window) { window->setCompositor(this); + connect(window, &Window::glReady, this, [this] { create(); }); } Compositor::~Compositor() diff --git a/examples/wayland/minimal-cpp/main.cpp b/examples/wayland/minimal-cpp/main.cpp index 0b0b4b9d8..226e8923c 100644 --- a/examples/wayland/minimal-cpp/main.cpp +++ b/examples/wayland/minimal-cpp/main.cpp @@ -59,7 +59,6 @@ int main(int argc, char *argv[]) Window window; window.resize(800,600); Compositor compositor(&window); - compositor.create(); window.show(); return app.exec(); diff --git a/examples/wayland/minimal-cpp/window.cpp b/examples/wayland/minimal-cpp/window.cpp index f345bd51f..f32fb515c 100644 --- a/examples/wayland/minimal-cpp/window.cpp +++ b/examples/wayland/minimal-cpp/window.cpp @@ -68,6 +68,7 @@ void Window::setCompositor(Compositor *comp) { void Window::initializeGL() { m_textureBlitter.create(); + emit glReady(); } void Window::paintGL() diff --git a/examples/wayland/minimal-cpp/window.h b/examples/wayland/minimal-cpp/window.h index 1a106da9c..7711e0bd6 100644 --- a/examples/wayland/minimal-cpp/window.h +++ b/examples/wayland/minimal-cpp/window.h @@ -60,10 +60,14 @@ class Compositor; class Window : public QOpenGLWindow { + Q_OBJECT public: Window(); void setCompositor(Compositor *comp); +signals: + void glReady(); + protected: void initializeGL() override; void paintGL() override; |