Bug#241283: Bug caused by invalid context "Stock"

Mark J. Small "Mark J. Small" <msmall@eastlink.ca>, 241283@bugs.debian.org
Mon, 03 May 2004 10:35:46 -0300


I've been trying to figure this bug out, and I think I've got it.  On my 
system, all of the directories that cause this warning message to be printed 
are of the form FOOxFOO/stock/bar.

If I look at /usr/share/icons/hicolor/index.theme, all of these dirs have
Context=Stock

However, if I look at kicontheme.cpp in the source code, I see this:

    QString tmp = config->readEntry("Context");
    if (tmp == "Devices")
        mContext = KIcon::Device;
    else if (tmp == "MimeTypes")
        mContext = KIcon::MimeType;
    else if (tmp == "FileSystems")
        mContext = KIcon::FileSystem;
    else if (tmp == "Applications")
        mContext = KIcon::Application;
    else if (tmp == "Actions")
        mContext = KIcon::Action;
    else {
        kdDebug(264) << "Invalid Context= line for icon theme: " << mDir << 
"\n";
        return;
    }

which effectively means that the only valid contexts are Devices, MimeTypes, 
FileSystems, Applications, and Actions.  The kdDebug message isn't logged on 
my system, since debugging must be turned off.  However, the flag mbValid is 
never set to true, so the invalid context triggers an invalid directory 
warning.

The full source for this file is here:
http://webcvs.kde.org/cgi-bin/cvsweb.cgi/kdelibs/kdecore/kicontheme.cpp?rev=1.56&content-type=text/x-cvsweb-markup

I suggest that a new hicolor-icon-theme package with either valid contexts, or 
no stock directories should be uploaded.

Hope this helps,

Mark Small