trime icon indicating copy to clipboard operation
trime copied to clipboard

Crash with only one candidate of empty value

Open levindu opened this issue 3 years ago • 1 comments

Describe the bug

If there is only one candidate which has empty value, Trime will crash.

To Reproduce

  1. 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
  1. Input with "/date"
  2. 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

levindu avatar Apr 19 '22 07:04 levindu

请看新版本有无此问题。Please take a look for new version. 每夜版/Nigntly Build:https://github.com/osfans/trime/releases/tag/nightly

WhiredPlanck avatar Jan 25 '24 16:01 WhiredPlanck

已确认问题解决👍🏻

levindu avatar Mar 27 '24 07:03 levindu