Make sure that "transparent_c" is not NULL before it is used in win32 builds.

Prevents segfault when loading pixmpas that have no transparent cell set.



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7605 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
This commit is contained in:
Ian MacArthur 2010-05-13 07:47:30 +00:00
parent 5be97a7868
commit 6efdd85197

View File

@ -222,7 +222,7 @@ int fl_draw_pixmap(const char*const* cdata, int x, int y, Fl_Color bg) {
if (!fl_measure_pixmap(cdata, d.w, d.h)) return 0;
const uchar*const* data = (const uchar*const*)(cdata+1);
int transparent_index = -1;
uchar *transparent_c; // such that transparent_c[0,1,2] are the RGB of the transparent color
uchar *transparent_c = (uchar *)0; // such that transparent_c[0,1,2] are the RGB of the transparent color
#ifdef WIN32
color_count = 0;
used_colors = (uchar *)malloc(abs(ncolors)*3*sizeof(uchar));
@ -335,7 +335,10 @@ int fl_draw_pixmap(const char*const* cdata, int x, int y, Fl_Color bg) {
}
d.data = data;
#ifdef WIN32
make_unused_color(transparent_c[0], transparent_c[1], transparent_c[2]);
if(transparent_c){
// only make a transparent color if one is defined
make_unused_color(transparent_c[0], transparent_c[1], transparent_c[2]);
}
#endif
#ifndef __APPLE_QUARTZ__