mirror of
https://github.com/hyprwm/Hyprland.git
synced 2024-10-05 17:17:47 +03:00
fix3
This commit is contained in:
parent
683a0e1584
commit
fa069bc4ce
@ -47,7 +47,7 @@ CDRMSyncobjSurfaceResource::CDRMSyncobjSurfaceResource(SP<CWpLinuxDrmSyncobjSurf
|
||||
return;
|
||||
}
|
||||
|
||||
if (!surface->pending.texture)
|
||||
if (!surface->pending.newBuffer)
|
||||
return; // this commit does not change the state here
|
||||
|
||||
if (!!pending.acquireTimeline != !!pending.releaseTimeline) {
|
||||
|
@ -70,7 +70,8 @@ CWLSurfaceResource::CWLSurfaceResource(SP<CWlSurface> resource_) : resource(reso
|
||||
resource->setOnDestroy([this](CWlSurface* r) { destroy(); });
|
||||
|
||||
resource->setAttach([this](CWlSurface* r, wl_resource* buffer, int32_t x, int32_t y) {
|
||||
pending.offset = {x, y};
|
||||
pending.offset = {x, y};
|
||||
pending.newBuffer = true;
|
||||
|
||||
if (!buffer) {
|
||||
pending.buffer.reset();
|
||||
@ -429,8 +430,7 @@ void CWLSurfaceResource::commitPendingState() {
|
||||
current = pending;
|
||||
pending.damage.clear();
|
||||
pending.bufferDamage.clear();
|
||||
pending.texture.reset();
|
||||
pending.buffer.reset();
|
||||
pending.newBuffer = false;
|
||||
|
||||
if (syncobj && syncobj->current.releaseTimeline && syncobj->current.releaseTimeline->timeline && current.buffer && current.buffer->buffer)
|
||||
current.buffer->releaser = makeShared<CSyncReleaser>(syncobj->current.releaseTimeline->timeline, syncobj->current.releasePoint);
|
||||
|
@ -97,7 +97,8 @@ class CWLSurfaceResource {
|
||||
Vector2D destination;
|
||||
CBox source;
|
||||
} viewport;
|
||||
bool rejected = false;
|
||||
bool rejected = false;
|
||||
bool newBuffer = false;
|
||||
|
||||
//
|
||||
void reset() {
|
||||
|
Loading…
Reference in New Issue
Block a user