Verify rotation when updating screen size in XRandR backend

Review Request #127656 - Created April 15, 2016 and submitted

Information
Pieterjan Camerlynck
libkscreen
356228
Reviewers
solid
afiestas, dvratil, sebas

When rotating a single screen to portrait and back to landscape, the XRandR screen size is not updated.

When for example rotating a display of 1920x1080 portrait, the screen size is changed to 1080x1920. XRandR::screenChanged() however is called with rotation = 90 and size = 1920x1080. So the screen size stored internally remains 1920x1080, instead of being updated to 1080x1920.
When you then rotate the screen back to landscape, it checks the new screen size (1920x1080) against the stored (1920x1080) and does not update the screen size (which is at this point 1080x1920).

This should solve https://bugs.kde.org/show_bug.cgi?id=356228 which has photos of the incorrect behavior.

  • Rotate single screen to portrait and back to landscape
  • Rotate one screen of dual head to portrait and back
  • Rotate both screens of a dual head setup to portrait and back
Leslie Zhai
Leslie Zhai
Leslie Zhai
Pieterjan Camerlynck
Pieterjan Camerlynck
Pieterjan Camerlynck
Pieterjan Camerlynck
Review request changed

Status: Closed (submitted)

Loading...