diff options
author | Fumitoshi UKAI <ukai@debian.or.jp> | 2002-12-25 16:14:45 +0000 |
---|---|---|
committer | Fumitoshi UKAI <ukai@debian.or.jp> | 2002-12-25 16:14:45 +0000 |
commit | d31151945a1f781e5eb674f0b2ad995040ed5c83 (patch) | |
tree | bd665cd0f59430c0081ceec3381e2eddad04e23d /w3mimg | |
parent | [w3m-dev 03601] Re: meta refresh (diff) | |
download | w3m-d31151945a1f781e5eb674f0b2ad995040ed5c83.tar.gz w3m-d31151945a1f781e5eb674f0b2ad995040ed5c83.zip |
[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 <hito@crl.go.jp>
Diffstat (limited to '')
-rw-r--r-- | w3mimg/fb/fb_w3mimg.c | 5 | ||||
-rw-r--r-- | w3mimg/x11/x11_w3mimg.c | 6 | ||||
-rw-r--r-- | w3mimgdisplay.c | 8 |
3 files changed, 14 insertions, 5 deletions
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 <stdio.h> #include <stdlib.h> #include <ctype.h> @@ -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 <stdio.h> #include <stdlib.h> #include <ctype.h> @@ -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 <stdio.h> #include <stdlib.h> #include <ctype.h> @@ -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 |