1
0
mirror of https://github.com/gryf/wmaker.git synced 2025-12-19 04:20:27 +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 */
char *wgethomedir();
void *wmalloc(size_t size);
void *wrealloc(void *ptr, size_t newsize);
void wfree(void *ptr);
void wrelease(void *ptr);
void *wretain(void *ptr);

View File

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

View File

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

View File

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

View File

@@ -31,6 +31,10 @@
#include <assert.h>
#include <signal.h>
#ifdef TEST_WITH_GC
#include <gc/gc.h>
#endif
#ifndef False
# define False 0
#endif
@@ -75,8 +79,12 @@ static WMHashTable *table = NULL;
void *wmalloc(size_t size)
{
void *tmp;
#ifdef TEST_WITH_GC
tmp = GC_malloc(size);
#else
tmp = malloc(size);
#endif
if (tmp == NULL) {
wwarning("malloc() failed. Retrying after 2s.");
sleep(2);
@@ -101,9 +109,17 @@ void *wrealloc(void *ptr, size_t newsize)
void *nptr;
if (!ptr) {
#ifdef TEST_WITH_GC
nptr = GC_malloc(newsize);
#else
nptr = malloc(newsize);
#endif
} else {
#ifdef TEST_WITH_GC
nptr = GC_realloc(ptr, newsize);
#else
nptr=realloc(ptr, newsize);
#endif
}
if (nptr==NULL) {
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
wrelease(void *ptr)
{
@@ -156,8 +185,8 @@ wrelease(void *ptr)
printf("RELEASING %p\n", ptr);
#endif
WMHashRemove(table, ptr);
free(refcount);
free(ptr);
wfree(refcount);
wfree(ptr);
}
#ifdef VERBOSE
else {

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -61,7 +61,7 @@ W_CreateBalloon(WMScreen *scr)
bPtr->view = W_CreateTopView(scr);
if (!bPtr->view) {
free(bPtr);
wfree(bPtr);
return NULL;
}
bPtr->view->self = bPtr;
@@ -110,7 +110,7 @@ WMSetBalloonTextForView(char *text, WMView *view)
}
if (oldText) {
free(oldText);
wfree(oldText);
}
}
@@ -466,7 +466,7 @@ destroyBalloon(Balloon *bPtr)
e = WMEnumerateHashTable(bPtr->table);
while ((str = WMNextHashEnumeratorItem(&e))) {
free(str);
wfree(str);
}
WMFreeHashTable(bPtr->table);
@@ -476,5 +476,5 @@ destroyBalloon(Balloon *bPtr)
if (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));
if (!bPtr->view) {
free(bPtr);
wfree(bPtr);
return NULL;
}
bPtr->view->self = bPtr;
@@ -225,7 +225,7 @@ void
WMSetBrowserPathSeparator(WMBrowser *bPtr, char *separator)
{
if (bPtr->pathSeparator)
free(bPtr->pathSeparator);
wfree(bPtr->pathSeparator);
bPtr->pathSeparator = wstrdup(separator);
}
@@ -319,14 +319,14 @@ removeColumn(WMBrowser *bPtr, int column)
}
for (i=column; i < clearEnd; i++) {
if (bPtr->titles[i]) {
free(bPtr->titles[i]);
wfree(bPtr->titles[i]);
bPtr->titles[i] = NULL;
}
WMClearList(bPtr->columns[i]);
}
for (;i < destroyEnd; i++) {
if (bPtr->titles[i]) {
free(bPtr->titles[i]);
wfree(bPtr->titles[i]);
bPtr->titles[i] = NULL;
}
WMRemoveNotificationObserverWithName(bPtr,
@@ -339,8 +339,8 @@ removeColumn(WMBrowser *bPtr, int column)
tlist = wmalloc(sizeof(char*) * (bPtr->columnCount));
memcpy(clist, bPtr->columns, sizeof(WMList*) * (bPtr->columnCount));
memcpy(tlist, bPtr->titles, sizeof(char*) * (bPtr->columnCount));
free(bPtr->titles);
free(bPtr->columns);
wfree(bPtr->titles);
wfree(bPtr->columns);
bPtr->titles = tlist;
bPtr->columns = clist;
}
@@ -382,7 +382,7 @@ WMSetBrowserColumnTitle(WMBrowser *bPtr, int column, char *title)
assert(column < bPtr->usedColumnCount);
if (bPtr->titles[column])
free(bPtr->titles[column]);
wfree(bPtr->titles[column]);
bPtr->titles[column] = wstrdup(title);
@@ -532,7 +532,7 @@ paintItem(WMList *lPtr, int index, Drawable d, char *text, int state,
text, &textLen, widthC);
W_PaintText(view, d, scr->normalFont, x+4, y, widthC,
WALeft, WMColorGC(scr->black), False, textBuf, textLen);
free(textBuf);
wfree(textBuf);
} else {
W_PaintText(view, d, scr->normalFont, x+4, y, widthC,
WALeft, WMColorGC(scr->black), False, text, textLen);
@@ -713,7 +713,7 @@ WMSetBrowserPath(WMBrowser *bPtr, char *path)
i++;
}
free(str);
wfree(str);
for (i = bPtr->usedColumnCount - 1;
(i > -1) && !WMGetListSelectedItem(bPtr->columns[i]);
@@ -801,7 +801,7 @@ loadColumn(WMBrowser *bPtr, int column)
title = (*bPtr->delegate->titleOfColumn)(bPtr->delegate, bPtr, column);
if (bPtr->titles[column])
free(bPtr->titles[column]);
wfree(bPtr->titles[column]);
bPtr->titles[column] = wstrdup(title);
@@ -1071,9 +1071,9 @@ WMAddBrowserColumn(WMBrowser *bPtr)
memcpy(clist, bPtr->columns, sizeof(WMList*)*(bPtr->columnCount-1));
memcpy(tlist, bPtr->titles, sizeof(char*)*(bPtr->columnCount-1));
if (bPtr->columns)
free(bPtr->columns);
wfree(bPtr->columns);
if (bPtr->titles)
free(bPtr->titles);
wfree(bPtr->titles);
bPtr->columns = clist;
bPtr->titles = tlist;
@@ -1115,15 +1115,15 @@ destroyBrowser(WMBrowser *bPtr)
for (i = 0; i < bPtr->columnCount; 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);
free(bPtr);
wfree(bPtr);
}

