diff --git a/xdgshellclient.cpp b/xdgshellclient.cpp --- a/xdgshellclient.cpp +++ b/xdgshellclient.cpp @@ -70,26 +70,24 @@ , m_xdgShellPopup(nullptr) { setSurface(surface->surface()); - m_requestGeometryBlockCounter++; init(); - connect(surface->surface(), &SurfaceInterface::committed, this, &XdgShellClient::finishInit); } XdgShellClient::XdgShellClient(XdgShellPopupInterface *surface) : AbstractClient() , m_xdgShellSurface(nullptr) , m_xdgShellPopup(surface) { setSurface(surface->surface()); - m_requestGeometryBlockCounter++; init(); - connect(surface->surface(), &SurfaceInterface::committed, this, &XdgShellClient::finishInit); } XdgShellClient::~XdgShellClient() = default; void XdgShellClient::init() { + m_requestGeometryBlockCounter++; + connect(this, &XdgShellClient::desktopFileNameChanged, this, &XdgShellClient::updateIcon); createWindowId(); setupCompositing(); @@ -173,6 +171,8 @@ handleTransientForChanged(); AbstractClient::updateColorScheme(QString()); + + connect(surface(), &SurfaceInterface::committed, this, &XdgShellClient::finishInit); } void XdgShellClient::finishInit()