After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 546969 - The GUI components do not always reflect the current situation
The GUI components do not always reflect the current situation
Status: RESOLVED FIXED
Product: gnome-control-center
Classification: Core
Component: Display
2.23.x
Other All
: Normal normal
: ---
Assigned To: Soren Sandmann Pedersen
Control-Center Maintainers
Depends on:
Blocks: randr-tracker
 
 
Reported: 2008-08-08 17:21 UTC by Alberto Milone
Modified: 2009-02-26 01:30 UTC
See Also:
GNOME target: ---
GNOME version: 2.23/2.24


Attachments
A patch which solves the bug (563 bytes, patch)
2008-08-08 17:22 UTC, Alberto Milone
needs-work Details | Review

Description Alberto Milone 2008-08-08 17:21:32 UTC
Please describe the problem:
If a user tries to set up multiple screens (e.g. one beside the other) and the operation fails (e.g. if the virtual resolution is not set) then the cairo widget and the comboboxes are not updated and therefore it looks like the settings were applied.

Steps to reproduce:
1. try to set up 2 screens so that they won't fit the framebuffer
2. click on apply
3. have a look a the GUI and the cairo widget


Actual results:
the GUI is not refreshed

Expected results:
the comboboxes and the cairo widget should be updated.

Does this happen every time?
yes

Other information:
Comment 1 Alberto Milone 2008-08-08 17:22:28 UTC
Created attachment 116165 [details] [review]
A patch which solves the bug

The following patch solves the problem.
Comment 2 Rodrigo Moya 2008-08-18 14:12:22 UTC
Soren/Federico, is this ok? Should I commit before doing the 2.23.90 release?
Comment 3 Soren Sandmann Pedersen 2008-08-18 22:33:23 UTC
I'm not convinced it's right.
Comment 4 Federico Mena Quintero 2008-08-19 15:16:48 UTC
Thanks for the patch, Alberto.  Indeed, we need to detect when the configuration could not be applied.  There is some unfinished code in place to go in this direction... could you please look at check_required_virtual_size() and how it gets called from apply()?  That's the right place to do any checks, but unfortunately we don't present the results to the user yet.
Comment 5 Alberto Milone 2008-08-20 08:20:33 UTC
Federico, Soren:
first of all I see your point and I apologise for my incomplete description of the problem since I forgot to describe an additional and perhaps more important use-case.

Let's suppose that some users try to set their screen resolution and refresh rate to, say, 1600x1200 75Hz. Sometimes the graphics driver (this happened to me with both ATI and Intel in the past) won't be particularly happy about the desired settings (or modes) and therefore won't apply them. In this case the framebuffer is not the problem (and therefore no virtual resolution has to be set) and users will be lead into thinking (by the GUI) that their settings were applied even though they cannot see the results on their display.

In other words bugs in the graphics drivers which support RandR 1.2 still exist therefore, in my opinion, checking that the settings were actually applied would be quite useful. Of course I'm not saying that such bugs are something you should deal with, however I still think that, until they are fixed, this capplet should check that things went well and show the current situation in the UI.

Of course if you still think that check_required_virtual_size(), or some other function is the right place to do it, I will write another patch.

Let me know.
Comment 6 Alberto Milone 2008-08-20 08:22:32 UTC
Sorry for the typo: it's "led into thinking"
Comment 7 Federico Mena Quintero 2009-02-26 01:30:12 UTC
The code in svn trunk now checks for errors returned from gnome-settings-daemon.  I'll close this now, but please reopen it if you find a case where it doesn't refresh the window correctly.