View File

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

View File

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

View File

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

View File

@@ -181,13 +181,13 @@ WMDeleteTimerWithClientData(void *cdata)
tmp = timerHandler;
if (tmp->clientData==cdata) {
timerHandler = tmp->next;
free(tmp);
wfree(tmp);
} else {
while (tmp->next) {
if (tmp->next->clientData==cdata) {
handler = tmp->next;
tmp->next = handler->next;
free(handler);
wfree(handler);
break;
}
tmp = tmp->next;
@@ -208,12 +208,12 @@ WMDeleteTimerHandler(WMHandlerID handlerID)
tmp = timerHandler;
if (tmp==handler) {
timerHandler = handler->next;
free(handler);
wfree(handler);
} else {
while (tmp->next) {
if (tmp->next==handler) {
tmp->next=handler->next;
free(handler);
wfree(handler);
break;
}
tmp = tmp->next;
@@ -262,12 +262,12 @@ WMDeleteIdleHandler(WMHandlerID handlerID)
tmp = idleHandler;
if (tmp == handler) {
idleHandler = handler->next;
free(handler);
wfree(handler);
} else {
while (tmp->next) {
if (tmp->next == handler) {
tmp->next = handler->next;
free(handler);
wfree(handler);
break;
}
tmp = tmp->next;
@@ -308,12 +308,12 @@ WMDeleteInputHandler(WMHandlerID handlerID)
tmp = inputHandler;
if (tmp == handler) {
inputHandler = handler->next;
free(handler);
wfree(handler);
} else {
while (tmp->next) {
if (tmp->next == handler) {
tmp->next = handler->next;
free(handler);
wfree(handler);
break;
}
tmp = tmp->next;
@@ -341,7 +341,7 @@ checkIdleHandlers()
tmp = handler->next;
(*handler->callback)(handler->clientData);
/* remove the handler */
free(handler);
wfree(handler);
handler = tmp;
}
@@ -363,7 +363,7 @@ checkTimerHandlers()
timerHandler = timerHandler->next;
handler->next = NULL;
(*handler->callback)(handler->clientData);
free(handler);
wfree(handler);
}
W_FlushASAPNotificationQueue();
@@ -484,7 +484,7 @@ WMDeleteEventHandler(WMView *view, unsigned long mask, WMEventProc *eventProc,
} else {
pptr->nextHandler = handler->nextHandler;
}
free(handler);
wfree(handler);
}
@@ -498,7 +498,7 @@ W_CleanUpEvents(WMView *view)
while (ptr!=NULL) {
nptr = ptr->nextHandler;
free(ptr);
wfree(ptr);
ptr = nptr;
}
}
@@ -809,7 +809,7 @@ W_WaitForEvent(Display *dpy, unsigned long xeventmask)
}
retval = fds[0].revents & (POLLIN|POLLRDNORM|POLLRDBAND|POLLPRI);
free(fds);
wfree(fds);
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);
WMUnmapWidget(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);
listDirectoryOnColumn(panel, column, path);
free(path);
wfree(path);
}
@@ -637,7 +637,7 @@ showError(WMScreen *scr, WMWindow *owner, char *s, char *file)
errStr = wstrdup(s);
}
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);
free(directory_name);
free(directory);
free(file);
wfree(directory_name);
wfree(directory);
wfree(file);
}
@@ -759,7 +759,7 @@ deleteFile(WMButton *bPre, WMFilePanel *panel)
default:
showError(scr, panel->win, "Can not delete '%s'.", file);
}
free(file);
wfree(file);
return;
} else if (S_ISDIR(filestat.st_mode)) {
buffer = wmalloc(strlen(file)+20);
@@ -822,8 +822,8 @@ deleteFile(WMButton *bPre, WMFilePanel *panel)
WMSetFilePanelDirectory(panel, file);
}
}
free(buffer);
free(file);
wfree(buffer);
wfree(file);
}
static void
@@ -924,8 +924,8 @@ getCurrentFileName(WMFilePanel *panel)
} else
strcpy(tmp, file);
free(file);
free(path);
wfree(file);
wfree(path);
return tmp;
} else {
return path;
@@ -943,7 +943,7 @@ validOpenFile(WMFilePanel *panel)
if (file[0] != '\0')
haveFile = 1;
free(file);
wfree(file);
col = WMGetBrowserSelectedColumn(panel->browser);
item = WMGetBrowserSelectedItemInColumn(panel->browser, col);
@@ -982,10 +982,10 @@ buttonClick(WMButton *bPtr, WMFilePanel *panel)
WMRunAlertPanel(WMWidgetScreen(panel->win), panel->win,
"Error", "File does not exist.",
"Ok", NULL, NULL);
free(file);
wfree(file);
return;
}
free(file);
wfree(file);
}
panel->flags.canceled = 0;
} else

