trime
trime copied to clipboard
Crash with only one candidate of empty value
Describe the bug
If there is only one candidate which has empty value, Trime will crash.
To Reproduce
- Use the following lua script (modified from date.lua from https://github.com/hchunhui/librime-lua):
local function translator(input, seg)
if (input == "/date") then
yield(Candidate("date", seg.start, seg._end, "", "[日期]"))
end
end
return translator
- Input with "/date"
- Trime will crash
Expected behavior
No crash.
Log
04-19 10:05:26.577 8065 8065 I Trime : Rime onKey
04-19 10:05:27.630 8065 8065 E MessageQueue-JNI: at com.osfans.trime.ime.text.Composition.calcStartNum(Composition.java:344)
04-19 10:05:27.630 8065 8065 E MessageQueue-JNI: at com.osfans.trime.ime.text.Composition.setWindow(Composition.java:515)
04-19 10:05:27.630 8065 8065 E MessageQueue-JNI: at com.osfans.trime.ime.core.Trime.updateComposing(Trime.java:1337)
04-19 10:05:27.630 8065 8065 E MessageQueue-JNI: at com.osfans.trime.ime.core.Trime.commitText(Trime.java:841)
04-19 10:05:27.630 8065 8065 E MessageQueue-JNI: at com.osfans.trime.ime.core.Trime.onRimeKey(Trime.java:934)
04-19 10:05:27.630 8065 8065 E MessageQueue-JNI: at com.osfans.trime.ime.core.Trime.handleKey(Trime.java:1101)
04-19 10:05:27.630 8065 8065 E MessageQueue-JNI: at com.osfans.trime.ime.core.Trime.onKey(Trime.java:1214)
04-19 10:05:27.630 8065 8065 E MessageQueue-JNI: at com.osfans.trime.ime.core.Trime.onEvent(Trime.java:1094)
04-19 10:05:27.630 8065 8065 E MessageQueue-JNI: at com.osfans.trime.ime.keyboard.KeyboardView.detectAndSendKey(KeyboardView.java:919)
04-19 10:05:27.630 8065 8065 E MessageQueue-JNI: at com.osfans.trime.ime.keyboard.KeyboardView.onModifiedTouchEvent(KeyboardView.java:1473)
04-19 10:05:27.630 8065 8065 E MessageQueue-JNI: at com.osfans.trime.ime.keyboard.KeyboardView.onTouchEvent(KeyboardView.java:1302)
04-19 10:05:27.636 8065 8065 E AndroidRuntime: Process: com.osfans.trime, PID: 8065
04-19 10:05:27.636 8065 8065 E AndroidRuntime: at com.osfans.trime.ime.text.Composition.calcStartNum(Composition.java:344)
04-19 10:05:27.636 8065 8065 E AndroidRuntime: at com.osfans.trime.ime.text.Composition.setWindow(Composition.java:515)
04-19 10:05:27.636 8065 8065 E AndroidRuntime: at com.osfans.trime.ime.core.Trime.updateComposing(Trime.java:1337)
04-19 10:05:27.636 8065 8065 E AndroidRuntime: at com.osfans.trime.ime.core.Trime.commitText(Trime.java:841)
04-19 10:05:27.636 8065 8065 E AndroidRuntime: at com.osfans.trime.ime.core.Trime.onRimeKey(Trime.java:934)
04-19 10:05:27.636 8065 8065 E AndroidRuntime: at com.osfans.trime.ime.core.Trime.handleKey(Trime.java:1101)
04-19 10:05:27.636 8065 8065 E AndroidRuntime: at com.osfans.trime.ime.core.Trime.onKey(Trime.java:1214)
04-19 10:05:27.636 8065 8065 E AndroidRuntime: at com.osfans.trime.ime.core.Trime.onEvent(Trime.java:1094)
04-19 10:05:27.636 8065 8065 E AndroidRuntime: at com.osfans.trime.ime.keyboard.KeyboardView.detectAndSendKey(KeyboardView.java:919)
04-19 10:05:27.636 8065 8065 E AndroidRuntime: at com.osfans.trime.ime.keyboard.KeyboardView.onModifiedTouchEvent(KeyboardView.java:1473)
04-19 10:05:27.636 8065 8065 E AndroidRuntime: at com.osfans.trime.ime.keyboard.KeyboardView.onTouchEvent(KeyboardView.java:1302)
04-19 10:05:27.779 2012 5090 I ActivityManager: Process com.osfans.trime (pid 8065) has died: vis FGSL
Smartphone (please complete the following information):
- Device: Xiaomi 8
- OS: MIUI 12.5.2 a.k.a. Android 10
- Version: v3.2.3-20211019
- Theme: Tongwenfeng
请看新版本有无此问题。Please take a look for new version. 每夜版/Nigntly Build:https://github.com/osfans/trime/releases/tag/nightly
已确认问题解决👍🏻