Hi all I case you are wondering why this bug is marked as release critical, here a some more information and solutions.
First of all i intend to adopt wbar [1] and i have already filed a request for sponsorship. [2] Bart set the severity of #575087 to "grave" and asked me to consider to prepare a fix for Wheezy. [3] My response [4] hasn't changed fundamentally yet because no additional information were added to the bug report. 1. I still think the bug isn't release critical. 2. My packaged version of wbar, 2.3.4, fixes all outstanding bugs including this one. 3. I have prepared another fix for the "broken-path-to-a-font-file-problem" and attached it. I can't reproduce that wbar 1.3.3 fails silently on a default installation. $ aptitude install wbar $ cp /usr/share/wbar/dot.wbar ~/.wbar $ wbar -pos top -isize 48 This installs wbar, gnome-extra-icons and fonts-dustin and starts wbar at the top of the screen. After that you can change the icons and the font by editing the config file. Both bug reporters had most likely installed wbar without recommended packages. Only in this case wbar will refuse to start and throw an exception. You must obviously set a correct path in your .wbar config file. I agree this is not the most user friendly behaviour but this issue doesn't exist anymore in 2.3.4 and wbar deals more gracefully with it. Therefore i suggest to upload 2.3.4 to Wheezy. It fixes a lot of minor bugs which aren't even mentioned here and is in general more user friedly. A partial solution to the problem is to avoid throwing an exception in case a wrong font path was set. My attached patch is small and would fix this issue. If you insist this bug is RC then please consider uploading version 2.3.4 to Unstable and unblocking it for Wheezy or if at all please use the attached patch. Regards Markus [1] http://bugs.debian.org/678865 [2] http://bugs.debian.org/688310 [3] http://bugs.debian.org/688310#14 [4] http://bugs.debian.org/688310#19
diff -u wbar-1.3.3+dfsg2/debian/changelog wbar-1.3.3+dfsg2/debian/changelog --- wbar-1.3.3+dfsg2/debian/changelog +++ wbar-1.3.3+dfsg2/debian/changelog @@ -1,3 +1,11 @@ +wbar (1.3.3+dfsg2-1.1) unstable; urgency=low + + * Non-maintainer upload. + * Wbar won't refuse to start anymore if a font path isn't set correctly. + This is a partial solution to fix #575087. + + -- Markus Koschany <a...@gambaru.de> Sat, 29 Sep 2012 13:54:47 +0200 + wbar (1.3.3+dfsg2-1) unstable; urgency=low * Repacked again to get rid of non-free icons (Closes: #540612) only in patch2: unchanged: --- wbar-1.3.3+dfsg2.orig/SuperBar.cc +++ wbar-1.3.3+dfsg2/SuperBar.cc @@ -1,17 +1,19 @@ #include "SuperBar.h" #include "SuperIcon.h" +#include <stdlib.h> +#include <iostream> using namespace std; /* Super Constructor *//*{{{*/ -SuperBar::SuperBar(XWin *win, string barImg, string barFont, int iSize, int iDist, - float zFactor, float jFactor, int bOrient, int bPosition, int nAnim, int barAlfa, +SuperBar::SuperBar(XWin *win, string barImg, string barFont, int iSize, int iDist, + float zFactor, float jFactor, int bOrient, int bPosition, int nAnim, int barAlfa, int unfocusAlfa, int filtSel, unsigned int filtCol, bool dfont) : - Bar(win, barImg, iSize, iDist, zFactor, jFactor, bOrient, bPosition, nAnim), - font(NULL), drawfont(dfont), rest_w(0), filtSel(filtSel), filtRed((filtCol & 0x00ff0000)>>16), + Bar(win, barImg, iSize, iDist, zFactor, jFactor, bOrient, bPosition, nAnim), + font(NULL), drawfont(dfont), rest_w(0), filtSel(filtSel), filtRed((filtCol & 0x00ff0000)>>16), filtGreen((filtCol & 0x0000ff00)>>8), filtBlue(filtCol & 0x000000ff), - filtAlfa((filtCol & 0xff000000)>>24), unfocusAlfa(unfocusAlfa), barAlfa(barAlfa) { + filtAlfa((filtCol & 0xff000000)>>24), unfocusAlfa(unfocusAlfa), barAlfa(barAlfa) { int textW, textH; @@ -21,8 +23,11 @@ if( !barFont.empty() ){ ADD_FONT_PATH(getenv("HOME")); if( !(font = LOAD_FONT(barFont.c_str())) ) - throw (barFont + " -> Couldn't load font.").c_str(); - USE_FONT(font); + { + std::cout << ("Problem loading font file.") << " " << barFont << std::endl; + return; + } + USE_FONT(font); imlib_get_text_size("MMMMMMMMMMMMMMMMMMMMMMMMMMMMMM", &textW, &textH); font_restore = CREATE_IMAGE(textW, 2*textH); @@ -94,7 +99,7 @@ imlib_filter_set_blue (0, 0, 0, 0, 0, 0); imlib_filter_set_alpha(0, 0, filtAlfa, 0, 0, 0); // new - imlib_filter_divisors(255, filtRed!=0?3*255/filtRed:1, + imlib_filter_divisors(255, filtRed!=0?3*255/filtRed:1, filtGreen!=0?3*255/filtGreen:1, filtBlue!=0?3*255/filtBlue:1); #endif @@ -103,7 +108,7 @@ /* Set alfa to the Bar */ if(barAlfa != -1){ fAlfaBar = imlib_create_filter(0); - imlib_context_set_filter(fAlfaBar); + imlib_context_set_filter(fAlfaBar); imlib_filter_set_alpha(0, 0, barAlfa, 0, 0, 0); imlib_filter_divisors(100, 0, 0, 0); @@ -115,7 +120,7 @@ /* Alfa the bar when loose focus */ if(unfocusAlfa != -1){ fAlfaUnfocus = imlib_create_filter(0); - imlib_context_set_filter(fAlfaUnfocus); + imlib_context_set_filter(fAlfaUnfocus); imlib_filter_set_alpha(0, 0, unfocusAlfa, 0, 0, 0); imlib_filter_divisors(100, 0, 0, 0); } @@ -187,7 +192,7 @@ if(font && drawfont) if(rest_w > 0 ){ USE_IMAGE(buffer); - BLEND_IMAGE(font_restore, 0, 0, rest_w, rest_h, + BLEND_IMAGE(font_restore, 0, 0, rest_w, rest_h, rest_x, rest_y, rest_w, rest_h); rest_w = 0; } @@ -221,8 +226,8 @@ tw = cur_ic->y - (cur_ic->textW - cur_ic->size)/2; th = cur_ic->x + cur_ic->size - cur_ic->textH; } - rest_x = tw; rest_y = th; - rest_w = cur_ic->textW + 1; + rest_x = tw; rest_y = th; + rest_w = cur_ic->textW + 1; rest_h = cur_ic->textH + 1; } } @@ -235,7 +240,7 @@ /* Blend Icons */ for(size_t a=0; a<icons.size(); a++){ cur_ic = (SuperIcon*)icons[a]; - + /* If Icon needs update => blend it */ if(cur_ic->need_update == 1){ @@ -276,10 +281,10 @@ } if(orientation == 0) - BLEND_IMAGE(cur_im, 0, 0, cur_ic->osize, cur_ic->osize, + BLEND_IMAGE(cur_im, 0, 0, cur_ic->osize, cur_ic->osize, cur_ic->x, cur_ic->y, cur_ic->size, cur_ic->size); else - BLEND_IMAGE(cur_im, 0, 0, cur_ic->osize, cur_ic->osize, + BLEND_IMAGE(cur_im, 0, 0, cur_ic->osize, cur_ic->osize, cur_ic->y, cur_ic->x, cur_ic->size, cur_ic->size); @@ -314,7 +319,7 @@ icons.back() = icons[zoomed_icon]; icons[zoomed_icon] = cur_ic; } - + /* Show the buffer */ SET_BLEND(0); RENDER_TO_DRAWABLE(0, 0);
signature.asc
Description: OpenPGP digital signature