From 0638fb6fca4b10120d08e5b1d546dea0013faa07 Mon Sep 17 00:00:00 2001 From: Mamoru TASAKA Date: Mon, 28 Dec 2020 18:03:25 +0900 Subject: [PATCH] lock.c/draw_passwd_window: show logo and ok button On Fedora 33 and on some environment, user may see the issue on lock screen: * xscreensaver logo is not shown * ok and new login buttons are not shown To fix these issue, two modifications seem needed. * Calling XSync() is needed to make ok button appear * draw_shaded_rectangle() on the whole window must be called before painting logo --- driver/lock.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/driver/lock.c b/driver/lock.c index 8bcd2e0..7133dc0 100644 --- a/driver/lock.c +++ b/driver/lock.c @@ -750,6 +750,12 @@ draw_passwd_window (saver_info *si) x3 = pw->width - (pw->shadow_width * 2); y1 = (pw->shadow_width * 2) + spacing + spacing; + /* The shadow around the whole window + */ + draw_shaded_rectangle (si->dpy, si->passwd_dialog, + 0, 0, pw->width, pw->height, pw->shadow_width, + pw->shadow_top, pw->shadow_bottom); + /* top heading */ XSetFont (si->dpy, gc1, pw->heading_font->fid); @@ -994,14 +1000,9 @@ draw_passwd_window (saver_info *si) pw->thermo_width - 1, pw->thermo_field_height - 1); #endif - /* The shadow around the whole window - */ - draw_shaded_rectangle (si->dpy, si->passwd_dialog, - 0, 0, pw->width, pw->height, pw->shadow_width, - pw->shadow_top, pw->shadow_bottom); - XFreeGC (si->dpy, gc1); XFreeGC (si->dpy, gc2); + XSync (si->dpy, False); update_passwd_window (si, pw->passwd_string, pw->ratio); } -- 2.29.2