diff options
-rw-r--r-- | generic/tkCanvImg.c | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/generic/tkCanvImg.c b/generic/tkCanvImg.c index 5aa036b..a37de89 100644 --- a/generic/tkCanvImg.c +++ b/generic/tkCanvImg.c @@ -9,7 +9,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tkCanvImg.c,v 1.6 2003/02/09 07:48:22 hobbs Exp $ + * RCS: @(#) $Id: tkCanvImg.c,v 1.6.2.1 2004/11/17 22:18:50 hobbs Exp $ */ #include <stdio.h> @@ -727,7 +727,7 @@ ImageToPostscript(interp, canvas, itemPtr, prepass) Tk_Image image; Tk_State state = itemPtr->state; - if(state == TK_STATE_NULL) { + if (state == TK_STATE_NULL) { state = ((TkCanvas *)canvas)->canvas_state; } @@ -741,6 +741,12 @@ ImageToPostscript(interp, canvas, itemPtr, prepass) image = imgPtr->disabledImage; } } + if (image == NULL) { + /* + * Image item without actual image specified. + */ + return TCL_OK; + } Tk_SizeOfImage(image, &width, &height); /* @@ -750,7 +756,7 @@ ImageToPostscript(interp, canvas, itemPtr, prepass) x = imgPtr->x; y = Tk_CanvasPsY(canvas, imgPtr->y); - + switch (imgPtr->anchor) { case TK_ANCHOR_NW: y -= height; break; case TK_ANCHOR_N: x -= width/2.0; y -= height; break; @@ -763,10 +769,6 @@ ImageToPostscript(interp, canvas, itemPtr, prepass) case TK_ANCHOR_CENTER: x -= width/2.0; y -= height/2.0; break; } - if (image == NULL) { - return TCL_OK; - } - if (!prepass) { sprintf(buffer, "%.15g %.15g", x, y); Tcl_AppendResult(interp, buffer, " translate\n", (char *) NULL); |