1
0
mirror of https://github.com/gryf/wmaker.git synced 2025-12-19 12:28:22 +01:00

replaced free() with wfree() everywhere

fixed bug in wlist that caused colorpanel to crash
This commit is contained in:
kojima
1999-10-09 20:07:23 +00:00
parent 3ac51d8e32
commit 80fb09a74e
36 changed files with 272 additions and 234 deletions

View File

@@ -156,9 +156,10 @@ char *wexpandpath(char *path);
/* don't free the returned string */ /* don't free the returned string */
char *wgethomedir(); char *wgethomedir();
void *wmalloc(size_t size); void *wmalloc(size_t size);
void *wrealloc(void *ptr, size_t newsize); void *wrealloc(void *ptr, size_t newsize);
void wfree(void *ptr);
void wrelease(void *ptr); void wrelease(void *ptr);
void *wretain(void *ptr); void *wretain(void *ptr);

View File

@@ -177,8 +177,8 @@ WMSortBag(WMBag *bag, int (*comparer)(const void*, const void*))
void void
WMFreeBag(WMBag *bag) WMFreeBag(WMBag *bag)
{ {
free(bag->items); wfree(bag->items);
free(bag); wfree(bag);
} }

View File

@@ -195,7 +195,7 @@ wfindfile(char *paths, char *file)
return NULL; return NULL;
if (access(fullpath, F_OK)<0) { if (access(fullpath, F_OK)<0) {
free(fullpath); wfree(fullpath);
return NULL; return NULL;
} else { } else {
return fullpath; return fullpath;
@@ -217,12 +217,12 @@ wfindfile(char *paths, char *file)
strcat(path, "/"); strcat(path, "/");
strcat(path, file); strcat(path, file);
fullpath = wexpandpath(path); fullpath = wexpandpath(path);
free(path); wfree(path);
if (fullpath) { if (fullpath) {
if (access(fullpath, F_OK)==0) { if (access(fullpath, F_OK)==0) {
return fullpath; return fullpath;
} }
free(fullpath); wfree(fullpath);
} }
tmp=&(tmp[len+1]); tmp=&(tmp[len+1]);
if (*tmp==0) break; if (*tmp==0) break;
@@ -249,7 +249,7 @@ wfindfileinlist(char **path_list, char *file)
return NULL; return NULL;
if (access(fullpath, F_OK)<0) { if (access(fullpath, F_OK)<0) {
free(fullpath); wfree(fullpath);
return NULL; return NULL;
} else { } else {
return fullpath; return fullpath;
@@ -269,13 +269,13 @@ wfindfileinlist(char **path_list, char *file)
strcat(path, file); strcat(path, file);
/* expand tilde */ /* expand tilde */
fullpath = wexpandpath(path); fullpath = wexpandpath(path);
free(path); wfree(path);
if (fullpath) { if (fullpath) {
/* check if file exists */ /* check if file exists */
if (access(fullpath, F_OK)==0) { if (access(fullpath, F_OK)==0) {
return fullpath; return fullpath;
} }
free(fullpath); wfree(fullpath);
} }
} }
return NULL; return NULL;
@@ -301,7 +301,7 @@ wfindfileinarray(proplist_t array, char *file)
return NULL; return NULL;
if (access(fullpath, F_OK)<0) { if (access(fullpath, F_OK)<0) {
free(fullpath); wfree(fullpath);
return NULL; return NULL;
} else { } else {
return fullpath; return fullpath;
@@ -329,13 +329,13 @@ wfindfileinarray(proplist_t array, char *file)
strcat(path, file); strcat(path, file);
/* expand tilde */ /* expand tilde */
fullpath = wexpandpath(path); fullpath = wexpandpath(path);
free(path); wfree(path);
if (fullpath) { if (fullpath) {
/* check if file exists */ /* check if file exists */
if (access(fullpath, F_OK)==0) { if (access(fullpath, F_OK)==0) {
return fullpath; return fullpath;
} }
free(fullpath); wfree(fullpath);
} }
} }
return NULL; return NULL;

View File

@@ -114,7 +114,7 @@ rebuildTable(WMHashTable *table)
oldArray[i] = next; oldArray[i] = next;
} }
} }
free(oldArray); wfree(oldArray);
} }
@@ -149,7 +149,7 @@ WMResetHashTable(WMHashTable *table)
while (item) { while (item) {
tmp = item->next; tmp = item->next;
RELKEY(table, item); RELKEY(table, item);
free(item); wfree(item);
item = tmp; item = tmp;
} }
} }
@@ -157,7 +157,7 @@ WMResetHashTable(WMHashTable *table)
table->itemCount = 0; table->itemCount = 0;
if (table->size > INITIAL_CAPACITY) { if (table->size > INITIAL_CAPACITY) {
free(table->table); wfree(table->table);
table->size = INITIAL_CAPACITY; table->size = INITIAL_CAPACITY;
table->table = wmalloc(sizeof(HashItem*)*table->size); table->table = wmalloc(sizeof(HashItem*)*table->size);
} }
@@ -176,12 +176,12 @@ WMFreeHashTable(WMHashTable *table)
while (item) { while (item) {
tmp = item->next; tmp = item->next;
RELKEY(table, item->key); RELKEY(table, item->key);
free(item); wfree(item);
item = tmp; item = tmp;
} }
} }
free(table->table); wfree(table->table);
free(table); wfree(table);
} }
@@ -296,7 +296,7 @@ deleteFromList(HashTable *table, HashItem *item, const void *key)
next = item->next; next = item->next;
RELKEY(table, item->key); RELKEY(table, item->key);
free(item); wfree(item);
table->itemCount--; table->itemCount--;

View File

@@ -31,6 +31,10 @@
#include <assert.h> #include <assert.h>
#include <signal.h> #include <signal.h>
#ifdef TEST_WITH_GC
#include <gc/gc.h>
#endif
#ifndef False #ifndef False
# define False 0 # define False 0
#endif #endif
@@ -76,7 +80,11 @@ void *wmalloc(size_t size)
{ {
void *tmp; void *tmp;
#ifdef TEST_WITH_GC
tmp = GC_malloc(size);
#else
tmp = malloc(size); tmp = malloc(size);
#endif
if (tmp == NULL) { if (tmp == NULL) {
wwarning("malloc() failed. Retrying after 2s."); wwarning("malloc() failed. Retrying after 2s.");
sleep(2); sleep(2);
@@ -101,9 +109,17 @@ void *wrealloc(void *ptr, size_t newsize)
void *nptr; void *nptr;
if (!ptr) { if (!ptr) {
#ifdef TEST_WITH_GC
nptr = GC_malloc(newsize);
#else
nptr = malloc(newsize); nptr = malloc(newsize);
#endif
} else { } else {
#ifdef TEST_WITH_GC
nptr = GC_realloc(ptr, newsize);
#else
nptr=realloc(ptr, newsize); nptr=realloc(ptr, newsize);
#endif
} }
if (nptr==NULL) { if (nptr==NULL) {
printf("Could not do realloc"); printf("Could not do realloc");
@@ -141,6 +157,19 @@ wretain(void *ptr)
} }
void
wfree(void *ptr)
{
#ifdef TEST_WITH_GC
GC_free(ptr);
#else
free(ptr);
#endif
}
void void
wrelease(void *ptr) wrelease(void *ptr)
{ {
@@ -156,8 +185,8 @@ wrelease(void *ptr)
printf("RELEASING %p\n", ptr); printf("RELEASING %p\n", ptr);
#endif #endif
WMHashRemove(table, ptr); WMHashRemove(table, ptr);
free(refcount); wfree(refcount);
free(ptr); wfree(ptr);
} }
#ifdef VERBOSE #ifdef VERBOSE
else { else {

View File

@@ -108,7 +108,7 @@ CreateMyWidget(WMWidget *parent)
*/ */
mPtr->view = W_CreateView(W_VIEW(parent)); mPtr->view = W_CreateView(W_VIEW(parent));
if (!mPtr->view) { if (!mPtr->view) {
free(mPtr); wfree(mPtr);
return NULL; return NULL;
} }
/* always do this */ /* always do this */
@@ -200,7 +200,7 @@ SetMyWidgetText(MyWidget *mPtr, char *text)
CHECK_CLASS(mPtr, myWidgetClass); CHECK_CLASS(mPtr, myWidgetClass);
if (mPtr->text) if (mPtr->text)
free(mPtr->text); wfree(mPtr->text);
mPtr->text = wstrdup(text); mPtr->text = wstrdup(text);
@@ -219,9 +219,9 @@ destroyMyWidget(_MyWidget *mPtr)
*/ */
if (mPtr->text) if (mPtr->text)
free(mPtr->text); wfree(mPtr->text);
free(mPtr); wfree(mPtr);
} }

View File

@@ -62,7 +62,7 @@ WMReleaseNotification(WMNotification *notification)
notification->refCount--; notification->refCount--;
if (notification->refCount < 1) { if (notification->refCount < 1) {
free(notification); wfree(notification);
} }
} }
@@ -274,7 +274,7 @@ WMRemoveNotificationObserver(void *observer)
if (orec->next) if (orec->next)
orec->next->prev = orec->prev; orec->next->prev = orec->prev;
free(orec); wfree(orec);
orec = tmp; orec = tmp;
} }
@@ -334,7 +334,7 @@ WMRemoveNotificationObserverWithName(void *observer, char *name, void *object)
orec->prev->next = orec->next; orec->prev->next = orec->next;
if (orec->next) if (orec->next)
orec->next->prev = orec->prev; orec->next->prev = orec->prev;
free(orec); wfree(orec);
} else { } else {
/* append this action in the new action list */ /* append this action in the new action list */
orec->nextAction = NULL; orec->nextAction = NULL;

View File

@@ -50,7 +50,7 @@ WMDeleteSelectionHandler(WMWidget *widget, Atom selection)
} }
selHandlers = tmp->next; selHandlers = tmp->next;
timestamp = tmp->timestamp; timestamp = tmp->timestamp;
free(tmp); wfree(tmp);
} else { } else {
while (tmp->next) { while (tmp->next) {
if (tmp->next->widget == widget) { if (tmp->next->widget == widget) {
@@ -62,7 +62,7 @@ WMDeleteSelectionHandler(WMWidget *widget, Atom selection)
handler = tmp->next; handler = tmp->next;
tmp->next = handler->next; tmp->next = handler->next;
timestamp = handler->timestamp; timestamp = handler->timestamp;
free(handler); wfree(handler);
break; break;
} }
tmp = tmp->next; tmp = tmp->next;
@@ -188,11 +188,11 @@ W_HandleSelectionEvent(XEvent *event)
event->xselectionrequest.requestor, event->xselectionrequest.requestor,
prop, atom, data, length, format)) { prop, atom, data, length, format)) {
free(data); wfree(data);
notifySelection(event, None); notifySelection(event, None);
break; break;
} }
free(data); wfree(data);
notifySelection(event, prop); notifySelection(event, prop);

