summaryrefslogtreecommitdiffstats
path: root/src/screensaver.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/screensaver.cpp')
-rw-r--r--src/screensaver.cpp12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/screensaver.cpp b/src/screensaver.cpp
index 75e6ba5..053dd99 100644
--- a/src/screensaver.cpp
+++ b/src/screensaver.cpp
@@ -175,16 +175,22 @@ bool isLocked()
if (!init())
return false;
char *v = nullptr;
- Window window = find_screensaver_window( display, &v );
+ static Window window = 0;
+ if ( !window )
+ find_screensaver_window( display, &v );
if( !window )
return false;
- if( !v || !*v )
+ if( !v || !*v ) {
+ window = 0;
return false;
+ }
XClassHint hint;
memset( &hint, 0, sizeof( hint ) );
XGetClassHint( display, window, &hint );
- if( !hint.res_class )
+ if( !hint.res_class ) {
+ window = 0;
return false;
+ }
Atom type;
int format;