Red Hat Bugzilla – Bug 608966
uncommitted text color is not properly set in kwrite
Last modified: 2014-08-04 18:02:51 EDT
Description of problem:
A Hangul character entered by using iBus with Korean Input method in kwrite application is displayed in white colour text before pressing space or enter or next character.
If space or enter key is pressed or next character is typed, it appears in black colour.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1.Install kdebase by yum
3.Turn iBus on in kwrite
4.Type a hangul
A hangul character is in white font colour which is hard to see.
A hangul character is in default font colour(black)
Entering English or Japanese in kwrite works fine for this problem.
This request was evaluated by Red Hat Product Management for inclusion in a Red
Hat Enterprise Linux major release. Product Management has requested further
review of this request by Red Hat Engineering, for potential inclusion in a Red
Hat Enterprise Linux Major release. This request is not yet committed for
I can reproduce it even on Fedora 13, if ibus-qt is installed (screenshot attached). ibus-hangul uses white/black (fg/bg) for preedit text and requests these settings to applications via ibus-qt. However, the KTextEdit control (which kwrite uses) overrides the bg setting.
The solution would be to make KTextEdit (kdelibs) not overwrite existing text attributes, but it might not be easy. Another solution is to choose reasonable default colors for ibus-hangul preedit as in other IME.
Created attachment 427599 [details]
screenshot when I type "rlagrlagrla" with ibus-hangul on kwrite
same problem is occurring in ibus-rawcode as well
i think we should fix this from ibus-qt side, so will no need to change all ime-engine's code
I could reproduce this problem.
I almost understood the root cause. Will update the evaluation later.
I just saw on fedora 13 with kdebase 4.4.5-1, this problem is not coming.
Tested for ibus-rawcode
(In reply to comment #9)
> I just saw on fedora 13 with kdebase 4.4.5-1, this problem is not coming.
> Tested for ibus-rawcode
I can reproduce the same bug in f13 kdebase 4.4.5-1 and f14.
ibus-hangul's engine sets foreground is white and background is black.
The problem is, the foreground color only is set in the actual preedit GUI but the background color is lost and this causes both the foreground and the background color are white and users cannot read the preedit text.
QList<QTextLayout::FormatRange> KateRenderer::decorationsForLine( const KateTextLine::Ptr& textLine, int line, bool selectionsOnly, KateRenderRange* completionHighlight, bool completionSelected ) const
fr.format = *a;
It seems kde kate rendering get one format only.
But ibus-qt sends multiple formats with QAttribute.
The solution is ibus-qt has one format only and it can have both foreground and background colors.
The suggested patch:
Integrated the same fix in fedora rawhide:
i have tested
http://koji.fedoraproject.org/koji/taskinfo?taskID=2346026 on RHEL6
It is resolving problem of ibus-rawcode on RHEL6
*** Bug 613520 has been marked as a duplicate of this bug. ***
Integrated the fix.
Verified in kwrite with all supported input method