View File

@@ -54,7 +54,7 @@ wusergnusteppath()
pathlen = strlen(gspath) + 4; pathlen = strlen(gspath) + 4;
path = wmalloc(pathlen); path = wmalloc(pathlen);
strcpy(path, gspath); strcpy(path, gspath);
free(gspath); wfree(gspath);
} else { } else {
pathlen = strlen(wgethomedir()) + 10; pathlen = strlen(wgethomedir()) + 10;
path = wmalloc(pathlen); path = wmalloc(pathlen);
@@ -185,7 +185,7 @@ WMGetStandardUserDefaults(void)
} }
} }
if (path) if (path)
free(path); wfree(path);
defaults->appDomain = domain; defaults->appDomain = domain;
@@ -202,7 +202,7 @@ WMGetStandardUserDefaults(void)
domain = PLGetProplistWithPath(path); domain = PLGetProplistWithPath(path);
free(path); wfree(path);
if (!domain) if (!domain)
domain = PLMakeDictionaryFromEntries(NULL, NULL, NULL); domain = PLMakeDictionaryFromEntries(NULL, NULL, NULL);
@@ -538,7 +538,7 @@ WMSetUDSearchList(WMUserDefaults *database, proplist_t list)
PLRelease(database->searchList[i]); PLRelease(database->searchList[i]);
i++; i++;
} }
free(database->searchList); wfree(database->searchList);
} }
if (database->searchListArray) { if (database->searchListArray) {
PLRelease(database->searchListArray); PLRelease(database->searchListArray);

View File

@@ -51,7 +51,7 @@ void
WMSetResourcePath(char *path) WMSetResourcePath(char *path)
{ {
if (WMApplication.resourcePath) if (WMApplication.resourcePath)
free(WMApplication.resourcePath); wfree(WMApplication.resourcePath);
WMApplication.resourcePath = wstrdup(path); WMApplication.resourcePath = wstrdup(path);
} }
@@ -84,7 +84,7 @@ checkFile(char *path, char *folder, char *ext, char *resource)
strcat(ret, resource); strcat(ret, resource);
if (access(ret, F_OK)!=0) { if (access(ret, F_OK)!=0) {
free(ret); wfree(ret);
ret = NULL; ret = NULL;
} }
@@ -128,7 +128,7 @@ WMPathForResourceOfType(char *resource, char *ext)
} else { } else {
path = NULL; path = NULL;
} }
free(tmp); wfree(tmp);
if (path) if (path)
return path; return path;
} }
@@ -139,7 +139,7 @@ WMPathForResourceOfType(char *resource, char *ext)
if (getenv("GNUSTEP_USER_ROOT")) { if (getenv("GNUSTEP_USER_ROOT")) {
path = checkFile(getenv("GNUSTEP_USER_ROOT"), appdir, ext, resource); path = checkFile(getenv("GNUSTEP_USER_ROOT"), appdir, ext, resource);
if (path) { if (path) {
free(appdir); wfree(appdir);
return path; return path;
} }
} }
@@ -148,7 +148,7 @@ WMPathForResourceOfType(char *resource, char *ext)
if (tmp) { if (tmp) {
path = checkFile(tmp, appdir, ext, resource); path = checkFile(tmp, appdir, ext, resource);
if (path) { if (path) {
free(appdir); wfree(appdir);
return path; return path;
} }
} }
@@ -156,14 +156,14 @@ WMPathForResourceOfType(char *resource, char *ext)
if (getenv("GNUSTEP_LOCAL_ROOT")) { if (getenv("GNUSTEP_LOCAL_ROOT")) {
path = checkFile(getenv("GNUSTEP_LOCAL_ROOT"), appdir, ext, resource); path = checkFile(getenv("GNUSTEP_LOCAL_ROOT"), appdir, ext, resource);
if (path) { if (path) {
free(appdir); wfree(appdir);
return path; return path;
} }
} }
path = checkFile("/usr/local/GNUstep", appdir, ext, resource); path = checkFile("/usr/local/GNUstep", appdir, ext, resource);
if (path) { if (path) {
free(appdir); wfree(appdir);
return path; return path;
} }
@@ -171,14 +171,14 @@ WMPathForResourceOfType(char *resource, char *ext)
if (getenv("GNUSTEP_SYSTEM_ROOT")) { if (getenv("GNUSTEP_SYSTEM_ROOT")) {
path = checkFile(getenv("GNUSTEP_SYSTEM_ROOT"), appdir, ext, resource); path = checkFile(getenv("GNUSTEP_SYSTEM_ROOT"), appdir, ext, resource);
if (path) { if (path) {
free(appdir); wfree(appdir);
return path; return path;
} }
} }
path = checkFile("/usr/GNUstep", appdir, ext, resource); path = checkFile("/usr/GNUstep", appdir, ext, resource);
if (path) { if (path) {
free(appdir); wfree(appdir);
return path; return path;
} }

View File

@@ -61,7 +61,7 @@ W_CreateBalloon(WMScreen *scr)
bPtr->view = W_CreateTopView(scr); bPtr->view = W_CreateTopView(scr);
if (!bPtr->view) { if (!bPtr->view) {
free(bPtr); wfree(bPtr);
return NULL; return NULL;
} }
bPtr->view->self = bPtr; bPtr->view->self = bPtr;
@@ -110,7 +110,7 @@ WMSetBalloonTextForView(char *text, WMView *view)
} }
if (oldText) { if (oldText) {
free(oldText); wfree(oldText);
} }
} }
@@ -466,7 +466,7 @@ destroyBalloon(Balloon *bPtr)
e = WMEnumerateHashTable(bPtr->table); e = WMEnumerateHashTable(bPtr->table);
while ((str = WMNextHashEnumeratorItem(&e))) { while ((str = WMNextHashEnumeratorItem(&e))) {
free(str); wfree(str);
} }
WMFreeHashTable(bPtr->table); WMFreeHashTable(bPtr->table);
@@ -476,5 +476,5 @@ destroyBalloon(Balloon *bPtr)
if (bPtr->font) if (bPtr->font)
WMReleaseFont(bPtr->font); WMReleaseFont(bPtr->font);
free(bPtr); wfree(bPtr);
} }

View File