View File

@@ -49,7 +49,7 @@ WMCreateFontSet(WMScreen *scrPtr, char *fontName)
defaultString);
}
if (!font->font.set) {
free(font);
wfree(font);
return NULL;
}
@@ -87,13 +87,13 @@ WMCreateNormalFont(WMScreen *scrPtr, char *fontName)
font = WMHashGet(scrPtr->fontCache, fname);
if (font) {
WMRetainFont(font);
free(fname);
wfree(fname);
return font;
}
font = malloc(sizeof(WMFont));
if (!font) {
free(fname);
wfree(fname);
return NULL;
}
memset(font, 0, sizeof(WMFont));
@@ -104,7 +104,7 @@ WMCreateNormalFont(WMScreen *scrPtr, char *fontName)
font->font.normal = XLoadQueryFont(display, fname);
if (!font->font.normal) {
free(font);
wfree(font);
return NULL;
}
@@ -158,9 +158,9 @@ WMReleaseFont(WMFont *font)
}
if (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) {
wwarning("could not load fixed font!");
free(fontSpec);
wfree(fontSpec);
return NULL;
}
}
free(fontSpec);
wfree(fontSpec);
return font;
}
@@ -238,11 +238,11 @@ WMBoldSystemFontOfSize(WMScreen *scrPtr, int size)
}
if (!font) {
wwarning("could not load fixed font!");
free(fontSpec);
wfree(fontSpec);
return NULL;
}
}
free(fontSpec);
wfree(fontSpec);
return font;
}
@@ -354,7 +354,7 @@ makeFontSetOfSize(char *fontset, int size)
}
if (newfs)
free(newfs);
wfree(newfs);
newfs = tmp;
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*
WMGetFontPanel(WMScreen *scr)
{
@@ -157,6 +167,8 @@ WMGetFontPanel(WMScreen *scr)
WMResizeWidget(panel->win, DEF_WIDTH, DEF_HEIGHT);
WMSetWindowMinSize(panel->win, MIN_WIDTH, MIN_HEIGHT);
WMSetViewNotifySizeChanges(WMWidgetView(panel->win), True);
WMSetWindowCloseAction(panel->win, closeWindow, panel);
panel->split = WMCreateSplitView(panel->win);
WMResizeWidget(panel->split, DEF_WIDTH, DEF_HEIGHT - BUTTON_SPACE_HEIGHT);
@@ -283,7 +295,7 @@ WMFreeFontPanel(WMFontPanel *panel)
WMRemoveNotificationObserver(panel);
WMUnmapWidget(panel->win);
WMDestroyWidget(panel->win);
free(panel);
wfree(panel);
}
@@ -887,7 +899,7 @@ familyClick(WMWidget *w, void *data)
if (oface) {
facei = WMFindRowOfListItemWithTitle(panel->typLs, oface);
free(oface);
wfree(oface);
}
if (facei < 0) {
facei = 0;
@@ -904,7 +916,7 @@ familyClick(WMWidget *w, void *data)
}
if (osize)
free(osize);
wfree(osize);
preview(panel);
@@ -957,7 +969,7 @@ typefaceClick(WMWidget *w, void *data)
sizeClick(panel->sizLs, panel);
if (osize)
free(osize);
wfree(osize);
preview(panel);
}

