summaryrefslogtreecommitdiff
path: root/src/protocols/ToplevelExport.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/protocols/ToplevelExport.cpp')
-rw-r--r--src/protocols/ToplevelExport.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/protocols/ToplevelExport.cpp b/src/protocols/ToplevelExport.cpp
index 0ddd84c8..73e5cad9 100644
--- a/src/protocols/ToplevelExport.cpp
+++ b/src/protocols/ToplevelExport.cpp
@@ -202,7 +202,12 @@ void CToplevelExportFrame::copy(CHyprlandToplevelExportFrameV1* pFrame, wl_resou
buffer = PBUFFER->buffer;
- PROTO::toplevelExport->m_vFramesAwaitingWrite.emplace_back(self);
+ m_ignoreDamage = ignoreDamage;
+
+ if (ignoreDamage && validMapped(pWindow))
+ share();
+ else
+ PROTO::toplevelExport->m_vFramesAwaitingWrite.emplace_back(self);
}
void CToplevelExportFrame::share() {
@@ -226,7 +231,7 @@ void CToplevelExportFrame::share() {
resource->sendFlags((hyprlandToplevelExportFrameV1Flags)0);
- if (!ignoreDamage) {
+ if (!m_ignoreDamage) {
resource->sendDamage(0, 0, box.width, box.height);
}