@@ -115,7 +115,7 @@ WMCreateBrowser(WMWidget *parent)
bPtr->view = W_CreateView(W_VIEW(parent)); bPtr->view = W_CreateView(W_VIEW(parent));
if (!bPtr->view) { if (!bPtr->view) {
free(bPtr); wfree(bPtr);
return NULL; return NULL;
} }
bPtr->view->self = bPtr; bPtr->view->self = bPtr;
@@ -225,7 +225,7 @@ void
WMSetBrowserPathSeparator(WMBrowser *bPtr, char *separator) WMSetBrowserPathSeparator(WMBrowser *bPtr, char *separator)
{ {
if (bPtr->pathSeparator) if (bPtr->pathSeparator)
free(bPtr->pathSeparator); wfree(bPtr->pathSeparator);
bPtr->pathSeparator = wstrdup(separator); bPtr->pathSeparator = wstrdup(separator);
} }
@@ -319,14 +319,14 @@ removeColumn(WMBrowser *bPtr, int column)
} }
for (i=column; i < clearEnd; i++) { for (i=column; i < clearEnd; i++) {
if (bPtr->titles[i]) { if (bPtr->titles[i]) {
free(bPtr->titles[i]); wfree(bPtr->titles[i]);
bPtr->titles[i] = NULL; bPtr->titles[i] = NULL;
} }
WMClearList(bPtr->columns[i]); WMClearList(bPtr->columns[i]);
} }
for (;i < destroyEnd; i++) { for (;i < destroyEnd; i++) {
if (bPtr->titles[i]) { if (bPtr->titles[i]) {
free(bPtr->titles[i]); wfree(bPtr->titles[i]);
bPtr->titles[i] = NULL; bPtr->titles[i] = NULL;
} }
WMRemoveNotificationObserverWithName(bPtr, WMRemoveNotificationObserverWithName(bPtr,
@@ -339,8 +339,8 @@ removeColumn(WMBrowser *bPtr, int column)
tlist = wmalloc(sizeof(char*) * (bPtr->columnCount)); tlist = wmalloc(sizeof(char*) * (bPtr->columnCount));
memcpy(clist, bPtr->columns, sizeof(WMList*) * (bPtr->columnCount)); memcpy(clist, bPtr->columns, sizeof(WMList*) * (bPtr->columnCount));
memcpy(tlist, bPtr->titles, sizeof(char*) * (bPtr->columnCount)); memcpy(tlist, bPtr->titles, sizeof(char*) * (bPtr->columnCount));
free(bPtr->titles); wfree(bPtr->titles);
free(bPtr->columns); wfree(bPtr->columns);
bPtr->titles = tlist; bPtr->titles = tlist;
bPtr->columns = clist; bPtr->columns = clist;
} }
@@ -382,7 +382,7 @@ WMSetBrowserColumnTitle(WMBrowser *bPtr, int column, char *title)
assert(column < bPtr->usedColumnCount); assert(column < bPtr->usedColumnCount);
if (bPtr->titles[column]) if (bPtr->titles[column])
free(bPtr->titles[column]); wfree(bPtr->titles[column]);
bPtr->titles[column] = wstrdup(title); bPtr->titles[column] = wstrdup(title);
@@ -532,7 +532,7 @@ paintItem(WMList *lPtr, int index, Drawable d, char *text, int state,
text, &textLen, widthC); text, &textLen, widthC);
W_PaintText(view, d, scr->normalFont, x+4, y, widthC, W_PaintText(view, d, scr->normalFont, x+4, y, widthC,
WALeft, WMColorGC(scr->black), False, textBuf, textLen); WALeft, WMColorGC(scr->black), False, textBuf, textLen);
free(textBuf); wfree(textBuf);
} else { } else {
W_PaintText(view, d, scr->normalFont, x+4, y, widthC, W_PaintText(view, d, scr->normalFont, x+4, y, widthC,
WALeft, WMColorGC(scr->black), False, text, textLen); WALeft, WMColorGC(scr->black), False, text, textLen);
@@ -713,7 +713,7 @@ WMSetBrowserPath(WMBrowser *bPtr, char *path)
i++; i++;
} }
free(str); wfree(str);
for (i = bPtr->usedColumnCount - 1; for (i = bPtr->usedColumnCount - 1;
(i > -1) && !WMGetListSelectedItem(bPtr->columns[i]); (i > -1) && !WMGetListSelectedItem(bPtr->columns[i]);
@@ -801,7 +801,7 @@ loadColumn(WMBrowser *bPtr, int column)
title = (*bPtr->delegate->titleOfColumn)(bPtr->delegate, bPtr, column); title = (*bPtr->delegate->titleOfColumn)(bPtr->delegate, bPtr, column);
if (bPtr->titles[column]) if (bPtr->titles[column])
free(bPtr->titles[column]); wfree(bPtr->titles[column]);
bPtr->titles[column] = wstrdup(title); bPtr->titles[column] = wstrdup(title);
@@ -1071,9 +1071,9 @@ WMAddBrowserColumn(WMBrowser *bPtr)
memcpy(clist, bPtr->columns, sizeof(WMList*)*(bPtr->columnCount-1)); memcpy(clist, bPtr->columns, sizeof(WMList*)*(bPtr->columnCount-1));
memcpy(tlist, bPtr->titles, sizeof(char*)*(bPtr->columnCount-1)); memcpy(tlist, bPtr->titles, sizeof(char*)*(bPtr->columnCount-1));
if (bPtr->columns) if (bPtr->columns)
free(bPtr->columns); wfree(bPtr->columns);
if (bPtr->titles) if (bPtr->titles)
free(bPtr->titles); wfree(bPtr->titles);
bPtr->columns = clist; bPtr->columns = clist;
bPtr->titles = tlist; bPtr->titles = tlist;
@@ -1115,15 +1115,15 @@ destroyBrowser(WMBrowser *bPtr)
for (i = 0; i < bPtr->columnCount; i++) { for (i = 0; i < bPtr->columnCount; i++) {
if (bPtr->titles[i]) if (bPtr->titles[i])
free(bPtr->titles[i]); wfree(bPtr->titles[i]);
} }
free(bPtr->titles); wfree(bPtr->titles);
free(bPtr->pathSeparator); wfree(bPtr->pathSeparator);
WMRemoveNotificationObserver(bPtr); WMRemoveNotificationObserver(bPtr);
free(bPtr); wfree(bPtr);
} }

View File

@@ -117,7 +117,7 @@ WMCreateCustomButton(WMWidget *parent, int behaviourMask)
bPtr->view = W_CreateView(W_VIEW(parent)); bPtr->view = W_CreateView(W_VIEW(parent));
if (!bPtr->view) { if (!bPtr->view) {
free(bPtr); wfree(bPtr);
return NULL; return NULL;
} }
bPtr->view->self = bPtr; bPtr->view->self = bPtr;
@@ -340,7 +340,7 @@ void
WMSetButtonText(WMButton *bPtr, char *text) WMSetButtonText(WMButton *bPtr, char *text)
{ {
if (bPtr->caption) if (bPtr->caption)
free(bPtr->caption); wfree(bPtr->caption);
if (text!=NULL) { if (text!=NULL) {
bPtr->caption = wstrdup(text); bPtr->caption = wstrdup(text);
@@ -359,7 +359,7 @@ void
WMSetButtonAltText(WMButton *bPtr, char *text) WMSetButtonAltText(WMButton *bPtr, char *text)
{ {
if (bPtr->altCaption) if (bPtr->altCaption)
free(bPtr->altCaption); wfree(bPtr->altCaption);
if (text!=NULL) { if (text!=NULL) {
bPtr->altCaption = wstrdup(text); bPtr->altCaption = wstrdup(text);
@@ -752,10 +752,10 @@ destroyButton(Button *bPtr)
WMReleaseFont(bPtr->font); WMReleaseFont(bPtr->font);
if (bPtr->caption) if (bPtr->caption)
free(bPtr->caption); wfree(bPtr->caption);
if (bPtr->altCaption) if (bPtr->altCaption)
free(bPtr->altCaption); wfree(bPtr->altCaption);
if (bPtr->image) if (bPtr->image)
WMReleasePixmap(bPtr->image); WMReleasePixmap(bPtr->image);
@@ -769,7 +769,7 @@ destroyButton(Button *bPtr)
if (bPtr->altImage) if (bPtr->altImage)
WMReleasePixmap(bPtr->altImage); WMReleasePixmap(bPtr->altImage);
free(bPtr); wfree(bPtr);
} }

View File

@@ -140,7 +140,7 @@ WMReleaseColor(WMColor *color)
&(color->color.pixel), 1, 0); &(color->color.pixel), 1, 0);
if (color->gc) if (color->gc)
XFreeGC(color->screen->display, color->gc); XFreeGC(color->screen->display, color->gc);
free(color); wfree(color);
} }
} }

View File

