[prev in list] [next in list] [prev in thread] [next in thread]
List: koffice
Subject: Re: icons
From: Reginald Stadlbauer <reggie () kde ! org>
Date: 1999-02-19 2:39:03
[Download RAW message or body]
Am Fri, 19 Feb 1999 schrieb David Faure:
>On Fri, Feb 19, 1999 at 12:03:39AM +0100, Reginald Stadlbauer wrote:
>> Am Thu, 18 Feb 1999 schrieb David Faure:
>> >On Wed, Feb 17, 1999 at 02:44:28AM +0000, Kevin Forge wrote:
>> >> Reginald Stadlbauer wrote:
>> >> >
>> >> > Actually this is no problem. You just have also to change the
>> >> > sources of the apps. Because if a KOffice app doesn't find all
>> >> > icons, it crashes
>> >>
>> >> You are going to fix this right ? :)
>> >
>> >Can I suggest an easy fix ?
>> >
>> >Now that almost all koffice apps use ICON() (i.e. KIconLoader, from
>> >kdelibs), the fix would be to patch KIconLoader to return the
>> >"unknown.xpm" pixmap if the one asked can't be found.
>> >
>> >Is there any application out there that relies on KIconLoader::loadIcon
>> >returning 0L when the icon can't be found ?
>> >
>> >(In this case we could add another parameter, with a default value).
>> >
>> >What do you think ?
>>
>> Sounds good to me...
>
>I came up with the following patch, and tested it.
>Of course, unknown.xpm is WAYS to big for a toolbar - that's the point :
>you easily see that the icon is missing.... :)))
It's ok for me if this counts :-))
Ciao, Reggie
>RCS file: /home/kde/kdelibs/kdecore/kiconloader.cpp,v
>retrieving revision 1.26
>diff -u -p -r1.26 kiconloader.cpp
>--- kiconloader.cpp 1999/01/18 10:56:20 1.26
>+++ kiconloader.cpp 1999/02/18 23:50:49
>@@ -155,11 +155,13 @@ QPixmap KIconLoader::loadIcon ( const QS
> /* Stephan: It's OK to know, how many icons are still missing, but
> we don't need to tell everybody ;) Perhaps this can be con-
> verted to a KDEBUG solution, that is more silent? Don't know.
>-
>- if (result.isNull())
>- warning(klocale->translate("ERROR: couldn't find icon: %s"), (const char *) name);
>-
>+ David: Re-enabled the warning. Most applications (esp. koffice) crash
>+ if the icon doesn't exist, anyway. And base apps should be ok now.
> */
>+ if (result.isNull()) {
>+ warning(klocale->translate("ERROR: couldn't find icon: %s"), (const char *) name);
>+ result = loadInternal("unknown.xpm", w, h);
>+ }
>
> return result;
> }
>
>
>I also grepped the whole CVS tree to make sure no application was relying
>on loadIcon returning 0L in some cases. Luckily, everybody is lazy enough
>*not* to test the return value :)
>
>Shall I commit it ?
>
>--
> ____________________________________________________________________
>| |
>| David FAURE |
>| E-mail : David.Faure@insa-lyon.fr, faure@kde.org |
>| http://www.insa-lyon.fr/People/AEDI/dfaure/index.html |
>|____________________________________________________________________|
--
*************************************
Reginald Stadlbauer
Pfarrweg 8c, A-8010 Graz,
Austria (Europe)
E-Mail: reggie@kde.org
Homepage: http://htualpha.tu-graz.ac.at/reggie
Telematik Student an der TU-Graz
EDV-Sachbearbeiter an der HTU-Graz
KDE fan and developer :-)
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic