- Since XKB is used if present, don't check for XF86Misc unless XKB is
  not present
- If we do check for XF86Misc, use QueryExtension instead of QueryVersion
  to avoid Xlib printing missing extension warning message.

Signed-off-by: Alan Coopersmith <[email protected]>
---
 xset.c |   35 ++++++++++++++++++-----------------
 1 files changed, 18 insertions(+), 17 deletions(-)

diff --git a/xset.c b/xset.c
index bfdb6e7..ae1d818 100644
--- a/xset.c
+++ b/xset.c
@@ -195,18 +195,13 @@ main(int argc, char *argv[])
     Display *dpy;
     Bool hasargs = False;
 
-#ifdef XF86MISC
-    int miscpresent = 1;
-    int major, minor;
-#else
     int miscpresent = 0;
-#endif
+    int xkbpresent = 0;
+
 #ifdef XKB
-    int xkbpresent = 1;
     int xkbmajor = XkbMajorVersion, xkbminor = XkbMinorVersion;
     int xkbopcode, xkbevent, xkberror;
 #else
-    int xkbpresent = 0;
 #endif
 #ifdef FONTCACHE
     long himark, lowmark, balance;
@@ -731,22 +726,28 @@ main(int argc, char *argv[])
 
 #ifdef XF86MISC
                    int rate_set = 0;
-
-                   if (XF86MiscQueryVersion(dpy, &major, &minor)) {
-                       delay = KBDDELAY_DEFAULT, rate = KBDRATE_DEFAULT;
-                   } else {
-                       miscpresent = 0;
-                   }
 #endif
+
 #ifdef XKB
                    if (XkbQueryExtension(dpy, &xkbopcode, &xkbevent,
                                          &xkberror, &xkbmajor, &xkbminor)) {
-                       delay = XKBDDELAY_DEFAULT, rate = XKBDRATE_DEFAULT;
-                   } else {
-                       xkbpresent = 0;
+                       delay = XKBDDELAY_DEFAULT;
+                       rate = XKBDRATE_DEFAULT;
+                       xkbpresent = 1;
+                   }
+#endif
+#ifdef XF86MISC
+                   if (!xkbpresent) {
+                       int dummy;
+
+                       if (XF86MiscQueryExtension(dpy, &dummy, &dummy)) {
+                           delay = KBDDELAY_DEFAULT;
+                           rate = KBDRATE_DEFAULT;
+                           miscpresent = 1;
+                       }
                    }
 #endif
-                   if (!miscpresent && !xkbpresent)
+                   if (!xkbpresent && !miscpresent)
                        fprintf(stderr,
                                "server does not have extension for \"r rate\" 
option\n");
                    i++;
-- 
1.5.6.5

_______________________________________________
xorg-devel mailing list
[email protected]
http://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to