@@ -21,7 +21,7 @@
* For some reason after using the magnifying glass, the windowlist * For some reason after using the magnifying glass, the windowlist
* of the color-panel (panel->view->screen) becomes 0x0. This * of the color-panel (panel->view->screen) becomes 0x0. This
* results in a core-dump of testcolorpanel, and in 3 times * results in a core-dump of testcolorpanel, and in 3 times
* "WPrefs in free(): warning: chunk is already free." with WPrefs. * "WPrefs in wfree(): warning: chunk is already free." with WPrefs.
*/ */
/* TODO: /* TODO:
@@ -1094,11 +1094,11 @@ WMFreeColorPanel(WMColorPanel *panel)
/* structs */ /* structs */
if (panel->lastBrowseDir) if (panel->lastBrowseDir)
free(panel->lastBrowseDir); wfree(panel->lastBrowseDir);
if (panel->configurationPath) if (panel->configurationPath)
free(panel->configurationPath); wfree(panel->configurationPath);
free(panel); wfree(panel);
} }
@@ -1816,7 +1816,7 @@ magnifyPutCursor(WMWidget *w, void *data)
XFreePixmap(scr->display, panel->magnifyGlass->pixmap); XFreePixmap(scr->display, panel->magnifyGlass->pixmap);
panel->magnifyGlass->pixmap = None; panel->magnifyGlass->pixmap = None;
free(panel->magnifyGlass); wfree(panel->magnifyGlass);
} }
@@ -1851,10 +1851,10 @@ wheelCreateMatrix(unsigned int width, unsigned int height)
error: error:
for (i = 0; i < 3; i++) { for (i = 0; i < 3; i++) {
if (matrix->data[i]) if (matrix->data[i])
free(matrix->data[i]); wfree(matrix->data[i]);
} }
if (matrix) if (matrix)
free(matrix); wfree(matrix);
RErrorCode = RERR_NOMEMORY; RErrorCode = RERR_NOMEMORY;
return NULL; return NULL;
} }
@@ -1869,9 +1869,9 @@ wheelDestroyMatrix(wheelMatrix *matrix)
for (i = 0; i < 3; i++) { for (i = 0; i < 3; i++) {
if (matrix->data[i]) if (matrix->data[i])
free(matrix->data[i]); wfree(matrix->data[i]);
} }
free(matrix); wfree(matrix);
} }
@@ -2758,10 +2758,10 @@ hsbUpdateHueGradient(W_ColorPanel *panel)
for (i=0; i<7; i++) { for (i=0; i<7; i++) {
if (colors[i]) if (colors[i])
free(colors[i]); wfree(colors[i]);
} }
if (colors) if (colors)
free(colors); wfree(colors);
} }
/*************** Custom Palette Functions ****************/ /*************** Custom Palette Functions ****************/
@@ -3027,7 +3027,7 @@ customPaletteMenuNewFromFile(W_ColorPanel *panel)
/* Store last browsed path */ /* Store last browsed path */
if (panel->lastBrowseDir) if (panel->lastBrowseDir)
free(panel->lastBrowseDir); wfree(panel->lastBrowseDir);
panel->lastBrowseDir = wmalloc((i+1)*sizeof(char)); panel->lastBrowseDir = wmalloc((i+1)*sizeof(char));
strncpy(panel->lastBrowseDir, filepath, i); strncpy(panel->lastBrowseDir, filepath, i);
panel->lastBrowseDir[i] = '\0'; panel->lastBrowseDir[i] = '\0';
@@ -3040,22 +3040,22 @@ customPaletteMenuNewFromFile(W_ColorPanel *panel)
while (access (tmp, F_OK) == 0) { while (access (tmp, F_OK) == 0) {
char *newName; char *newName;
free(tmp); wfree(tmp);
newName = generateNewFilename(filename); newName = generateNewFilename(filename);
free(filename); wfree(filename);
filename = newName; filename = newName;
tmp = wstrappend(panel->configurationPath, filename); tmp = wstrappend(panel->configurationPath, filename);
} }
free(tmp); wfree(tmp);
/* Copy image to $(gnustepdir)/Library/Colors/ & /* Copy image to $(gnustepdir)/Library/Colors/ &
* Add filename to history menu */ * Add filename to history menu */
if (fetchFile (panel->configurationPath, filepath, filename) == 0) { if (fetchFile (panel->configurationPath, filepath, filename) == 0) {
/* filepath is a "local" path now the file has been copied */ /* filepath is a "local" path now the file has been copied */
free(filepath); wfree(filepath);
filepath = wstrappend(panel->configurationPath, filename); filepath = wstrappend(panel->configurationPath, filename);
/* load the image & add menu entries */ /* load the image & add menu entries */
@@ -3088,14 +3088,14 @@ customPaletteMenuNewFromFile(W_ColorPanel *panel)
"Couldn't remove file from Configuration Directory !", "Couldn't remove file from Configuration Directory !",
"OK", NULL, NULL); "OK", NULL, NULL);
} }
free(tmp); wfree(tmp);
} }
free(filepath); wfree(filepath);
free(filename); wfree(filename);
} }
WMFreeFilePanel(browseP); WMFreeFilePanel(browseP);
free(spath); wfree(spath);
} }
@@ -3119,7 +3119,7 @@ customPaletteMenuRename(W_ColorPanel *panel)
/* As some people do certain stupid things... */ /* As some people do certain stupid things... */
if (strcmp(toName, fromName) == 0) { if (strcmp(toName, fromName) == 0) {
free(toName); wfree(toName);
return; return;
} }
@@ -3153,9 +3153,9 @@ customPaletteMenuRename(W_ColorPanel *panel)
} }
} else { } else {
free(fromPath); wfree(fromPath);
free(toName); wfree(toName);
free(toPath); wfree(toPath);
return; return;
} }
@@ -3170,9 +3170,9 @@ customPaletteMenuRename(W_ColorPanel *panel)
WMSetPopUpButtonSelectedItem(panel->customPaletteHistoryBtn, item); WMSetPopUpButtonSelectedItem(panel->customPaletteHistoryBtn, item);
} }
free(fromPath); wfree(fromPath);
free(toPath); wfree(toPath);
free(toName); wfree(toName);
} }
} }
@@ -3192,11 +3192,11 @@ customPaletteMenuRemove(W_ColorPanel *panel)
WMGetPopUpButtonItem(panel->customPaletteHistoryBtn, item )); WMGetPopUpButtonItem(panel->customPaletteHistoryBtn, item ));
text = wstrappend( tmp, ".\n\nAre you sure you want to remove this" text = wstrappend( tmp, ".\n\nAre you sure you want to remove this"
" palette ?"); " palette ?");
free(tmp); wfree(tmp);
choice = WMRunAlertPanel(scr, panel->win, NULL, text, "Yes", "No", NULL); choice = WMRunAlertPanel(scr, panel->win, NULL, text, "Yes", "No", NULL);
/* returns 0 (= "Yes") or 1 (="No") */ /* returns 0 (= "Yes") or 1 (="No") */
free(text); wfree(text);
if (choice == 0) { if (choice == 0) {
@@ -3205,7 +3205,7 @@ customPaletteMenuRemove(W_ColorPanel *panel)
if ( remove(tmp) != 0) if ( remove(tmp) != 0)
wsyserror("Couldn't remove palette %s\n", tmp); wsyserror("Couldn't remove palette %s\n", tmp);
free(tmp); wfree(tmp);
/* item -1 always exists */ /* item -1 always exists */
WMSetPopUpButtonSelectedItem(panel->customPaletteHistoryBtn, item-1); WMSetPopUpButtonSelectedItem(panel->customPaletteHistoryBtn, item-1);
@@ -3249,7 +3249,7 @@ customPaletteHistoryCallback(WMWidget *w, void *data)
} }
panel->customPaletteImg = tmp; panel->customPaletteImg = tmp;
} }
free(filename); wfree(filename);
} }
customSetPalette(panel); customSetPalette(panel);
@@ -3484,10 +3484,10 @@ fetchFile(char *toPath, char *srcFile, char *destFile)
if ((dest = open( tmp, O_RDWR|O_CREAT, S_IRUSR|S_IWUSR|S_IRGRP|S_IROTH)) if ((dest = open( tmp, O_RDWR|O_CREAT, S_IRUSR|S_IWUSR|S_IRGRP|S_IROTH))
== 0) { == 0) {
wsyserror("Could not create %s", tmp); wsyserror("Could not create %s", tmp);
free(tmp); wfree(tmp);
return -1; return -1;
} }
free(tmp); wfree(tmp);
/* Copy the file */ /* Copy the file */

View File

@@ -129,7 +129,7 @@ WMCreateColorWell(WMWidget *parent)
cPtr->view = W_CreateView(W_VIEW(parent)); cPtr->view = W_CreateView(W_VIEW(parent));
if (!cPtr->view) { if (!cPtr->view) {
free(cPtr); wfree(cPtr);
return NULL; return NULL;
} }
cPtr->view->self = cPtr; cPtr->view->self = cPtr;
@@ -139,7 +139,7 @@ WMCreateColorWell(WMWidget *parent)
cPtr->colorView = W_CreateView(cPtr->view); cPtr->colorView = W_CreateView(cPtr->view);
if (!cPtr->colorView) { if (!cPtr->colorView) {
W_DestroyView(cPtr->view); W_DestroyView(cPtr->view);
free(cPtr); wfree(cPtr);
return NULL; return NULL;
} }
cPtr->colorView->self = cPtr; cPtr->colorView->self = cPtr;
@@ -480,6 +480,6 @@ destroyColorWell(ColorWell *cPtr)
if (cPtr->color) if (cPtr->color)
WMReleaseColor(cPtr->color); WMReleaseColor(cPtr->color);
free(cPtr); wfree(cPtr);
} }

View File

