# HG changeset patch # User Richard Laager # Date 1179111927 0 # Node ID 2d6aed3e7c2ec57df4c3a9669dc2d3e197469c92 # Parent 10c7c5d4ea25514c9d96c0a091910627d07c9bfd Part of a patch from: http://www.linuxpowertop.org/known.php#gaim " ...will also ask the X server every 5 seconds if the X server supports the X screensaver extension.... the X server either supports or doesn't support this, this isn't changing after starting the application." diff -r 10c7c5d4ea25 -r 2d6aed3e7c2e pidgin/gtkidle.c --- a/pidgin/gtkidle.c Sun May 13 10:26:08 2007 +0000 +++ b/pidgin/gtkidle.c Mon May 14 03:05:27 2007 +0000 @@ -103,14 +103,21 @@ /* Query xscreensaver */ static XScreenSaverInfo *mit_info = NULL; + static int has_extension = -1; int event_base, error_base; - if (XScreenSaverQueryExtension(GDK_DISPLAY(), &event_base, &error_base)) { - if (mit_info == NULL) { + + if (has_extension == -1) + has_extension = XScreenSaverQueryExtension(GDK_DISPLAY(), &event_base, &error_base); + + if (has_extension) + { + if (mit_info == NULL) mit_info = XScreenSaverAllocInfo(); - } + XScreenSaverQueryInfo(GDK_DISPLAY(), GDK_ROOT_WINDOW(), mit_info); return (mit_info->idle) / 1000; - } else + } + else return 0; # endif /* !_WIN32 */ # endif /* !HAVE_IOKIT */