Once upon a time (< 2005) the CachedPixmaps directory was located
at ~/GNUstep/.AppInfo/ and that was later moved to
~/GNUstep/Library/WindowMaker. So Dan Pascu introduced this function
in 24519b62928fc29ae129a9522769922308fa414f to make the convertion
automatically to users back then.

As it is highly unlikely that there is a old-time wmaker still running
a pre-2005 wmaker which suddenly decides to switch to wmaker-crm and
runs into trouble with his CachedPixmaps folder, let's simply remove it
to make defaults.o 1.8% smaller (596 bytes).
---
 src/defaults.c |   54 ------------------------------------------------------
 1 files changed, 0 insertions(+), 54 deletions(-)

diff --git a/src/defaults.c b/src/defaults.c
index 2d8fea9..4284b57 100644
--- a/src/defaults.c
+++ b/src/defaults.c
@@ -770,51 +770,6 @@ static void appendMenu(WMPropList * destarr, WMPropList * 
array)
 }
 #endif
 
-/* Fixup paths for cached pixmaps from .AppInfo to Library/WindowMaker/... */
-static Bool fixupCachedPixmapsPaths(WMPropList * dict)
-{
-       WMPropList *allApps, *app, *props, *iconkey, *icon, *newicon;
-       char *path, *fixedpath, *ptr, *search;
-       int i, len, slen;
-       Bool changed = False;
-
-       search = "/.AppInfo/WindowMaker/";
-       slen = strlen(search);
-
-       iconkey = WMCreatePLString("Icon");
-       allApps = WMGetPLDictionaryKeys(dict);
-
-       for (i = 0; i < WMGetPropListItemCount(allApps); i++) {
-               app = WMGetFromPLArray(allApps, i);
-               props = WMGetFromPLDictionary(dict, app);
-               if (!props)
-                       continue;
-               icon = WMGetFromPLDictionary(props, iconkey);
-               if (icon && WMIsPLString(icon)) {
-                       path = WMGetFromPLString(icon);
-                       ptr = strstr(path, search);
-                       if (ptr) {
-                               changed = True;
-                               len = (ptr - path);
-                               fixedpath = wmalloc(strlen(path) + 32);
-                               strncpy(fixedpath, path, len);
-                               fixedpath[len] = 0;
-                               strcat(fixedpath, 
"/Library/WindowMaker/CachedPixmaps/");
-                               strcat(fixedpath, ptr + slen);
-                               newicon = WMCreatePLString(fixedpath);
-                               WMPutInPLDictionary(props, iconkey, newicon);
-                               WMReleasePropList(newicon);
-                               wfree(fixedpath);
-                       }
-               }
-       }
-
-       WMReleasePropList(allApps);
-       WMReleasePropList(iconkey);
-
-       return changed;
-}
-
 void wDefaultsMergeGlobalMenus(WDDomain * menuDomain)
 {
        WMPropList *menu = menuDomain->dictionary;
@@ -909,15 +864,6 @@ WDDomain *wDefaultsInitDomain(char *domain, Bool 
requireDictionary)
                                db->dictionary = NULL;
                                wwarning(_("Domain %s (%s) of defaults database 
is corrupted!"), domain, the_path);
                        }
-                       if (strcmp(domain, "WMWindowAttributes") == 0 && 
db->dictionary) {
-                               if (fixupCachedPixmapsPaths(db->dictionary)) {
-                                       WMWritePropListToFile(db->dictionary, 
db->path, True);
-                                       /* re-read the timestamp. if this fails 
take current time */
-                                       if (stat(db->path, &stbuf) < 0) {
-                                               stbuf.st_mtime = time(NULL);
-                                       }
-                               }
-                       }
                        db->timestamp = stbuf.st_mtime;
                } else {
                        wwarning(_("could not load domain %s from user defaults 
database"), domain);
-- 
1.7.0.rc2


-- 
To unsubscribe, send mail to [email protected].

Reply via email to