@@ -181,13 +181,13 @@ WMDeleteTimerWithClientData(void *cdata)
tmp = timerHandler; tmp = timerHandler;
if (tmp->clientData==cdata) { if (tmp->clientData==cdata) {
timerHandler = tmp->next; timerHandler = tmp->next;
free(tmp); wfree(tmp);
} else { } else {
while (tmp->next) { while (tmp->next) {
if (tmp->next->clientData==cdata) { if (tmp->next->clientData==cdata) {
handler = tmp->next; handler = tmp->next;
tmp->next = handler->next; tmp->next = handler->next;
free(handler); wfree(handler);
break; break;
} }
tmp = tmp->next; tmp = tmp->next;
@@ -208,12 +208,12 @@ WMDeleteTimerHandler(WMHandlerID handlerID)
tmp = timerHandler; tmp = timerHandler;
if (tmp==handler) { if (tmp==handler) {
timerHandler = handler->next; timerHandler = handler->next;
free(handler); wfree(handler);
} else { } else {
while (tmp->next) { while (tmp->next) {
if (tmp->next==handler) { if (tmp->next==handler) {
tmp->next=handler->next; tmp->next=handler->next;
free(handler); wfree(handler);
break; break;
} }
tmp = tmp->next; tmp = tmp->next;
@@ -262,12 +262,12 @@ WMDeleteIdleHandler(WMHandlerID handlerID)
tmp = idleHandler; tmp = idleHandler;
if (tmp == handler) { if (tmp == handler) {
idleHandler = handler->next; idleHandler = handler->next;
free(handler); wfree(handler);
} else { } else {
while (tmp->next) { while (tmp->next) {
if (tmp->next == handler) { if (tmp->next == handler) {
tmp->next = handler->next; tmp->next = handler->next;
free(handler); wfree(handler);
break; break;
} }
tmp = tmp->next; tmp = tmp->next;
@@ -308,12 +308,12 @@ WMDeleteInputHandler(WMHandlerID handlerID)
tmp = inputHandler; tmp = inputHandler;
if (tmp == handler) { if (tmp == handler) {
inputHandler = handler->next; inputHandler = handler->next;
free(handler); wfree(handler);
} else { } else {
while (tmp->next) { while (tmp->next) {
if (tmp->next == handler) { if (tmp->next == handler) {
tmp->next = handler->next; tmp->next = handler->next;
free(handler); wfree(handler);
break; break;
} }
tmp = tmp->next; tmp = tmp->next;
@@ -341,7 +341,7 @@ checkIdleHandlers()
tmp = handler->next; tmp = handler->next;
(*handler->callback)(handler->clientData); (*handler->callback)(handler->clientData);
/* remove the handler */ /* remove the handler */
free(handler); wfree(handler);
handler = tmp; handler = tmp;
} }
@@ -363,7 +363,7 @@ checkTimerHandlers()
timerHandler = timerHandler->next; timerHandler = timerHandler->next;
handler->next = NULL; handler->next = NULL;
(*handler->callback)(handler->clientData); (*handler->callback)(handler->clientData);
free(handler); wfree(handler);
} }
W_FlushASAPNotificationQueue(); W_FlushASAPNotificationQueue();
@@ -484,7 +484,7 @@ WMDeleteEventHandler(WMView *view, unsigned long mask, WMEventProc *eventProc,
} else { } else {
pptr->nextHandler = handler->nextHandler; pptr->nextHandler = handler->nextHandler;
} }
free(handler); wfree(handler);
} }
@@ -498,7 +498,7 @@ W_CleanUpEvents(WMView *view)
while (ptr!=NULL) { while (ptr!=NULL) {
nptr = ptr->nextHandler; nptr = ptr->nextHandler;
free(ptr); wfree(ptr);
ptr = nptr; ptr = nptr;
} }
} }
@@ -809,7 +809,7 @@ W_WaitForEvent(Display *dpy, unsigned long xeventmask)
} }
retval = fds[0].revents & (POLLIN|POLLRDNORM|POLLRDBAND|POLLPRI); retval = fds[0].revents & (POLLIN|POLLRDNORM|POLLRDBAND|POLLPRI);
free(fds); wfree(fds);
W_FlushASAPNotificationQueue(); W_FlushASAPNotificationQueue();

View File

@@ -164,7 +164,7 @@ textChangedObserver(void *observerData, WMNotification *notification)
} }
} }
free(text); wfree(text);
} }
@@ -366,7 +366,7 @@ WMFreeFilePanel(WMFilePanel *panel)
WMRemoveNotificationObserver(panel); WMRemoveNotificationObserver(panel);
WMUnmapWidget(panel->win); WMUnmapWidget(panel->win);
WMDestroyWidget(panel->win); WMDestroyWidget(panel->win);
free(panel); wfree(panel);
} }
@@ -601,7 +601,7 @@ fillColumn(WMBrowserDelegate *self, WMBrowser *bPtr, int column, WMList *list)
panel = WMGetHangedData(bPtr); panel = WMGetHangedData(bPtr);
listDirectoryOnColumn(panel, column, path); listDirectoryOnColumn(panel, column, path);
free(path); wfree(path);
} }
@@ -637,7 +637,7 @@ showError(WMScreen *scr, WMWindow *owner, char *s, char *file)
errStr = wstrdup(s); errStr = wstrdup(s);
} }
WMRunAlertPanel(scr, owner, "Error", errStr, "OK", NULL, NULL); WMRunAlertPanel(scr, owner, "Error", errStr, "OK", NULL, NULL);
free(errStr); wfree(errStr);
} }
@@ -717,9 +717,9 @@ createDir(WMButton *bPre, WMFilePanel *panel)
} }
else WMSetFilePanelDirectory(panel, file); else WMSetFilePanelDirectory(panel, file);
free(directory_name); wfree(directory_name);
free(directory); wfree(directory);
free(file); wfree(file);
} }
@@ -759,7 +759,7 @@ deleteFile(WMButton *bPre, WMFilePanel *panel)
default: default:
showError(scr, panel->win, "Can not delete '%s'.", file); showError(scr, panel->win, "Can not delete '%s'.", file);
} }
free(file); wfree(file);
return; return;
} else if (S_ISDIR(filestat.st_mode)) { } else if (S_ISDIR(filestat.st_mode)) {
buffer = wmalloc(strlen(file)+20); buffer = wmalloc(strlen(file)+20);
@@ -822,8 +822,8 @@ deleteFile(WMButton *bPre, WMFilePanel *panel)
WMSetFilePanelDirectory(panel, file); WMSetFilePanelDirectory(panel, file);
} }
} }
free(buffer); wfree(buffer);
free(file); wfree(file);
} }
static void static void
@@ -924,8 +924,8 @@ getCurrentFileName(WMFilePanel *panel)
} else } else
strcpy(tmp, file); strcpy(tmp, file);
free(file); wfree(file);
free(path); wfree(path);
return tmp; return tmp;
} else { } else {
return path; return path;
@@ -943,7 +943,7 @@ validOpenFile(WMFilePanel *panel)
if (file[0] != '\0') if (file[0] != '\0')
haveFile = 1; haveFile = 1;
free(file); wfree(file);
col = WMGetBrowserSelectedColumn(panel->browser); col = WMGetBrowserSelectedColumn(panel->browser);
item = WMGetBrowserSelectedItemInColumn(panel->browser, col); item = WMGetBrowserSelectedItemInColumn(panel->browser, col);
@@ -982,10 +982,10 @@ buttonClick(WMButton *bPtr, WMFilePanel *panel)
WMRunAlertPanel(WMWidgetScreen(panel->win), panel->win, WMRunAlertPanel(WMWidgetScreen(panel->win), panel->win,
"Error", "File does not exist.", "Error", "File does not exist.",
"Ok", NULL, NULL); "Ok", NULL, NULL);
free(file); wfree(file);
return; return;
} }
free(file); wfree(file);
} }
panel->flags.canceled = 0; panel->flags.canceled = 0;
} else } else

View File

@@ -49,7 +49,7 @@ WMCreateFontSet(WMScreen *scrPtr, char *fontName)
defaultString); defaultString);
} }
if (!font->font.set) { if (!font->font.set) {
free(font); wfree(font);
return NULL; return NULL;
} }
@@ -87,13 +87,13 @@ WMCreateNormalFont(WMScreen *scrPtr, char *fontName)
font = WMHashGet(scrPtr->fontCache, fname); font = WMHashGet(scrPtr->fontCache, fname);
if (font) { if (font) {
WMRetainFont(font); WMRetainFont(font);
free(fname); wfree(fname);
return font; return font;
} }
font = malloc(sizeof(WMFont)); font = malloc(sizeof(WMFont));
if (!font) { if (!font) {
free(fname); wfree(fname);
return NULL; return NULL;
} }
memset(font, 0, sizeof(WMFont)); memset(font, 0, sizeof(WMFont));
@@ -104,7 +104,7 @@ WMCreateNormalFont(WMScreen *scrPtr, char *fontName)
font->font.normal = XLoadQueryFont(display, fname); font->font.normal = XLoadQueryFont(display, fname);
if (!font->font.normal) { if (!font->font.normal) {
free(font); wfree(font);
return NULL; return NULL;
} }
@@ -158,9 +158,9 @@ WMReleaseFont(WMFont *font)
} }
if (font->name) { if (font->name) {
WMHashRemove(font->screen->fontCache, font->name); WMHashRemove(font->screen->fontCache, font->name);
free(font->name); wfree(font->name);
} }
free(font); wfree(font);
} }
} }
@@ -202,11 +202,11 @@ WMSystemFontOfSize(WMScreen *scrPtr, int size)
} }
if (!font) { if (!font) {
wwarning("could not load fixed font!"); wwarning("could not load fixed font!");
free(fontSpec); wfree(fontSpec);
return NULL; return NULL;
} }
} }
free(fontSpec); wfree(fontSpec);
return font; return font;
} }
@@ -238,11 +238,11 @@ WMBoldSystemFontOfSize(WMScreen *scrPtr, int size)
} }
if (!font) { if (!font) {
wwarning("could not load fixed font!"); wwarning("could not load fixed font!");
free(fontSpec); wfree(fontSpec);
return NULL; return NULL;
} }
} }
free(fontSpec); wfree(fontSpec);
return font; return font;
} }
@@ -354,7 +354,7 @@ makeFontSetOfSize(char *fontset, int size)
} }
if (newfs) if (newfs)
free(newfs); wfree(newfs);
newfs = tmp; newfs = tmp;
fontset = ptr+1; fontset = ptr+1;

