https://bugs.documentfoundation.org/show_bug.cgi?id=173854
Bug ID: 173854
Summary: WRITER: Cursor movement latency causes out-of-order
text insertion in large documents under Qt6 VCL plugin
(SAL_USE_VCLPLUGIN=qt6) on KDE Plasma (X11 and
Wayland).
Product: LibreOffice
Version: 26.2.5.2 release
Hardware: All
OS: Linux (All)
Status: UNCONFIRMED
Severity: normal
Priority: medium
Component: Writer
Assignee: [email protected]
Reporter: [email protected]
Description:
When keyboard repetition or rapid cursor moves occur in large documents, the Qt
event queue accumulates input events faster than Writer's layout recalculation
thread can paint the cursor update. Because the layout engine blocks the main
UI thread during recalculation, queued typing events get processed against
stale cursor coordinates.
Steps to Reproduce:
1.Open a large document (>1 MB or multi-hundred-page .odt/.docx) in LibreOffice
Writer using the default Qt6 VCL backend (vclplug_qt6).
2. Move the text cursor using arrow keys (e.g., press or hold Left Arrow).
3. Immediately type several characters upon stopping the navigation.
Actual Results:
The cursor position update lags behind input generation due to layout
recalculation blocking the Qt UI event loop. Letters typed immediately
following cursor movement are inserted at the old or intermediate cursor
coordinate before the canvas repaints to the final cursor destination.
Expected Results:
Input events should be processed strictly in sequence relative to layout
updates, or layout repaints should be fast/asynchronous enough that characters
are never inserted at a pre-navigation cursor position.
Reproducible: Always
User Profile Reset: Yes
Additional Info:
Version: 25.2.5.2 (X86_64) / LibreOffice Community
Build ID: 520(Build:2)
CPU threads: 12; OS: Linux 6.4; UI render: default; VCL: kf6 (cairo+xcb)
Locale: de-DE (de_DE.UTF-8); UI: en-US
Calc: threaded
Technical Details / Backend Analysis (by Gemini):
Reproducible across both X11 and Wayland display protocols, indicating the
issue is independent of the display server compositor.
Points to an event-processing bottleneck in vclplug_qt6 where incoming
QKeyEvent processing is queued behind synchronous Writer (sw) layout/cursor
recalculations on the main thread.
--
You are receiving this mail because:
You are the assignee for the bug.