Zufu Liu

Results 628 comments of Zufu Liu

Full fixed by 8671ed51f64de38b892364c4a9d521a57ea4aa9e, may still have minor code changes after the change been backported into Scintilla.

Scintilla is going to draw the reverse arrow cursor (based on `C:\Windows\Cursors\arrow.svg`) with code similar to 185311d3ac339f473ee7a8eb8dfe8d0e301b7f35 and 1291ba387b20971b136cd3f62e39e840ee79a98e, the drawing code can be enabled by set line 2874 to...

When porting lexers from Notepad2, `SafeGetCharAt(pos)` should be replaced with `SafeGetCharAt(pos, '\0')`, see https://github.com/zufuliu/notepad2/blob/main/scintilla/lexlib/LexAccessor.h#L92

Not a bug, see https://sourceforge.net/p/scintilla/bugs/2333/

Just fixed (or work round) the same bug in Notepad2 by disable `WM_SETREDRAW` and `InvalidateRect` for statusbar updating on typing. Similar change may fix the bug in Notepad3.

Works after disabling multiple selection (by default when Ctrl is hold, selecting will adds new green caret): ![image](https://github.com/zufuliu/notepad2/assets/2289926/22d839f6-cbab-41cf-ade0-8719947feb70)

Reproduceable with SciTE (set `ime.interaction=0`), temporary workaround is using inline mode IME. ![image](https://github.com/zufuliu/notepad2/assets/2289926/a188501b-b8af-4d21-8556-a8cf6b569d8f) Adding a breakpoint after `case WM_IME_COMPOSITION:` seems hide the bug.

The crash is due to `ImeOnDocumentFeed()`, no crashes after comment out `if (wParam == IMR_DOCUMENTFEED)` block: https://github.com/zufuliu/notepad2/blob/9399a27265622ae8409761f549e29f6b9dde073a/scintilla/win32/ScintillaWin.cxx#L1925-L1933

Reported as https://sourceforge.net/p/scintilla/bugs/2433/, please use inline mode IME for now.

> By the way, I wanna know how you located the bug location, could you please give me some advice? First, I guess its stack buffer overrun, then added some...