View File

@@ -137,6 +137,16 @@ notificationObserver(void *self, WMNotification *notif)
} }
static void
closeWindow(WMWidget *w, void *data)
{
FontPanel *panel = (FontPanel*)data;
WMHideFontPanel(panel);
}
WMFontPanel* WMFontPanel*
WMGetFontPanel(WMScreen *scr) WMGetFontPanel(WMScreen *scr)
{ {
@@ -158,6 +168,8 @@ WMGetFontPanel(WMScreen *scr)
WMSetWindowMinSize(panel->win, MIN_WIDTH, MIN_HEIGHT); WMSetWindowMinSize(panel->win, MIN_WIDTH, MIN_HEIGHT);
WMSetViewNotifySizeChanges(WMWidgetView(panel->win), True); WMSetViewNotifySizeChanges(WMWidgetView(panel->win), True);
WMSetWindowCloseAction(panel->win, closeWindow, panel);
panel->split = WMCreateSplitView(panel->win); panel->split = WMCreateSplitView(panel->win);
WMResizeWidget(panel->split, DEF_WIDTH, DEF_HEIGHT - BUTTON_SPACE_HEIGHT); WMResizeWidget(panel->split, DEF_WIDTH, DEF_HEIGHT - BUTTON_SPACE_HEIGHT);
WMSetSplitViewConstrainProc(panel->split, splitViewConstrainCallback); WMSetSplitViewConstrainProc(panel->split, splitViewConstrainCallback);
@@ -283,7 +295,7 @@ WMFreeFontPanel(WMFontPanel *panel)
WMRemoveNotificationObserver(panel); WMRemoveNotificationObserver(panel);
WMUnmapWidget(panel->win); WMUnmapWidget(panel->win);
WMDestroyWidget(panel->win); WMDestroyWidget(panel->win);
free(panel); wfree(panel);
} }
@@ -887,7 +899,7 @@ familyClick(WMWidget *w, void *data)
if (oface) { if (oface) {
facei = WMFindRowOfListItemWithTitle(panel->typLs, oface); facei = WMFindRowOfListItemWithTitle(panel->typLs, oface);
free(oface); wfree(oface);
} }
if (facei < 0) { if (facei < 0) {
facei = 0; facei = 0;
@@ -904,7 +916,7 @@ familyClick(WMWidget *w, void *data)
} }
if (osize) if (osize)
free(osize); wfree(osize);
preview(panel); preview(panel);
@@ -957,7 +969,7 @@ typefaceClick(WMWidget *w, void *data)
sizeClick(panel->sizLs, panel); sizeClick(panel->sizLs, panel);
if (osize) if (osize)
free(osize); wfree(osize);
preview(panel); preview(panel);
} }

View File

@@ -53,7 +53,7 @@ void
WMSetFrameTitle(WMFrame *fPtr, char *title) WMSetFrameTitle(WMFrame *fPtr, char *title)
{ {
if (fPtr->caption) if (fPtr->caption)
free(fPtr->caption); wfree(fPtr->caption);
if (title) if (title)
fPtr->caption = wstrdup(title); fPtr->caption = wstrdup(title);
else else
@@ -187,7 +187,7 @@ WMCreateFrame(WMWidget *parent)
fPtr->view = W_CreateView(W_VIEW(parent)); fPtr->view = W_CreateView(W_VIEW(parent));
if (!fPtr->view) { if (!fPtr->view) {
free(fPtr); wfree(fPtr);
return NULL; return NULL;
} }
fPtr->view->self = fPtr; fPtr->view->self = fPtr;
@@ -209,7 +209,7 @@ static void
destroyFrame(Frame *fPtr) destroyFrame(Frame *fPtr)
{ {
if (fPtr->caption) if (fPtr->caption)
free(fPtr->caption); wfree(fPtr->caption);
free(fPtr); wfree(fPtr);
} }

View File

@@ -55,7 +55,7 @@ WMCreateLabel(WMWidget *parent)
lPtr->view = W_CreateView(W_VIEW(parent)); lPtr->view = W_CreateView(W_VIEW(parent));
if (!lPtr->view) { if (!lPtr->view) {
free(lPtr); wfree(lPtr);
return NULL; return NULL;
} }
lPtr->view->self = lPtr; lPtr->view->self = lPtr;
@@ -132,7 +132,7 @@ void
WMSetLabelText(WMLabel *lPtr, char *text) WMSetLabelText(WMLabel *lPtr, char *text)
{ {
if (lPtr->caption) if (lPtr->caption)
free(lPtr->caption); wfree(lPtr->caption);
if (text!=NULL) { if (text!=NULL) {
lPtr->caption = wstrdup(text); lPtr->caption = wstrdup(text);
@@ -230,7 +230,7 @@ destroyLabel(Label *lPtr)
WMReleaseColor(lPtr->textColor); WMReleaseColor(lPtr->textColor);
if (lPtr->caption) if (lPtr->caption)
free(lPtr->caption); wfree(lPtr->caption);
if (lPtr->font) if (lPtr->font)
WMReleaseFont(lPtr->font); WMReleaseFont(lPtr->font);
@@ -238,5 +238,5 @@ destroyLabel(Label *lPtr)
if (lPtr->image) if (lPtr->image)
WMReleasePixmap(lPtr->image); WMReleasePixmap(lPtr->image);
free(lPtr); wfree(lPtr);
} }

View File

@@ -91,7 +91,7 @@ WMCreateList(WMWidget *parent)
lPtr->view = W_CreateView(W_VIEW(parent)); lPtr->view = W_CreateView(W_VIEW(parent));
if (!lPtr->view) { if (!lPtr->view) {
free(lPtr); wfree(lPtr);
return NULL; return NULL;
} }
lPtr->view->self = lPtr; lPtr->view->self = lPtr;
@@ -173,10 +173,6 @@ WMInsertListItem(WMList *lPtr, int row, char *text)
WMInsertInBag(lPtr->items, row, item); WMInsertInBag(lPtr->items, row, item);
if (row < lPtr->fullFitLines+lPtr->flags.dontFitAll-lPtr->topItem) {
paintList(lPtr);
}
/* update the scroller when idle, so that we don't waste time /* update the scroller when idle, so that we don't waste time
* updating it when another item is going to be added later */ * updating it when another item is going to be added later */
if (!lPtr->idleID) { if (!lPtr->idleID) {
@@ -213,8 +209,8 @@ WMRemoveListItem(WMList *lPtr, int row)
item = WMGetFromBag(lPtr->items, row); item = WMGetFromBag(lPtr->items, row);
if (item->text) if (item->text)
free(item->text); wfree(item->text);
free(item); wfree(item);
WMDeleteFromBag(lPtr->items, row); WMDeleteFromBag(lPtr->items, row);
@@ -274,8 +270,8 @@ WMClearList(WMList *lPtr)
for (i = 0; i < WMGetBagItemCount(lPtr->items); i++) { for (i = 0; i < WMGetBagItemCount(lPtr->items); i++) {
item = WMGetFromBag(lPtr->items, i); item = WMGetFromBag(lPtr->items, i);
free(item->text); wfree(item->text);
free(item); wfree(item);
} }
WMEmptyBag(lPtr->items); WMEmptyBag(lPtr->items);
@@ -791,10 +787,10 @@ destroyList(List *lPtr)
for (i = 0; i < WMGetBagItemCount(lPtr->items); i++) { for (i = 0; i < WMGetBagItemCount(lPtr->items); i++) {
item = WMGetFromBag(lPtr->items, i); item = WMGetFromBag(lPtr->items, i);
free(item->text); wfree(item->text);
free(item); wfree(item);
} }
WMFreeBag(lPtr->items); WMFreeBag(lPtr->items);
free(lPtr); wfree(lPtr);
} }

View File

@@ -77,7 +77,7 @@ WMDestroyAlertPanel(WMAlertPanel *panel)
{ {
WMUnmapWidget(panel->win); WMUnmapWidget(panel->win);
WMDestroyWidget(panel->win); WMDestroyWidget(panel->win);
free(panel); wfree(panel);
} }
@@ -293,7 +293,7 @@ WMDestroyInputPanel(WMInputPanel *panel)
WMRemoveNotificationObserver(panel); WMRemoveNotificationObserver(panel);
WMUnmapWidget(panel->win); WMUnmapWidget(panel->win);
WMDestroyWidget(panel->win); WMDestroyWidget(panel->win);
free(panel); wfree(panel);
} }

View File

@@ -26,7 +26,7 @@ WMReleasePixmap(WMPixmap *pixmap)
XFreePixmap(pixmap->screen->display, pixmap->pixmap); XFreePixmap(pixmap->screen->display, pixmap->pixmap);
if (pixmap->mask) if (pixmap->mask)
XFreePixmap(pixmap->screen->display, pixmap->mask); XFreePixmap(pixmap->screen->display, pixmap->mask);
free(pixmap); wfree(pixmap);
} }
} }

