diff options
author | hobbs <hobbs> | 2004-11-17 22:18:50 (GMT) |
---|---|---|
committer | hobbs <hobbs> | 2004-11-17 22:18:50 (GMT) |
commit | c45d408e208f9b57d07ba688642d0a8984e9739a (patch) | |
tree | dfa46a78bcd3f9f879765f357eed991bcd53c13b /generic/tkCanvImg.c | |
parent | 82926d13ee257a1cce4a18256043ba23a34f0a1b (diff) | |
download | tk-c45d408e208f9b57d07ba688642d0a8984e9739a.zip tk-c45d408e208f9b57d07ba688642d0a8984e9739a.tar.gz tk-c45d408e208f9b57d07ba688642d0a8984e9739a.tar.bz2 |
* generic/tkCanvImg.c (ImageToPostscript): don't try ps generation
of canvas image item without image specified. [Bug 1032300]
Diffstat (limited to 'generic/tkCanvImg.c')
-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); |