Skip to content

Round up output geometry

Yifan Zhu requested to merge (removed):fix into master

Under fractional scaling, output screens can have non-integral sizes. Previous code uses QSizeF::toSize(), which rounds to the nearest integer. This sometimes results in different screens sharing one pixel at the edge, which causes BUG 464842 and BUG 477791.

Implement Output::explicitLogicalSizeInt() and Config::logicalSizeForOutputInt to explicitly round up non-integral sizes, and use them in calculating output geometry.

See kscreen!264 (merged) for the corresponding MR to kscreen kcm. The two MRs should be tested together.

@teams/qa

BUG: 464842 BUG: 477791

Edited by Yifan Zhu

Merge request reports