summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGELOG.md1
-rw-r--r--src/curses/curses.go3
2 files changed, 4 insertions, 0 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index edaf6749..0fd89e59 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -7,6 +7,7 @@ CHANGELOG
### Bug fixes
- Fixed Unicode case handling (#186)
+- Fixed to terminate on RuneError (#185)
0.9.7
-----
diff --git a/src/curses/curses.go b/src/curses/curses.go
index d6aafd71..f3ad1437 100644
--- a/src/curses/curses.go
+++ b/src/curses/curses.go
@@ -420,6 +420,9 @@ func GetChar() Event {
return Event{int(_buf[0]), 0, nil}
}
r, rsz := utf8.DecodeRune(_buf)
+ if r == utf8.RuneError {
+ return Event{ESC, 0, nil}
+ }
sz = rsz
return Event{Rune, r, nil}
}