*Background*
High volume of "Xrandr extension missing, error message getting
displayed when we lock screensaver in SPARC.
*What it will fix?*
1) Redundant printing of missing Xrandr extension message
2) When accessibility is on,with password window it will consume lesser
cpu cycle.
3) When accessibility is on, password window will flicker lesser.
*Code fixes are*
If Xrandr extension is not supported, does allow to invoke Xrandr calls
*Testing*
I have tested all my fixes on SPARC with s10 and Nevada 130
I am including svn diff of repository trunk/vermillion.
svn diff
Index: ChangeLog
===================================================================
--- ChangeLog (revision 20733)
+++ ChangeLog (working copy)
@@ -1,3 +1,8 @@
+2010-02-11 Arvind Umrao <arvind.umrao at sun.com>
+
+ * SUNWxscreensaver.spec, patches/xscreensaver-53-bug-6924996.diff:
+ * CR#6924996 High volume of Xlib: extension "RANDR" missing on
display from screensaver
+
2010-02-11 Jerry Tan <jerry.tan at sun.com>
* SUNWlibvisual.spec:
Index: patches/xscreensaver-53-bug-6924996.diff
===================================================================
--- patches/xscreensaver-53-bug-6924996.diff (revision 0)
+++ patches/xscreensaver-53-bug-6924996.diff (revision 0)
@@ -0,0 +1,42 @@
+--- xscreensaver-5.01/driver/xscreensaver.h_org 2010-02-11
16:20:14.504344000 +0530
++++ xscreensaver-5.01/driver/xscreensaver.h 2010-02-11
16:22:12.066661000 +0530
+@@ -83,6 +83,7 @@ struct saver_info {
+ # ifdef HAVE_RANDR
+ int randr_event_number;
+ int randr_error_number;
++ Bool using_randr_extension;
+ # endif
+ /* Adding XInputExtension Dev support
+ #5077966 P1 "password prompt cant be directly activated by GOK device"
+--- xscreensaver-5.01/driver/xset.c_org 2010-02-11
16:16:55.753478000 +0530
++++ xscreensaver-5.01/driver/xset.c 2010-02-11 16:25:11.378594000
+0530I have tested all my fixes on SPARC with s10 and Nevada 130
+@@ -324,6 +324,7 @@ query_randr_extension (saver_info *si)
+ &si->randr_event_number,
+ &si->randr_error_number);
+
++ si->using_randr_extension= ok;
+ if (ok)
+ {
+ int nscreens = ScreenCount (si->dpy); /* number of *real*
screens */
+--- xscreensaver-5.01/driver/timers.c_org 2010-02-11
16:25:30.417336000 +0530
++++ xscreensaver-5.01/driver/timers.c 2010-02-11 16:26:54.393113000 +0530
+@@ -1185,7 +1185,7 @@ CR6200441(P1)Fix for bug #5077966 breaks
+ else
+
+ #ifdef HAVE_RANDR
+- if (event.type == (si->randr_event_number + RRScreenChangeNotify))
++ if (si->using_randr_extension && event.type ==
(si->randr_event_number + RRScreenChangeNotify))
+ {
+ /* The Resize and Rotate extension sends an event when the
+ size, rotation, or refresh rate of the screen has
changed. */
+--- xscreensaver-5.01/driver/lock.c_org 2010-02-11
16:16:57.061068000 +0530
++++ xscreensaver-5.01/driver/lock.c 2010-02-11 16:27:59.937813000 +0530
+@@ -2050,7 +2050,7 @@ passwd_event_loop (saver_info *si)
+ /*
+ * 6757448 xscreensaver doesn't notice XRandR resize events.
+ */
+- if (event.type == (si->randr_event_number + RRScreenChangeNotify))
++ if (si->using_randr_extension && event.type ==
(si->randr_event_number + RRScreenChangeNotify))
+ {
+ /* The Resize and Rotate extension sends an event when the
+ size, rotation, or refresh rate of the screen has
changed. */
Index: SUNWxscreensaver.spec
===================================================================
--- SUNWxscreensaver.spec (revision 20733)
+++ SUNWxscreensaver.spec (working copy)
@@ -158,7 +158,10 @@
Patch51: xscreensaver-51-dpms-headers.diff
# date:2009-12-31 owner:ng228438 type:bug bugster:6832923
Patch52: xscreensaver-52-bug-6832923.diff
+# date:2010-02-11 owner:au230626 type:bug bugster:6924996
+Patch53: xscreensaver-53-bug-6924996.diff
+
# date:2008-03-07 owner:alanc type:branding
Patch101: rss-glx-101-matrixview.diff
# date:2008-03-07 owner:alanc type:branding
@@ -337,6 +340,7 @@
%patch50 -p1
%patch51 -p1
%patch52 -p1
+%patch53 -p1
chmod a+x install-sh configure