View File

@@ -83,7 +83,7 @@ WMCreatePopUpButton(WMWidget *parent)
bPtr->view = W_CreateView(W_VIEW(parent)); bPtr->view = W_CreateView(W_VIEW(parent));
if (!bPtr->view) { if (!bPtr->view) {
free(bPtr); wfree(bPtr);
return NULL; return NULL;
} }
bPtr->view->self = bPtr; bPtr->view->self = bPtr;
@@ -211,9 +211,9 @@ WMRemovePopUpButtonItem(WMPopUpButton *bPtr, int index)
if (index == 0) { if (index == 0) {
free(bPtr->items->text); wfree(bPtr->items->text);
tmp = bPtr->items->nextPtr; tmp = bPtr->items->nextPtr;
free(bPtr->items); wfree(bPtr->items);
bPtr->items = tmp; bPtr->items = tmp;
} else { } else {
ItemList *next; ItemList *next;
@@ -224,8 +224,8 @@ WMRemovePopUpButtonItem(WMPopUpButton *bPtr, int index)
tmp = tmp->nextPtr; tmp = tmp->nextPtr;
next = tmp->nextPtr->nextPtr; next = tmp->nextPtr->nextPtr;
free(tmp->nextPtr->text); wfree(tmp->nextPtr->text);
free(tmp->nextPtr); wfree(tmp->nextPtr);
tmp->nextPtr = next; tmp->nextPtr = next;
} }
@@ -303,7 +303,7 @@ void
WMSetPopUpButtonText(WMPopUpButton *bPtr, char *text) WMSetPopUpButtonText(WMPopUpButton *bPtr, char *text)
{ {
if (bPtr->caption) if (bPtr->caption)
free(bPtr->caption); wfree(bPtr->caption);
if (text) if (text)
bPtr->caption = wstrdup(text); bPtr->caption = wstrdup(text);
else else
@@ -823,17 +823,17 @@ destroyPopUpButton(PopUpButton *bPtr)
itemPtr = bPtr->items; itemPtr = bPtr->items;
while (itemPtr!=NULL) { while (itemPtr!=NULL) {
free(itemPtr->text); wfree(itemPtr->text);
tmp = itemPtr->nextPtr; tmp = itemPtr->nextPtr;
free(itemPtr); wfree(itemPtr);
itemPtr = tmp; itemPtr = tmp;
} }
if (bPtr->caption) if (bPtr->caption)
free(bPtr->caption); wfree(bPtr->caption);
/* have to destroy explicitly because the popup is a toplevel */ /* have to destroy explicitly because the popup is a toplevel */
W_DestroyView(bPtr->menuView); W_DestroyView(bPtr->menuView);
free(bPtr); wfree(bPtr);
} }

View File

@@ -62,7 +62,7 @@ WMProgressIndicator*
pPtr->view = W_CreateView(W_VIEW(parent)); pPtr->view = W_CreateView(W_VIEW(parent));
if (!pPtr->view) { if (!pPtr->view) {
free(pPtr); wfree(pPtr);
return NULL; return NULL;
} }
@@ -293,6 +293,6 @@ destroyProgressIndicator(ProgressIndicator *pPtr)
{ {
WMRemoveNotificationObserver(pPtr); WMRemoveNotificationObserver(pPtr);
free(pPtr); wfree(pPtr);
} }

View File

@@ -97,7 +97,7 @@ WMCreateScroller(WMWidget *parent)
sPtr->view = W_CreateView(W_VIEW(parent)); sPtr->view = W_CreateView(W_VIEW(parent));
if (!sPtr->view) { if (!sPtr->view) {
free(sPtr); wfree(sPtr);
return NULL; return NULL;
} }
sPtr->view->self = sPtr; sPtr->view->self = sPtr;
@@ -864,6 +864,6 @@ destroyScroller(Scroller *sPtr)
WMDeleteTimerHandler(sPtr->timerID); WMDeleteTimerHandler(sPtr->timerID);
} }
free(sPtr); wfree(sPtr);
} }

View File

@@ -60,13 +60,13 @@ WMCreateScrollView(WMWidget *parent)
sPtr->view = W_CreateView(W_VIEW(parent)); sPtr->view = W_CreateView(W_VIEW(parent));
if (!sPtr->view) { if (!sPtr->view) {
free(sPtr); wfree(sPtr);
return NULL; return NULL;
} }
sPtr->viewport = W_CreateView(sPtr->view); sPtr->viewport = W_CreateView(sPtr->view);
if (!sPtr->view) { if (!sPtr->view) {
W_DestroyView(sPtr->view); W_DestroyView(sPtr->view);
free(sPtr); wfree(sPtr);
return NULL; return NULL;
} }
sPtr->view->self = sPtr; sPtr->view->self = sPtr;
@@ -499,6 +499,6 @@ destroyScrollView(ScrollView *sPtr)
{ {
free(sPtr); wfree(sPtr);
} }

View File

@@ -79,7 +79,7 @@ WMCreateSlider(WMWidget *parent)
sPtr->view = W_CreateView(W_VIEW(parent)); sPtr->view = W_CreateView(W_VIEW(parent));
if (!sPtr->view) { if (!sPtr->view) {
free(sPtr); wfree(sPtr);
return NULL; return NULL;
} }
sPtr->view->self = sPtr; sPtr->view->self = sPtr;
@@ -550,6 +550,6 @@ destroySlider(Slider *sPtr)
WMRemoveNotificationObserver(sPtr); WMRemoveNotificationObserver(sPtr);
free(sPtr); wfree(sPtr);
} }

View File

@@ -101,7 +101,7 @@ WMCreateSplitView(WMWidget *parent)
sPtr->view = W_CreateView(W_VIEW(parent)); sPtr->view = W_CreateView(W_VIEW(parent));
if (!sPtr->view) { if (!sPtr->view) {
free(sPtr); wfree(sPtr);
return NULL; return NULL;
} }
sPtr->view->self = sPtr; sPtr->view->self = sPtr;
@@ -389,6 +389,6 @@ destroySplitView(SplitView *sPtr)
{ {
WMRemoveNotificationObserver(sPtr); WMRemoveNotificationObserver(sPtr);
free(sPtr); wfree(sPtr);
} }

View File

@@ -101,7 +101,7 @@ WMCreateTabView(WMWidget *parent)
tPtr->view = W_CreateView(W_VIEW(parent)); tPtr->view = W_CreateView(W_VIEW(parent));
if (!tPtr->view) { if (!tPtr->view) {
free(tPtr); wfree(tPtr);
return NULL; return NULL;
} }
tPtr->view->self = tPtr; tPtr->view->self = tPtr;
@@ -529,13 +529,13 @@ destroyTabView(TabView *tPtr)
WMSetTabViewItemView(tPtr->items[i], NULL); WMSetTabViewItemView(tPtr->items[i], NULL);
WMDestroyTabViewItem(tPtr->items[i]); WMDestroyTabViewItem(tPtr->items[i]);
} }
free(tPtr->items); wfree(tPtr->items);
WMReleaseColor(tPtr->lightGray); WMReleaseColor(tPtr->lightGray);
WMReleaseColor(tPtr->tabColor); WMReleaseColor(tPtr->tabColor);
WMReleaseFont(tPtr->font); WMReleaseFont(tPtr->font);
free(tPtr); wfree(tPtr);
} }
/******************************************************************/ /******************************************************************/
@@ -642,7 +642,7 @@ void
WMSetTabViewItemLabel(WMTabViewItem *item, char *label) WMSetTabViewItemLabel(WMTabViewItem *item, char *label)
{ {
if (item->label) if (item->label)
free(item->label); wfree(item->label);
item->label = wstrdup(label); item->label = wstrdup(label);
@@ -676,10 +676,10 @@ void
WMDestroyTabViewItem(WMTabViewItem *item) WMDestroyTabViewItem(WMTabViewItem *item)
{ {
if (item->label) if (item->label)
free(item->label); wfree(item->label);
if (item->view) if (item->view)
W_DestroyView(item->view); W_DestroyView(item->view);
free(item); wfree(item);
} }

View File

@@ -291,7 +291,7 @@ WMCreateTextField(WMWidget *parent)
tPtr->view = W_CreateView(W_VIEW(parent)); tPtr->view = W_CreateView(W_VIEW(parent));
if (!tPtr->view) { if (!tPtr->view) {
free(tPtr); wfree(tPtr);
return NULL; return NULL;
} }
tPtr->view->self = tPtr; tPtr->view->self = tPtr;
@@ -362,7 +362,7 @@ WMInsertTextFieldText(WMTextField *tPtr, char *text, int position)
/* check if buffer will hold the text */ /* check if buffer will hold the text */
if (len + tPtr->textLen >= tPtr->bufferSize) { if (len + tPtr->textLen >= tPtr->bufferSize) {
tPtr->bufferSize = tPtr->textLen + len + TEXT_BUFFER_INCR; tPtr->bufferSize = tPtr->textLen + len + TEXT_BUFFER_INCR;
tPtr->text = realloc(tPtr->text, tPtr->bufferSize); tPtr->text = wrealloc(tPtr->text, tPtr->bufferSize);
} }
if (position < 0 || position >= tPtr->textLen) { if (position < 0 || position >= tPtr->textLen) {
@@ -446,7 +446,7 @@ WMSetTextFieldText(WMTextField *tPtr, char *text)
if (tPtr->textLen >= tPtr->bufferSize) { if (tPtr->textLen >= tPtr->bufferSize) {
tPtr->bufferSize = tPtr->textLen + TEXT_BUFFER_INCR; tPtr->bufferSize = tPtr->textLen + TEXT_BUFFER_INCR;
tPtr->text = realloc(tPtr->text, tPtr->bufferSize); tPtr->text = wrealloc(tPtr->text, tPtr->bufferSize);
} }
strcpy(tPtr->text, text); strcpy(tPtr->text, text);
} }
@@ -718,7 +718,7 @@ paintCursor(TextField *tPtr)
tPtr->view->size.height - tPtr->offsetWidth - 1); tPtr->view->size.height - tPtr->offsetWidth - 1);
if (tPtr->flags.secure) if (tPtr->flags.secure)
free(text); wfree(text);
} }
@@ -882,7 +882,7 @@ paintTextField(TextField *tPtr)
} }
if (tPtr->flags.secure) if (tPtr->flags.secure)
free(text); wfree(text);
XCopyArea(screen->display, drawbuffer, view->window, XCopyArea(screen->display, drawbuffer, view->window,
screen->copyGC, 0,0, view->size.width, screen->copyGC, 0,0, view->size.width,
view->size.height,0,0); view->size.height,0,0);
@@ -1437,7 +1437,7 @@ destroyTextField(TextField *tPtr)
WMRemoveNotificationObserver(tPtr); WMRemoveNotificationObserver(tPtr);
if (tPtr->text) if (tPtr->text)
free(tPtr->text); wfree(tPtr->text);
free(tPtr); wfree(tPtr);
} }

