diff --git a/WINGs/WINGs/WUtil.h b/WINGs/WINGs/WUtil.h index 35bcedbf..1277f985 100644 --- a/WINGs/WINGs/WUtil.h +++ b/WINGs/WINGs/WUtil.h @@ -592,11 +592,6 @@ WMData* WMCreateDataWithLength(unsigned length); WMData* WMCreateDataWithBytes(const void *bytes, unsigned length); -/* destructor is a function called to free the data when releasing the data - * object, or NULL if no freeing of data is necesary. */ -WMData* WMCreateDataWithBytesNoCopy(void *bytes, unsigned length, - WMFreeDataProc *destructor); - WMData* WMCreateDataWithData(WMData *aData); WMData* WMRetainData(WMData *aData); diff --git a/WINGs/data.c b/WINGs/data.c index f42a5c37..9fdcd10e 100644 --- a/WINGs/data.c +++ b/WINGs/data.c @@ -78,22 +78,6 @@ WMData *WMCreateDataWithBytes(const void *bytes, unsigned length) return aData; } -WMData *WMCreateDataWithBytesNoCopy(void *bytes, unsigned length, WMFreeDataProc * destructor) -{ - WMData *aData; - - aData = (WMData *) wmalloc(sizeof(WMData)); - aData->length = length; - aData->capacity = length; - aData->growth = length / 2 > 0 ? length / 2 : 1; - aData->bytes = bytes; - aData->retainCount = 1; - aData->format = 0; - aData->destructor = destructor; - - return aData; -} - WMData *WMCreateDataWithData(WMData * aData) { WMData *newData; diff --git a/WINGs/selection.c b/WINGs/selection.c index 0d1bc59c..63d364b0 100644 --- a/WINGs/selection.c +++ b/WINGs/selection.c @@ -261,8 +261,9 @@ static WMData *getSelectionData(Display * dpy, Window win, Atom where) bpi = bits / 8; - wdata = WMCreateDataWithBytesNoCopy(data, len * bpi, (void *) XFree); + wdata = WMCreateDataWithBytes(data, len * bpi); WMSetDataFormat(wdata, bits); + XFree(data); return wdata; }