• Jonathan Waddell's avatar
    Set Rotation and Reflection to only the current modes when using Basic Configuration · 3722e02d
    Jonathan Waddell authored
    Currently when the Display Configuration page of nvidia-settings is in Basic mode, any changes to the Rotation and Reflection values are applied to all modes for that display. This causes our entire list of metamodes to be updated and when we cancel a modeset, those updated metamodes are not reverted. Even if we do revert them on the server, our internal data structures do not represent these metamodes and resetting the UI to force a sync would cause the loss of all user config options currently chosen but not applied.
    This change modifies the behavior of Basic Mode configurations that involve rotation and reflection. These changes will make these metamode changes to behave similarly to advanced mode changes in that they will only affect the current metamode. On the UI side, in basic mode, we will make sure that if rotation/reflection is selected and the resolution is changed (effectively changing to a different selected mode) we will make sure the adjustments are carried over to the new mode.
    A user using the UI exclusively should not see any changes in behavior aside from the actual issue fixed. A user checking the available metamodes on the server would see a difference but it would be identical to the metamodes given by the unchanged Configuration method in Advanced Mode.
ctkdisplayconfig-utils.h 5.88 KB