summaryrefslogtreecommitdiff
path: root/basegfx/test
diff options
context:
space:
mode:
authorJan-Marek Glogowski <glogow@fbihome.de>2019-05-08 11:51:15 +0000
committerJan-Marek Glogowski <glogow@fbihome.de>2019-05-09 10:37:47 +0200
commitc1bcdf9aa5d8ea99435906ffa9787232a909ff0f (patch)
tree90a95cd91bf1b09fcbeb7179d108085c76652000 /basegfx/test
parentc5c425296debb2fbd67af8ec29f87e285d08575f (diff)
Qt5 IM handle (spurious?) all-empty IM events
2nd attempt to fix the bug described in commit 00221089800c ("Qt5 IM allow committing empty strings") and various siblings of it. This also reverts it. What I see is calls with "all-empty" events (preedit, commit and replacementLength() == 0; no QInputMethodEvent::Attribute), some from QIBusPlatformInputContext::updatePreeditText. There are various Writer document edit states with (selected) text, undo, cursor position and focus changes to other windows via Ctrl+Tab, which will result in inputMethodEvent calls totally in contrast to the expected text state, all somehow always related to all-empty events. They currently result in wrongly deleted selected text, change of selection, cursor movement or general change of text from old preedit. Most time on focus out / window change, some times at first meta-key press after focus in. This patch tries hard not to corrupt Writers edit state with these all-empty events. No idea if this is some bug on LO's qt5 side or expected, but KDE kate and VCL gtk3 and gen work fine, so I assume Qt's behaviour is correct. FWIW gtk3 also does some extended IM handling with focus, so probably this is the Qt equivalent of it. But then I couldn't find some eqivalent code in Qt's source code. I actually expected an even more complex solution (if this really fixes all cases). Works for a multitude of tests I tried to come up with, but is quite probably not the final fix to this, as qt5 current doesn't handle replacementStart() and replacementLength() at all. Also never saw a call to Qt5Frame::EndExtTextInput. Change-Id: I4210e0588041cfb4d80dbdfdb937e430a5f7cbfb Reviewed-on: https://gerrit.libreoffice.org/71988 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
Diffstat (limited to 'basegfx/test')
0 files changed, 0 insertions, 0 deletions