By default, Bugzilla does not search the list of RESOLVED bugs.
You can force it to do so by putting the upper-case word ALL in front of your search query, e.g.: ALL tdelibs
We recommend searching for bugs this way, as you may discover that your bug has already been resolved and fixed in a later release.

Bug 727

Summary: Kaffeine DVB OSD displays incorrect colors
Product: TDE Reporter: Darrell <darrella>
Component: non-core programsAssignee: Timothy Pearson <kb9vqf>
Status: RESOLVED FIXED    
Severity: minor CC: bugwatch, darrella
Priority: P1    
Version: R14.0.0 [Trinity]   
Hardware: Other   
OS: Linux   
Compiler Version: TDE Version String:
Application Version: Application Name: Kaffeine
Attachments: Fixes an inadvertent "tqt" conversion.

Description Darrell 2011-12-06 20:54:13 CST
In Kaffeine 3.5.13, the DVB OSD is green with red text and a yellow rule. In KDE3 the DVB OSD is grayish with cyan text and a magenta rule. The latter matches the hard-coding found in kaffeine/src/player-parts/xine-part/kxinewidget.h.

The DVB OSD color problem is not related to the Nvidia drivers. The result is the same with the vesa drivers.

The problem persists with new xine and kaffeine config files.

Just thinking out loud: Is there something in the TDE code that is getting the colors confused or shifted? The color values in the source code uses RGB values (255,255,255).
 
From what I see in KDE3 and what I think I understand in the source code, I should see a grayish box, with cyan text (0,255,255) and a magenta rule (176,0,176). In TDE I see a green box (0,176,0), with red text (255,0,0), and a yellow rule (255,255,0).

Only this DVB OSD is affected. I have seen no other color issues anywhere else.
Comment 1 Darrell 2011-12-06 22:36:06 CST
Correction: kaffeine/src/player-parts/xine-part/kxinewidget.cpp.

Start at line 1522, void KXineWidget::initDvbPalette().

The OSD text and rule/line colors are set at several places depending upon how the code flows.

For the text, look for xine_osd_draw_text and notice the DVB_TEXT_BLUE parameter.

For the rule/line color look for xine_osd_draw_line and the DVB_COLOR_MAGENTA parameter.

I don't where the OSD box color is set but in KDE3 the color is a transparent dark gray.

On my system the OSD font text is cyan rather than blue.

If the colors are somehow being scrambled, then why not in KDE3 too? Why only TDE? Possibly an indavertent "tqt" conversion?
Comment 2 Timothy Pearson 2011-12-06 22:55:41 CST
Could be any number of things.  Are you using the exact same version of Qt3 for KDE3 and TDE?
Comment 3 Darrell 2011-12-06 23:18:10 CST
Using Qt3 3.3.b in KDE3 and 3.3.d in TDE.
Comment 4 Darrell 2011-12-06 23:19:17 CST
Created attachment 215 [details]
Fixes an inadvertent "tqt" conversion.

This is not the cause, but I found an inadvertent tqt conversion:

'signalXineStatus' is converted to 'signalXinetqStatus' while none of the other signalXine[] declarations were converted.

I created and tested a patch.
Comment 5 Timothy Pearson 2011-12-06 23:21:51 CST
(In reply to comment #3)
> Using Qt3 3.3.b in KDE3 and 3.3.d in TDE.

This is a possible source of the problem.  Something may have changed in Qt 3.3.8d related to color handling, as quite a few patches were rolled in.

Can you test KDE3 with Qt 3.3.8d?
Comment 6 Darrell 2011-12-06 23:39:14 CST
Yes, you could be on to the cause.

I can. I'll need to set this up on my testing partitions.
Comment 7 Darrell 2011-12-07 00:35:46 CST
Hmm. Wait a minute. I have to build new KDE3 packages against qt3 3.3.8.d to test that....
Comment 8 Timothy Pearson 2012-01-11 13:55:05 CST
It appears that the accidental tqt conversions were already fixed in R14.0 during the renaming project.

Did recompiling under Qt 3.3.8d resolve the incorrect color problem?
Comment 9 Darrell 2012-01-11 19:29:43 CST
I haven't yet built a special 3.3.8.d package for KDE3. On my to-do list. :) My KDE3 environment is installed to /usr and my current 3.3.8.d package installs to /opt/trinity.

Even after I build a special 3.3.8.d package, I would have to rebuild special KDE3 packages against that version of Qt3. So there is some considerable thinking and planning required to test correctly.

With that said, I am in the process of rebuilding 3.5.13 packages with some build tweaks. My last 3.5.13 gasp before I start trying to build from GIT. When all of those new 3.5.13 packages are built, I will reinstall on the affected machine and look again at this green OSD problem. This bug report is on my hit list, so sooner or later I'll dig deeper. :)
Comment 10 Darrell 2012-01-17 15:32:48 CST
Per a discussion inthe developr's list, the problem seems to be in the way libxinepart.so is built.
Comment 11 Timothy Pearson 2012-01-17 21:41:09 CST
Comment on attachment 215 [details]
Fixes an inadvertent "tqt" conversion.

This was fixed some time ago dirung automated repairs for R14.0.0
Comment 12 Timothy Pearson 2012-01-17 21:51:22 CST
The problem is right here:
#if Q_BYTE_ORDER == TQ_LITTLE_ENDIAN

TQ_LITTLE_ENDIAN is not defined.
Comment 13 Timothy Pearson 2012-01-17 21:59:13 CST
Fixed in GIT hash 458e74a.  The fix applies to tqtinterface, which needs to be rebuilt and reinstalled before kaffeine is rebuilt and reinstalled.

Thanks for reporting!
Comment 14 Darrell 2012-01-19 16:12:39 CST
A little quick onthe draw to tag this as resolved without actually testing.... ;)

I just back ported the two patches to my 3.5.13 install and tested Kaffeine.

Colors look good. :)

Nice!