diff options
author | chengyemao <chengyemao> | 2001-12-07 05:20:52 (GMT) |
---|---|---|
committer | chengyemao <chengyemao> | 2001-12-07 05:20:52 (GMT) |
commit | 5f54c2f4342788c459acb85f53c7bb5a847de086 (patch) | |
tree | 09b1d3f5bde9e88be214bb7174a62c71a18f2bc9 | |
parent | 6d2a269946df5ba722f1326a85bdb95d679de263 (diff) | |
download | tk-5f54c2f4342788c459acb85f53c7bb5a847de086.zip tk-5f54c2f4342788c459acb85f53c7bb5a847de086.tar.gz tk-5f54c2f4342788c459acb85f53c7bb5a847de086.tar.bz2 |
Added panic in TkPutImage in case of failure to allocate bitmap
-rw-r--r-- | win/tkWinDraw.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/win/tkWinDraw.c b/win/tkWinDraw.c index eeaf334..27ce4ca 100644 --- a/win/tkWinDraw.c +++ b/win/tkWinDraw.c @@ -10,7 +10,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tkWinDraw.c,v 1.10 2001/12/07 00:02:57 chengyemao Exp $ + * RCS: @(#) $Id: tkWinDraw.c,v 1.11 2001/12/07 05:20:52 chengyemao Exp $ */ #include "tkWinInt.h" @@ -591,7 +591,9 @@ TkPutImage(colors, ncolors, display, d, gc, image, src_x, src_y, dest_x, } if(!bitmap) { panic("Fail to allocate bitmap\n"); - return + DeleteDC(dcMem); + TkWinReleaseDrawableDC(d, dc, &state); + return; } bitmap = SelectObject(dcMem, bitmap); BitBlt(dc, dest_x, dest_y, width, height, dcMem, src_x, src_y, SRCCOPY); |