Details
-
Bug
-
Resolution: Unresolved
-
P3: Somewhat important
-
None
-
5.11.0, 5.15.0
-
None
-
CentOS 8 Linux, EPEL supplied KDE environment
Description
This is may not be a pure Qt bug, but symptom is:
When using KDE konqueror with KHTML rendering engine, and displaying the following HTML:
<HTML> <BODY> <FORM action="./"> <INPUT id=1 type="TEXT" size=20 /><br /> <INPUT id=2 type="TEXT" size=20 style="border-style:solid; border-color:#FF0000; background: #777777; color:#000000" /><br /> <INPUT id=3 type="TEXT" size=20 style="border-style:solid; border-color:#0000FF; background: #111111; color:#EEEEEE;" /> </FORM> </BODY> </HTML>
- The text typed in the field does not appear; it appears when the application window focus is out to something else. This is a KHTML bug, which a fix is suggested in https://bugs.kde.org/show_bug.cgi?id=422950 .
- The text cursor caret is barely visible. It is invisible in blank field. When typing text (with abovementioned patch) and pressing left arrow, the caret is blinking where the text pixels and caret pixels are overlapping.
Currently, text caret cursor is rendered with temporary setting
QPainter->setCompositionMode to QPainter::RasterOp_NotDestination;
this seems to be correct in native QLineEdit decorations,
but this seems to make text caret disappear in decorated KLineEdit.
Using QPainter::RasterOp_SourceOrNotDestination seems to make the text caret cursor visible in all situations. The attached patch suggests this.