View File

@@ -133,13 +133,13 @@ WMDeleteTimerWithClientData(void *cdata)
tmp = timerHandler; tmp = timerHandler;
if (tmp->clientData==cdata) { if (tmp->clientData==cdata) {
timerHandler = tmp->next; timerHandler = tmp->next;
free(tmp); wfree(tmp);
} else { } else {
while (tmp->next) { while (tmp->next) {
if (tmp->next->clientData==cdata) { if (tmp->next->clientData==cdata) {
handler = tmp->next; handler = tmp->next;
tmp->next = handler->next; tmp->next = handler->next;
free(handler); wfree(handler);
break; break;
} }
tmp = tmp->next; tmp = tmp->next;
@@ -160,12 +160,12 @@ WMDeleteTimerHandler(WMHandlerID handlerID)
tmp = timerHandler; tmp = timerHandler;
if (tmp==handler) { if (tmp==handler) {
timerHandler = handler->next; timerHandler = handler->next;
free(handler); wfree(handler);
} else { } else {
while (tmp->next) { while (tmp->next) {
if (tmp->next==handler) { if (tmp->next==handler) {
tmp->next=handler->next; tmp->next=handler->next;
free(handler); wfree(handler);
break; break;
} }
tmp = tmp->next; tmp = tmp->next;
@@ -214,12 +214,12 @@ WMDeleteIdleHandler(WMHandlerID handlerID)
tmp = idleHandler; tmp = idleHandler;
if (tmp == handler) { if (tmp == handler) {
idleHandler = handler->next; idleHandler = handler->next;
free(handler); wfree(handler);
} else { } else {
while (tmp->next) { while (tmp->next) {
if (tmp->next == handler) { if (tmp->next == handler) {
tmp->next = handler->next; tmp->next = handler->next;
free(handler); wfree(handler);
break; break;
} }
tmp = tmp->next; tmp = tmp->next;
@@ -260,12 +260,12 @@ WMDeleteInputHandler(WMHandlerID handlerID)
tmp = inputHandler; tmp = inputHandler;
if (tmp == handler) { if (tmp == handler) {
inputHandler = handler->next; inputHandler = handler->next;
free(handler); wfree(handler);
} else { } else {
while (tmp->next) { while (tmp->next) {
if (tmp->next == handler) { if (tmp->next == handler) {
tmp->next = handler->next; tmp->next = handler->next;
free(handler); wfree(handler);
break; break;
} }
tmp = tmp->next; tmp = tmp->next;
@@ -293,7 +293,7 @@ checkIdleHandlers()
tmp = handler->next; tmp = handler->next;
(*handler->callback)(handler->clientData); (*handler->callback)(handler->clientData);
/* remove the handler */ /* remove the handler */
free(handler); wfree(handler);
handler = tmp; handler = tmp;
} }
@@ -315,7 +315,7 @@ checkTimerHandlers()
timerHandler = timerHandler->next; timerHandler = timerHandler->next;
handler->next = NULL; handler->next = NULL;
(*handler->callback)(handler->clientData); (*handler->callback)(handler->clientData);
free(handler); wfree(handler);
} }
W_FlushASAPNotificationQueue(); W_FlushASAPNotificationQueue();
@@ -453,7 +453,7 @@ handleInputEvents(Bool waitForInput)
} }
} }
free(fds); wfree(fds);
W_FlushASAPNotificationQueue(); W_FlushASAPNotificationQueue();

View File

@@ -370,7 +370,7 @@ destroyView(W_View *view)
if (info) { if (info) {
if (info->toplevel==view) { if (info->toplevel==view) {
view->screen->focusInfo = info->next; view->screen->focusInfo = info->next;
free(info); wfree(info);
} else { } else {
while (info->next) { while (info->next) {
if (info->next->toplevel == view) if (info->next->toplevel == view)
@@ -379,7 +379,7 @@ destroyView(W_View *view)
} }
if (info->next) { if (info->next) {
W_FocusInfo *next = info->next->next; W_FocusInfo *next = info->next->next;
free(info->next); wfree(info->next);
info->next = next; info->next = next;
} }
/* else the toplevel did not have any focused subview */ /* else the toplevel did not have any focused subview */
@@ -416,12 +416,12 @@ destroyView(W_View *view)
W_CleanUpEvents(view); W_CleanUpEvents(view);
#if 0 #if 0
if (view->dragSourceProcs) if (view->dragSourceProcs)
free(view->dragSourceProcs); wfree(view->dragSourceProcs);
if (view->dragDestinationProcs) if (view->dragDestinationProcs)
free(view->dragDestinationProcs); wfree(view->dragDestinationProcs);
#endif #endif
free(view); wfree(view);
} }

View File

@@ -162,7 +162,7 @@ WMCreateWindowWithStyle(WMScreen *screen, char *name, int style)
win->view = W_CreateTopView(screen); win->view = W_CreateTopView(screen);
if (!win->view) { if (!win->view) {
free(win); wfree(win);
return NULL; return NULL;
} }
win->view->self = win; win->view->self = win;
@@ -202,7 +202,7 @@ WMSetWindowTitle(WMWindow *win, char *title)
int result; int result;
if (win->title!=NULL) if (win->title!=NULL)
free(win->title); wfree(win->title);
if (title!=NULL) if (title!=NULL)
win->title = wstrdup(title); win->title = wstrdup(title);
else else
@@ -247,7 +247,7 @@ WMSetWindowCloseAction(WMWindow *win, WMAction *action, void *clientData)
XSetWMProtocols(scr->display, win->view->window, newAtoms, count); XSetWMProtocols(scr->display, win->view->window, newAtoms, count);
if (atoms) if (atoms)
XFree(atoms); XFree(atoms);
free(newAtoms); wfree(newAtoms);
} else if (!action && win->closeAction) { } else if (!action && win->closeAction) {
int i, ncount; int i, ncount;
@@ -265,7 +265,7 @@ WMSetWindowCloseAction(WMWindow *win, WMAction *action, void *clientData)
ncount); ncount);
if (atoms) if (atoms)
XFree(atoms); XFree(atoms);
free(newAtoms); wfree(newAtoms);
} }
} }
} }
@@ -580,7 +580,7 @@ WMSetWindowMiniwindowTitle(WMWindow *win, char *title)
if ((win->miniTitle && !title) || (!win->miniTitle && title) if ((win->miniTitle && !title) || (!win->miniTitle && title)
|| (title && win->miniTitle && strcoll(title, win->miniTitle)!=0)) { || (title && win->miniTitle && strcoll(title, win->miniTitle)!=0)) {
if (win->miniTitle) if (win->miniTitle)
free(win->miniTitle); wfree(win->miniTitle);
if (title) if (title)
win->miniTitle = wstrdup(title); win->miniTitle = wstrdup(title);
@@ -703,11 +703,11 @@ destroyWindow(_Window *win)
} }
if (win->title) { if (win->title) {
free(win->title); wfree(win->title);
} }
if (win->miniTitle) { if (win->miniTitle) {
free(win->miniTitle); wfree(win->miniTitle);
} }
if (win->miniImage) { if (win->miniImage) {
@@ -715,9 +715,9 @@ destroyWindow(_Window *win)
} }
if (win->wname) if (win->wname)
free(win->wname); wfree(win->wname);
free(win); wfree(win);
} }