core/window: backing windows can now be destroyed and recreated

This fixes a crash in layershells and the setVisible crash on nvidia.
This commit is contained in:
outfoxxed 2024-03-27 00:44:13 -07:00
parent b6dc6967a1
commit 3a0381dcbe
Signed by: outfoxxed
GPG key ID: 4C88A185FB89301E
16 changed files with 257 additions and 112 deletions

View file

@ -61,8 +61,10 @@ class WlrLayershell: public ProxyWindowBase {
public:
explicit WlrLayershell(QObject* parent = nullptr);
QQuickWindow* createWindow(QObject* oldInstance) override;
void setupWindow() override;
QQuickWindow* retrieveWindow(QObject* oldInstance) override;
QQuickWindow* createQQuickWindow() override;
void connectWindow() override;
[[nodiscard]] bool deleteOnInvisible() const override;
void setWidth(qint32 width) override;
void setHeight(qint32 height) override;