View File

@@ -53,7 +53,7 @@ void
WMSetFrameTitle(WMFrame *fPtr, char *title)
{
if (fPtr->caption)
free(fPtr->caption);
wfree(fPtr->caption);
if (title)
fPtr->caption = wstrdup(title);
else
@@ -187,7 +187,7 @@ WMCreateFrame(WMWidget *parent)
fPtr->view = W_CreateView(W_VIEW(parent));
if (!fPtr->view) {
free(fPtr);
wfree(fPtr);
return NULL;
}
fPtr->view->self = fPtr;
@@ -209,7 +209,7 @@ static void
destroyFrame(Frame *fPtr)
{
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));
if (!lPtr->view) {
free(lPtr);
wfree(lPtr);
return NULL;
}
lPtr->view->self = lPtr;
@@ -132,7 +132,7 @@ void
WMSetLabelText(WMLabel *lPtr, char *text)
{
if (lPtr->caption)
free(lPtr->caption);
wfree(lPtr->caption);
if (text!=NULL) {
lPtr->caption = wstrdup(text);
@@ -230,7 +230,7 @@ destroyLabel(Label *lPtr)
WMReleaseColor(lPtr->textColor);
if (lPtr->caption)
free(lPtr->caption);
wfree(lPtr->caption);
if (lPtr->font)
WMReleaseFont(lPtr->font);
@@ -238,5 +238,5 @@ destroyLabel(Label *lPtr)
if (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));
if (!lPtr->view) {
free(lPtr);
wfree(lPtr);
return NULL;
}
lPtr->view->self = lPtr;
@@ -173,10 +173,6 @@ WMInsertListItem(WMList *lPtr, int row, char *text)
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
* updating it when another item is going to be added later */
if (!lPtr->idleID) {
@@ -213,8 +209,8 @@ WMRemoveListItem(WMList *lPtr, int row)
item = WMGetFromBag(lPtr->items, row);
if (item->text)
free(item->text);
free(item);
wfree(item->text);
wfree(item);
WMDeleteFromBag(lPtr->items, row);
@@ -274,8 +270,8 @@ WMClearList(WMList *lPtr)
for (i = 0; i < WMGetBagItemCount(lPtr->items); i++) {
item = WMGetFromBag(lPtr->items, i);
free(item->text);
free(item);
wfree(item->text);
wfree(item);
}
WMEmptyBag(lPtr->items);
@@ -791,10 +787,10 @@ destroyList(List *lPtr)
for (i = 0; i < WMGetBagItemCount(lPtr->items); i++) {
item = WMGetFromBag(lPtr->items, i);
free(item->text);
free(item);
wfree(item->text);
wfree(item);
}
WMFreeBag(lPtr->items);
free(lPtr);
wfree(lPtr);
}

View File

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

View File

@@ -26,7 +26,7 @@ WMReleasePixmap(WMPixmap *pixmap)
XFreePixmap(pixmap->screen->display, pixmap->pixmap);
if (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));
if (!bPtr->view) {
free(bPtr);
wfree(bPtr);
return NULL;
}
bPtr->view->self = bPtr;
@@ -211,9 +211,9 @@ WMRemovePopUpButtonItem(WMPopUpButton *bPtr, int index)
if (index == 0) {
free(bPtr->items->text);
wfree(bPtr->items->text);
tmp = bPtr->items->nextPtr;
free(bPtr->items);
wfree(bPtr->items);
bPtr->items = tmp;
} else {
ItemList *next;
@@ -224,8 +224,8 @@ WMRemovePopUpButtonItem(WMPopUpButton *bPtr, int index)
tmp = tmp->nextPtr;
next = tmp->nextPtr->nextPtr;
free(tmp->nextPtr->text);
free(tmp->nextPtr);
wfree(tmp->nextPtr->text);
wfree(tmp->nextPtr);
tmp->nextPtr = next;
}
@@ -303,7 +303,7 @@ void
WMSetPopUpButtonText(WMPopUpButton *bPtr, char *text)
{
if (bPtr->caption)
free(bPtr->caption);
wfree(bPtr->caption);
if (text)
bPtr->caption = wstrdup(text);
else
@@ -823,17 +823,17 @@ destroyPopUpButton(PopUpButton *bPtr)
itemPtr = bPtr->items;
while (itemPtr!=NULL) {
free(itemPtr->text);
wfree(itemPtr->text);
tmp = itemPtr->nextPtr;
free(itemPtr);
wfree(itemPtr);
itemPtr = tmp;
}
if (bPtr->caption)
free(bPtr->caption);
wfree(bPtr->caption);
/* have to destroy explicitly because the popup is a toplevel */
W_DestroyView(bPtr->menuView);
free(bPtr);
wfree(bPtr);
}

