JBR-9727 Wayland: assertion error in ShadowImpl.updateSurfaceData

This commit is contained in:
Maxim Kartashev
2025-12-01 15:02:40 +04:00
committed by jbrbot
parent 5f3db1e190
commit ed768386ab

View File

@@ -448,10 +448,12 @@ public class WLComponentPeer implements ComponentPeer, WLSurfaceSizeListener {
}
void updateSurfaceData() {
SurfaceData.convertTo(WLSurfaceDataExt.class, surfaceData).revalidate(
getGraphicsConfiguration(), getBufferWidth(), getBufferHeight(), getDisplayScale());
performLocked(() -> {
SurfaceData.convertTo(WLSurfaceDataExt.class, surfaceData).revalidate(
getGraphicsConfiguration(), getBufferWidth(), getBufferHeight(), getDisplayScale());
shadow.updateSurfaceData();
shadow.updateSurfaceData();
});
}
public boolean isResizable() {
@@ -1065,10 +1067,11 @@ public class WLComponentPeer implements ComponentPeer, WLSurfaceSizeListener {
log.fine(String.format("%s is updating buffer to %dx%d pixels", this, getBufferWidth(), getBufferHeight()));
}
}
updateSurfaceData();
postPaintEvent();
}
updateSurfaceData();
postPaintEvent();
// Not sure what would need to have changed in Wayland's graphics configuration
// to warrant destroying the peer and creating a new one from scratch.
// So return "never recreate" here.