summaryrefslogtreecommitdiffstats
path: root/generic
diff options
context:
space:
mode:
authornijtmans <nijtmans>2008-11-18 23:49:42 (GMT)
committernijtmans <nijtmans>2008-11-18 23:49:42 (GMT)
commit00d49f9867cee2ccb0107d42c242542bb1724968 (patch)
tree977344186af30768099bdf29836d163bc796c6e0 /generic
parentd9fafe1f52ff004f0ff69bd9c137f8ac0ffa1a85 (diff)
downloadtk-00d49f9867cee2ccb0107d42c242542bb1724968.zip
tk-00d49f9867cee2ccb0107d42c242542bb1724968.tar.gz
tk-00d49f9867cee2ccb0107d42c242542bb1724968.tar.bz2
Minor simplification in fix for [Bug 2312027]:
no need to malloc and copy photo type name because it is a constant to begin with. Convert Tcl_SetResult(......, TCL_DYNAMIC) to Tcl_SetResult(......, TCL_VOLATILE), in preparation for TIP #340
Diffstat (limited to 'generic')
-rw-r--r--generic/tkImgPhoto.c14
-rw-r--r--generic/tkOldConfig.c8
2 files changed, 7 insertions, 15 deletions
diff --git a/generic/tkImgPhoto.c b/generic/tkImgPhoto.c
index 44a63fe..1513607 100644
--- a/generic/tkImgPhoto.c
+++ b/generic/tkImgPhoto.c
@@ -17,7 +17,7 @@
* Department of Computer Science,
* Australian National University.
*
- * RCS: @(#) $Id: tkImgPhoto.c,v 1.87 2008/11/12 01:19:27 nijtmans Exp $
+ * RCS: @(#) $Id: tkImgPhoto.c,v 1.88 2008/11/18 23:49:43 nijtmans Exp $
*/
#include "tkImgPhoto.h"
@@ -229,13 +229,11 @@ PhotoFormatThreadExitProc(
while (tsdPtr->oldFormatList != NULL) {
freePtr = tsdPtr->oldFormatList;
tsdPtr->oldFormatList = tsdPtr->oldFormatList->nextPtr;
- ckfree((char *) freePtr->name);
ckfree((char *) freePtr);
}
while (tsdPtr->formatList != NULL) {
freePtr = tsdPtr->formatList;
tsdPtr->formatList = tsdPtr->formatList->nextPtr;
- ckfree((char *) freePtr->name);
ckfree((char *) freePtr);
}
}
@@ -264,8 +262,7 @@ Tk_CreateOldPhotoImageFormat(
const Tk_PhotoImageFormat *formatPtr)
/* Structure describing the format. All of the
* fields except "nextPtr" must be filled in
- * by caller. Must not have been passed to
- * Tk_CreatePhotoImageFormat previously. */
+ * by caller. */
{
Tk_PhotoImageFormat *copyPtr;
ThreadSpecificData *tsdPtr =
@@ -277,8 +274,6 @@ Tk_CreateOldPhotoImageFormat(
}
copyPtr = (Tk_PhotoImageFormat *) ckalloc(sizeof(Tk_PhotoImageFormat));
*copyPtr = *formatPtr;
- copyPtr->name = ckalloc((unsigned) (strlen(formatPtr->name) + 1));
- strcpy((char *) copyPtr->name, formatPtr->name);
copyPtr->nextPtr = tsdPtr->oldFormatList;
tsdPtr->oldFormatList = copyPtr;
}
@@ -288,8 +283,7 @@ Tk_CreatePhotoImageFormat(
const Tk_PhotoImageFormat *formatPtr)
/* Structure describing the format. All of the
* fields except "nextPtr" must be filled in
- * by caller. Must not have been passed to
- * Tk_CreatePhotoImageFormat previously. */
+ * by caller. */
{
Tk_PhotoImageFormat *copyPtr;
ThreadSpecificData *tsdPtr =
@@ -301,8 +295,6 @@ Tk_CreatePhotoImageFormat(
}
copyPtr = (Tk_PhotoImageFormat *) ckalloc(sizeof(Tk_PhotoImageFormat));
*copyPtr = *formatPtr;
- copyPtr->name = ckalloc((unsigned) (strlen(formatPtr->name) + 1));
- strcpy((char *)copyPtr->name, formatPtr->name);
if (isupper((unsigned char) *formatPtr->name)) {
copyPtr->nextPtr = tsdPtr->oldFormatList;
tsdPtr->oldFormatList = copyPtr;
diff --git a/generic/tkOldConfig.c b/generic/tkOldConfig.c
index 51c16c6..731944d 100644
--- a/generic/tkOldConfig.c
+++ b/generic/tkOldConfig.c
@@ -11,7 +11,7 @@
* See the file "license.terms" for information on usage and redistribution of
* this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
- * RCS: @(#) $Id: tkOldConfig.c,v 1.26 2008/11/08 18:44:40 dkf Exp $
+ * RCS: @(#) $Id: tkOldConfig.c,v 1.27 2008/11/18 23:49:43 nijtmans Exp $
*/
#include "tkPort.h"
@@ -632,9 +632,9 @@ Tk_ConfigureInfo(
if (specPtr == NULL) {
return TCL_ERROR;
}
- Tcl_SetResult(interp,
- FormatConfigInfo(interp, tkwin, specPtr, widgRec),
- TCL_DYNAMIC);
+ list = FormatConfigInfo(interp, tkwin, specPtr, widgRec);
+ Tcl_SetResult(interp, list, TCL_VOLATILE);
+ ckfree(list);
return TCL_OK;
}