View File

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

View File

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

View File

@@ -60,13 +60,13 @@ WMCreateScrollView(WMWidget *parent)
sPtr->view = W_CreateView(W_VIEW(parent));
if (!sPtr->view) {
free(sPtr);
wfree(sPtr);
return NULL;
}
sPtr->viewport = W_CreateView(sPtr->view);
if (!sPtr->view) {
W_DestroyView(sPtr->view);
free(sPtr);
wfree(sPtr);
return NULL;
}
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));
if (!sPtr->view) {
free(sPtr);
wfree(sPtr);
return NULL;
}
sPtr->view->self = sPtr;
@@ -550,6 +550,6 @@ destroySlider(Slider *sPtr)
WMRemoveNotificationObserver(sPtr);
free(sPtr);
wfree(sPtr);
}

View File

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

View File

@@ -101,7 +101,7 @@ WMCreateTabView(WMWidget *parent)
tPtr->view = W_CreateView(W_VIEW(parent));
if (!tPtr->view) {
free(tPtr);
wfree(tPtr);
return NULL;
}
tPtr->view->self = tPtr;
@@ -529,13 +529,13 @@ destroyTabView(TabView *tPtr)
WMSetTabViewItemView(tPtr->items[i], NULL);
WMDestroyTabViewItem(tPtr->items[i]);
}
free(tPtr->items);
wfree(tPtr->items);
WMReleaseColor(tPtr->lightGray);
WMReleaseColor(tPtr->tabColor);
WMReleaseFont(tPtr->font);
free(tPtr);
wfree(tPtr);
}
/******************************************************************/
@@ -642,7 +642,7 @@ void
WMSetTabViewItemLabel(WMTabViewItem *item, char *label)
{
if (item->label)
free(item->label);
wfree(item->label);
item->label = wstrdup(label);
@@ -676,10 +676,10 @@ void
WMDestroyTabViewItem(WMTabViewItem *item)
{
if (item->label)
free(item->label);
wfree(item->label);
if (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));
if (!tPtr->view) {
free(tPtr);
wfree(tPtr);
return NULL;
}
tPtr->view->self = tPtr;
@@ -362,7 +362,7 @@ WMInsertTextFieldText(WMTextField *tPtr, char *text, int position)
/* check if buffer will hold the text */
if (len + tPtr->textLen >= tPtr->bufferSize) {
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) {
@@ -446,7 +446,7 @@ WMSetTextFieldText(WMTextField *tPtr, char *text)
if (tPtr->textLen >= tPtr->bufferSize) {
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);
}
@@ -718,7 +718,7 @@ paintCursor(TextField *tPtr)
tPtr->view->size.height - tPtr->offsetWidth - 1);
if (tPtr->flags.secure)
free(text);
wfree(text);
}
@@ -882,7 +882,7 @@ paintTextField(TextField *tPtr)
}
if (tPtr->flags.secure)
free(text);
wfree(text);
XCopyArea(screen->display, drawbuffer, view->window,
screen->copyGC, 0,0, view->size.width,
view->size.height,0,0);
@@ -1437,7 +1437,7 @@ destroyTextField(TextField *tPtr)
WMRemoveNotificationObserver(tPtr);
if (tPtr->text)
free(tPtr->text);
wfree(tPtr->text);
free(tPtr);
wfree(tPtr);
}

View File

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

View File

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

View File

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