diff --git a/src/platforms/xcb/kwindowsystem.cpp b/src/platforms/xcb/kwindowsystem.cpp --- a/src/platforms/xcb/kwindowsystem.cpp +++ b/src/platforms/xcb/kwindowsystem.cpp @@ -60,7 +60,11 @@ for (int i = 0; i < screenList.count(); ++i) { const QScreen *screen = screenList.at(i); connections << QObject::connect(screen, &QScreen::geometryChanged, dirtify); - region += screen->geometry(); + + QRect screenGeom = screen->geometry(); + screenGeom.setHeight(screenGeom.height() * screen->devicePixelRatio()); + screenGeom.setWidth(screenGeom.width() * screen->devicePixelRatio()); + region += screenGeom; } displayGeometry = region.boundingRect(); isDirty = false;