projects
/
xscreensaver
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
http://ftp.x.org/contrib/applications/xscreensaver-3.26.tar.gz
[xscreensaver]
/
driver
/
lock.c
diff --git
a/driver/lock.c
b/driver/lock.c
index bd44a1afc3eb5f3eaf7ca2513b1e8a706bd3b8c8..b508856034be167b6f45cbf4bd6cd410d0d61971 100644
(file)
--- a/
driver/lock.c
+++ b/
driver/lock.c
@@
-985,6
+985,8
@@
passwd_animate_timer (XtPointer closure, XtIntervalId *id)
}
}
+static XComposeStatus *compose_status;
+
static void
handle_passwd_key (saver_info *si, XKeyEvent *event)
{
static void
handle_passwd_key (saver_info *si, XKeyEvent *event)
{
@@
-995,7
+997,7
@@
handle_passwd_key (saver_info *si, XKeyEvent *event)
char s[2];
char *stars = 0;
int i;
char s[2];
char *stars = 0;
int i;
- int size = XLookupString (event, s, 1, 0,
0
);
+ int size = XLookupString (event, s, 1, 0,
compose_status
);
if (size != 1) return;
if (size != 1) return;
@@
-1207,12
+1209,17
@@
unlock_p (saver_info *si)
make_passwd_window (si);
if (cmap) XInstallColormap (si->dpy, cmap);
make_passwd_window (si);
if (cmap) XInstallColormap (si->dpy, cmap);
+ compose_status = calloc (1, sizeof (*compose_status));
+
handle_typeahead (si);
passwd_event_loop (si);
status = (si->pw_data->state == pw_ok);
destroy_passwd_window (si);
handle_typeahead (si);
passwd_event_loop (si);
status = (si->pw_data->state == pw_ok);
destroy_passwd_window (si);
+ free (compose_status);
+ compose_status = 0;
+
cmap = si->default_screen->cmap;
if (cmap) XInstallColormap (si->dpy, cmap);
cmap = si->default_screen->cmap;
if (cmap) XInstallColormap (si->dpy, cmap);