Bug 222110 - Revert the change in display not work
Summary: Revert the change in display not work
Status: RESOLVED FIXED
Alias: None
Product: systemsettings
Classification: Applications
Component: kcm_randr (show other bugs)
Version: unspecified
Platform: Compiled Sources Unspecified
: NOR normal
Target Milestone: ---
Assignee: Gustavo Pichorim Boiko
URL:
Keywords:
: 180047 225215 225216 233306 (view as bug list)
Depends on:
Blocks:
 
Reported: 2010-01-10 20:20 UTC by BRULE Herman
Modified: 2010-04-12 13:45 UTC (History)
8 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
Proposed patch to fix reverting the display resolution (812 bytes, patch)
2010-04-10 20:57 UTC, Felix Geyer
Details

Note You need to log in before you can comment on or make changes to this bug.
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