From 725bdcf4586825227df64a719fcaf8238edb9602 Mon Sep 17 00:00:00 2001 From: Nathan Gill Date: Thu, 19 Feb 2026 15:22:58 +0000 Subject: [PATCH] fix: handle multi-byte unicode characters in password string - calculate password length in codepoints, not bytes, which produces incorrect lengths when multi-byte unicode chars are entered. closes #48 --- src/event.rs | 2 +- src/surface.rs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/event.rs b/src/event.rs index eecbf86..ef38810 100644 --- a/src/event.rs +++ b/src/event.rs @@ -176,7 +176,7 @@ impl NLockState { self.surfaces[i].render( &self.config, auth_state, - self.password.len(), + self.password.chars().count(), self.background_image.as_ref(), shm, qh, diff --git a/src/surface.rs b/src/surface.rs index 2e89a4a..9cc5001 100644 --- a/src/surface.rs +++ b/src/surface.rs @@ -478,7 +478,7 @@ impl Dispatch for N surface.render( &state.config, auth_state, - state.password.len(), + state.password.chars().count(), state.background_image.as_ref(), shm, qh,