Bug 222110

Summary: Revert the change in display not work
Product: [Applications] systemsettings Reporter: BRULE Herman <alpha_one_x86>
Component: kcm_randrAssignee: Gustavo Pichorim Boiko <gustavo.boiko>
Status: RESOLVED FIXED    
Severity: normal CC: andresbajotierra, cfeck, debfx-kde, hbock, juho.vanhanen, kde, l.lunak, skreech2
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Compiled Sources   
OS: Unspecified   
Latest Commit: Version Fixed In:
Attachments: Proposed patch to fix reverting the display resolution

Description BRULE Herman 2010-01-10 20:20:29 UTC
Version:            (using Devel)
Installed from:    Compiled sources

Hello, I'm with the version 4.3.90.
When I edit the rotation in display panel in panel settings it rotate good, but when I wait the timeout of 15s ou I click on revert change it not revert the change.
Thanks to fix it.
Comment 1 Christoph Feck 2010-02-02 00:30:49 UTC
*** Bug 225215 has been marked as a duplicate of this bug. ***
Comment 2 Christoph Feck 2010-02-02 00:37:43 UTC
*** Bug 225216 has been marked as a duplicate of this bug. ***
Comment 3 Dario Andres 2010-04-05 01:59:27 UTC
Bug 180047 looks the same like this...
Comment 4 Dario Andres 2010-04-05 01:59:54 UTC
Bug 233306 has an analysis of the related code
Comment 5 Dario Andres 2010-04-05 01:59:56 UTC
*** Bug 233306 has been marked as a duplicate of this bug. ***
Comment 6 Felix Geyer 2010-04-10 20:57:48 UTC
Created attachment 42653 [details]
Proposed patch to fix reverting the display resolution

In RandRConfig::apply():
	output->proposeRect(configuredRect.translated( normalizePos ));
	output->proposeRotation(config->rotation());
	output->proposeRefreshRate(config->refreshRate());

These output->propose* functions are supposed to set the proposed value and save the original value. They call refreshRate(), rect() and rotation() to get the original value.

Unfortunately m_crtc is invalid at that time so the original value is empty (e.g. QRect(0, 0, 0, 0)) and therefore reverting the resolution fails.

The attached patch fixes this by enabling the output/crtc in the RandROutput::propose* functions.
Comment 7 Scott Kitterman 2010-04-11 16:52:24 UTC
On 4.4.2 this patch fixes both the kcm display and krandrtray.  Thank you very much.
Comment 8 Harald Sitter 2010-04-12 13:37:45 UTC
*** Bug 180047 has been marked as a duplicate of this bug. ***
Comment 9 Harald Sitter 2010-04-12 13:43:41 UTC
SVN commit 1113965 by sitter:

Make revert display resolution change work by enabling output/crtc in the RandROutput::propose* functions.
Thanks to Felix Geyer for the patch!
BUG: 222110


 M  +9 -0      randroutput.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1113965
Comment 10 Harald Sitter 2010-04-12 13:45:20 UTC
SVN commit 1113969 by sitter:

Backport r1113965.
Make revert display resolution change work by enabling output/crtc in the RandROutput::propose* functions.
Thanks to Felix Geyer for the patch!
BUG: 222110


 M  +9 -0      randroutput.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1113969