From 3a645026ccc01230eb7fdc881f29449f079dba24 Mon Sep 17 00:00:00 2001 From: dkf Date: Fri, 25 Jun 2004 08:46:19 +0000 Subject: Fix [Bug 979239] by only redrawing an image when it has real area. --- ChangeLog | 6 ++++++ generic/tkImgPhoto.c | 11 ++++++++++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 949d14f..b696af8 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2004-06-25 Donal K. Fellows + + * generic/tkImgPhoto.c (ImgPhotoDisplay): Early exit from image + redraw if the region to redraw is empty, so stopping XGetImage + from bailing out. [Bug 979239] + 2004-06-08 Mo DeJong * generic/tkCanvText.c (DisplayCanvText): Fix text diff --git a/generic/tkImgPhoto.c b/generic/tkImgPhoto.c index 6702946..83a7f8b 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.36.2.8 2004/05/03 18:01:32 hobbs Exp $ + * RCS: @(#) $Id: tkImgPhoto.c,v 1.36.2.9 2004/06/25 08:46:20 dkf Exp $ */ #include "tkInt.h" @@ -2719,6 +2719,15 @@ ImgPhotoDisplay(clientData, display, drawable, imageX, imageY, width, return; } + /* + * Check for bogus widths/heights. This prevents us from calling + * XGetImage with a zero size, which it does not like. [Bug 979239] + */ + + if (width < 1 || height < 1) { + return; + } + if ( #if defined(MAC_TCL) /* -- cgit v0.12