all repos — fluxbox @ 06320420a575ecb54a4d2099a971ffc24fa1d30d

custom fork of the fluxbox windowmanager

Fixed bug #1362913, did not check format pointer.
fluxgen fluxgen
commit

06320420a575ecb54a4d2099a971ffc24fa1d30d

parent

fde970a21d62756cdbca1fe5acd75386b251814c

1 files changed, 25 insertions(+), 10 deletions(-)

jump to
M src/FbTk/Transparent.ccsrc/FbTk/Transparent.cc

@@ -52,7 +52,9 @@ XRenderPictFormat *format = XRenderFindFormat(disp, PictFormatType |

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 @@ // create one pixel pixmap with depth 8 for 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 alpha_pic = XRenderCreatePicture(disp, alpha_pm,

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; }

@@ -228,17 +234,22 @@ freeDest();

// create new dest pic if we have a valid dest drawable if (dest != 0) { - XRenderPictFormat *format = + XRenderPictFormat *format = XRenderFindVisualFormat(disp, DefaultVisual(disp, 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_dest_pic = XRenderCreatePicture(disp, dest, format, 0, 0); } - m_dest_pic = XRenderCreatePicture(disp, dest, format, 0, 0); - } m_dest = dest;

@@ -273,11 +284,15 @@ DefaultVisual(disp, 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