Bug 152004

Summary: KColorChooser crash in QtGui4!?text@QListWidgetItem on choosing "Named Colors"
Product: [Applications] kcoloredit Reporter: skierpage <skierpage>
Component: generalAssignee: Percy Camilo Triveño Aucahuasi <percy.camilo.ta>
Status: RESOLVED FIXED    
Severity: crash CC: finex
Priority: LO    
Version: unspecified   
Target Milestone: ---   
Platform: Unlisted Binaries   
OS: Microsoft Windows   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: Screenshot 1
Screenshot 2
Screenshot 3

Description skierpage 2007-11-08 09:10:14 UTC
Version:            (using KDE KDE 3.95.0)
Installed from:    MS Windows Binaries
Compiler:          MSVC binaries installed from the fine kdewin-installer-gui-0.8.1-2.exe
OS:                MS Windows

(My first KDE bug report evar! ;-)

On MS Windows XP,
1. run KColorChooser.exe
2. choose "Named Colors" from its pop-up list.

Result: Immediate crash.

gdb shows:
Program received signal SIGSEGV, Segmentation fault.
0x652ccd0c in QtGui4!?text@QListWidgetItem@@QBE?AVQString@@XZ ()
   from /cygdrive/c/KDE4/bin/QtGui4.dll

The crash may occur in the underlying namedColorList widget in kdeui/colors/kcolordialog.cpp.

Before it crashes KColorChooser tries and fails to open 	"/usr/share/X11/rgb.txt", "/usr/X11R6/lib/X11/rgb.txt", "/usr/openwin/lib/X11/rgb.txt and fails each one.
(Maybe Unix users can reproduce the crash by temporarily renaming all rgb.txt instances.)

KColorTable::readNamedColors() reads these files.  It should then invoke slotShowNamedColorReadError() to display an error, instead crash.

The code shouldn't crash, but I believe even MS Windows and Mac users should the named colors like "Misty Rose" available.

One workaround is to create C:\usr\X11R6\lib\X11 and put a copy of rgb.txt (from, e.g., http://xorg.freedesktop.org/archive/X11R7.3/src/app/rgb-1.0.1.tar.bz2) in it; then Named Colors works fine.

There's probably a way for KDE on Windows to ship rgb.txt in a standard location, e.g. {KDEroot}/share/X11/rgb.txt, and have readNamedColors() find it.
Comment 1 Christian Ehrlicher 2007-11-10 16:52:05 UTC
I've fixed the crash but let the bug open until we decided what to do with rgb.txt
Comment 2 FiNeX 2008-11-19 20:24:48 UTC
Changed severity to "crash". I hope to have selected only the right bugs (>100) :-)
Comment 3 Percy Camilo Triveño Aucahuasi 2008-12-09 23:33:30 UTC
Hello all ;)

The default extensions of palettes files are:
-> "*.colors" [KDE/Oxygen palette format]
-> "*.gpl" [GIMP palette format]

Basically both formats are the same except the first line: "*.colors" has the text "KDE RGB Palette" and "*.gpl" has "GIMP Palette".

Systems with X11 environment (GNU/Linux, BSD, ...) contain the file "rgb.txt", this file hold the data in the same format of that .colors and .gpl files. However, the first line of "rgb.txt" doesn't contain a valid text, and would no be load by KColorEdit (neither by KColorDialog/KColorChooser)

If you copy the file "rgb.txt", rename to "rgb.colors" and replace the first line with "KDE RGB Palette", then KColorEdit 2.0 can open the data inside this file without any issue. Please see screenshot 1.


After that, you can move "rgb.colors" to [your-home-path]/.kde/share/config/colors and applications like KColorEdit, KColorDialog and KColorChooser can upload "rgb.colors" as if it were a "system palette". Please see the screenshot 2 and screenshot 3.

I consider "rgb.txt" as reference palette of X11 and I don't see the point of include this file inside a KDE 4 instalation.

I'm closing this bug, becouse I already showed how to include the data of "rgb.txt" inside to KDE 4 system.

Bests, 
Percy
Comment 4 Percy Camilo Triveño Aucahuasi 2008-12-09 23:34:19 UTC
Created attachment 29195 [details]
Screenshot 1

Screenshot 1
Comment 5 Percy Camilo Triveño Aucahuasi 2008-12-09 23:35:32 UTC
Created attachment 29196 [details]
Screenshot 2

Screenshot 2
Comment 6 Percy Camilo Triveño Aucahuasi 2008-12-09 23:37:12 UTC
Created attachment 29197 [details]
Screenshot 3

Screenshot 3