Hi,
I'm looking into an issue with JDS on snv_95 + jds-devel_96 where
gnome-settings-daemon is generating a call to XRRSetScreensize and this is
resulting in an XError:
The error was 'BadMatch (invalid parameter attributes)'.
(Details: serial 695 error_code 8 request_code 157 minor_code 7)
(Note to programmers: normally, X errors are reported asynchronously;
that is, you will receive the error a while after causing it.
To debug your program, run it with the --sync command line
option to change this behavior. You can then get a meaningful
backtrace from your debugger if you break on the gdk_x_error() function.)
Previously on snv_93, this didn't happen using the same code.
The exact call is (from dbx):
XRRSetScreenSize(0x807a008, 0x13a, 0x400, 0x300, 0x10f, 0xcb)
The machine I'm using is a MacBookPro (rev4) with an nVidia graphics card, but
it can be reproduced on other systems too.
The interesting thing is that the display *does* actually change resolution, yet
still report an XError.
For the XRRSetScreenSize call above, the GNOME code is calculating the width_mm
and height_mm as follows:
/* The 'physical size' of an X screen is meaningless if that screen
* can consist of many monitors. So just pick a size that make the
* dpi 96.
*
* Firefox and Evince apparently believe what X tells them.
*/
width_mm = (width / 96.0) * 25.4 + 0.5;
height_mm = (height / 96.0) * 25.4 + 0.5;
Is this the cause of the XError? I can't seem to find any documentation on
XRRSetScreenSize that might help me.
I still find it strange that the XError is reported yet it changed resolution
though.
Any one any ideas?
Thanks,
Darren.