Fixed bug #1362913, did not check format pointer.

This commit is contained in:
fluxgen 2006-07-16 15:55:19 +00:00
parent fde970a21d
commit 06320420a5

View file

@ -52,7 +52,9 @@ Picture createAlphaPic(Window drawable, unsigned char alpha) {
PictFormatDepth | PictFormatAlphaMask,
&pic_format, 0);
if (format == 0) {
cerr<<"FbTk::Transparent: "<<_FBTK_CONSOLETEXT(Error, NoRenderFormat, "Warning: Failed to find valid format for alpha.", "transparency requires a pict format, can't get one...")<<endl;
cerr<<"FbTk::Transparent: "<<_FBTK_CONSOLETEXT(Error, NoRenderFormat,
"Warning: Failed to find valid format for alpha.",
"transparency requires a pict format, can't get one...")<<endl;
return 0;
}
@ -60,7 +62,9 @@ Picture createAlphaPic(Window drawable, unsigned char alpha) {
Pixmap alpha_pm = XCreatePixmap(disp, drawable,
1, 1, 8);
if (alpha_pm == 0) {
cerr<<"FbTk::Transparent: "<<_FBTK_CONSOLETEXT(Error, NoRenderPixmap, "Warning: Failed to create alpha pixmap.", "XCreatePixmap failed for our transparency pixmap")<<endl;
cerr<<"FbTk::Transparent: "<<_FBTK_CONSOLETEXT(Error, NoRenderPixmap,
"Warning: Failed to create alpha pixmap.",
"XCreatePixmap failed for our transparency pixmap")<<endl;
return 0;
}
@ -71,7 +75,9 @@ Picture createAlphaPic(Window drawable, unsigned char alpha) {
format, CPRepeat, &attr);
if (alpha_pic == 0) {
XFreePixmap(disp, alpha_pm);
cerr<<"FbTk::Transparent: "<<_FBTK_CONSOLETEXT(Error, NoRenderPicture, "Warning: Failed to create alpha picture.", "XRenderCreatePicture failed")<<endl;
cerr<<"FbTk::Transparent: "<<_FBTK_CONSOLETEXT(Error, NoRenderPicture,
"Warning: Failed to create alpha picture.",
"XRenderCreatePicture failed")<<endl;
return 0;
}
@ -234,11 +240,16 @@ void Transparent::setDest(Drawable dest, int screen_num) {
if (format == 0) {
_FB_USES_NLS;
cerr<<"FbTk::Transparent: ";
fprintf(stderr, _FBTK_CONSOLETEXT(Error, NoRenderVisualFormat, "Failed to find format for screen(%d)", "XRenderFindVisualFormat failed... include %d for screen number").c_str(), screen_num);
cerr<<endl;
}
m_dest_pic = XRenderCreatePicture(disp, dest, format, 0, 0);
fprintf(stderr,
_FBTK_CONSOLETEXT(Error, NoRenderVisualFormat,
"Failed to find format for screen(%d)",
"XRenderFindVisualFormat failed... include %d for screen number").
c_str(), screen_num);
cerr<<endl;
} else {
m_dest_pic = XRenderCreatePicture(disp, dest, format, 0, 0);
}
}
m_dest = dest;
@ -273,11 +284,15 @@ void Transparent::setSource(Drawable source, int screen_num) {
if (format == 0) {
_FB_USES_NLS;
cerr<<"FbTk::Transparent: ";
fprintf(stderr, _FBTK_CONSOLETEXT(Error, NoRenderVisualFormat, "Failed to find format for screen(%d)", "XRenderFindVisualFormat failed... include %d for screen number").c_str(), screen_num);
fprintf(stderr, _FBTK_CONSOLETEXT(Error, NoRenderVisualFormat,
"Failed to find format for screen(%d)",
"XRenderFindVisualFormat failed... include %d for screen number").
c_str(), screen_num);
cerr<<endl;
} else {
m_src_pic = XRenderCreatePicture(disp, m_source, format,
0, 0);
}
m_src_pic = XRenderCreatePicture(disp, m_source, format,
0, 0);
}
// recreate new alpha