From d31151945a1f781e5eb674f0b2ad995040ed5c83 Mon Sep 17 00:00:00 2001 From: Fumitoshi UKAI Date: Wed, 25 Dec 2002 16:14:45 +0000 Subject: [w3m-dev 03602] Re: w3mimgdisplay core dump * w3mimgdisplay.c (DrawImage): check load_image, imageBuf[n].pixmap * w3mimg/fb/fb_w3mimg.c (w3mfb_show_image): check img->pixmap * w3mimg/x11/x11_w3mimg.c (x11_show_image): check img->pixmap From: Hiroyuki Ito --- ChangeLog | 9 ++++++++- w3mimg/fb/fb_w3mimg.c | 5 ++++- w3mimg/x11/x11_w3mimg.c | 6 +++++- w3mimgdisplay.c | 8 +++++--- 4 files changed, 22 insertions(+), 6 deletions(-) diff --git a/ChangeLog b/ChangeLog index 5f3c758..4ca00ba 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2002-12-26 Hiroyuki Ito + + * [w3m-dev 03602] Re: w3mimgdisplay core dump + * w3mimgdisplay.c (DrawImage): check load_image, imageBuf[n].pixmap + * w3mimg/fb/fb_w3mimg.c (w3mfb_show_image): check img->pixmap + * w3mimg/x11/x11_w3mimg.c (x11_show_image): check img->pixmap + 2002-12-26 Hironori SAKAMOTO * [w3m-dev 03601] Re: meta refresh @@ -6079,4 +6086,4 @@ a * [w3m-dev 03276] compile error on EWS4800 * release-0-2-1 * import w3m-0.2.1 -$Id: ChangeLog,v 1.647 2002/12/25 16:06:43 ukai Exp $ +$Id: ChangeLog,v 1.648 2002/12/25 16:14:45 ukai Exp $ diff --git a/w3mimg/fb/fb_w3mimg.c b/w3mimg/fb/fb_w3mimg.c index 6734463..99d473c 100644 --- a/w3mimg/fb/fb_w3mimg.c +++ b/w3mimg/fb/fb_w3mimg.c @@ -1,4 +1,4 @@ -/* $Id: fb_w3mimg.c,v 1.6 2002/11/06 03:50:49 ukai Exp $ */ +/* $Id: fb_w3mimg.c,v 1.7 2002/12/25 16:14:45 ukai Exp $ */ #include #include #include @@ -87,6 +87,9 @@ w3mfb_show_image(w3mimg_op * self, W3MImage * img, int sx, int sy, if (self == NULL) return 0; + if (img->pixmap == NULL) + return 0; + frame = (FB_IMAGE **) img->pixmap; i = frame[0]->id; fb_image_draw(frame[i], diff --git a/w3mimg/x11/x11_w3mimg.c b/w3mimg/x11/x11_w3mimg.c index 3b89f92..1f46189 100644 --- a/w3mimg/x11/x11_w3mimg.c +++ b/w3mimg/x11/x11_w3mimg.c @@ -1,4 +1,4 @@ -/* $Id: x11_w3mimg.c,v 1.10 2002/10/05 16:43:10 ukai Exp $ */ +/* $Id: x11_w3mimg.c,v 1.11 2002/12/25 16:14:45 ukai Exp $ */ #include #include #include @@ -355,6 +355,10 @@ x11_show_image(w3mimg_op * self, W3MImage * img, int sx, int sy, int sw, #endif if (self == NULL) return 0; + + if (img->pixmap == NULL) + return 0; + xi = (struct x11_info *)self->priv; if (xi == NULL) return 0; diff --git a/w3mimgdisplay.c b/w3mimgdisplay.c index ad52671..35bd1d3 100644 --- a/w3mimgdisplay.c +++ b/w3mimgdisplay.c @@ -1,4 +1,4 @@ -/* $Id: w3mimgdisplay.c,v 1.10 2002/11/27 16:46:34 ukai Exp $ */ +/* $Id: w3mimgdisplay.c,v 1.11 2002/12/25 16:14:45 ukai Exp $ */ #include #include #include @@ -263,10 +263,12 @@ DrawImage(char *buf, int redraw) imageBuf[n].pixmap = NULL; } - w_op->load_image(w_op, &imageBuf[n], p, w, h); + if (w_op->load_image(w_op, &imageBuf[n], p, w, h) == 0) + imageBuf[n].pixmap = NULL; draw_image: - w_op->show_image(w_op, &imageBuf[n], sx, sy, sw, sh, x, y); + if (imageBuf[n].pixmap) + w_op->show_image(w_op, &imageBuf[n], sx, sy, sw, sh, x, y); } void -- cgit v1.2.3