Date: Sat, 7 Apr 2007 04:14:17 +0200 (CEST) From: Henrik Brix Andersen <henrik@brixandersen.dk> To: FreeBSD-gnats-submit@FreeBSD.org Cc: ports@fsck.ch Subject: ports/111342: [patch] x11/slim theme parse error under 7-CURRENT Message-ID: <20070407021417.58DA22E02F@fangorn.brixandersen.dk> Resent-Message-ID: <200704070250.l372o5tg047772@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 111342 >Category: ports >Synopsis: [patch] x11/slim theme parse error under 7-CURRENT >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Sat Apr 07 02:50:04 GMT 2007 >Closed-Date: >Last-Modified: >Originator: Henrik Brix Andersen >Release: FreeBSD 6.2-STABLE i386 >Organization: pil.dk >Environment: System: FreeBSD fangorn.brixandersen.dk 6.2-STABLE FreeBSD 6.2-STABLE #48: Sat Mar 24 20:05:55 CET 2007 root@fangorn.brixandersen.dk:/usr/obj/usr/src/sys/FANGORN i386 >Description: Since upgrading a work station to FreeBSD 7.0-CURRENT, x11/slim-1.2.6 parses all themes wrongly (all percentages are evaluated to zero). This also applies to the default theme provided by slim itself. I have tracked down this issue which seems to be caused by a stricter gcc in 7-CURRENT compared to RELENG_6. >How-To-Repeat: Install x11/slim under 7-CURRENT and observe that the input panel is wrongly placed at the top of the screen even though /usr/local/share/slim/themes/default/slim.theme specifies non-zero offsets (given in percent). >Fix: The patch below fixes this issue by eliminating the 'const char* tmp' variable. I have submitted the patch upstream for inclusion in the next release. --- patch-cfg.cpp begins here --- --- cfg.cpp.orig Sat Apr 7 03:45:30 2007 +++ cfg.cpp Sat Apr 7 03:46:20 2007 @@ -211,8 +211,7 @@ int Cfg::absolutepos(const string& posit int n = -1; n = position.find("%"); if (n>0) { // X Position expressed in percentage - const char* tmp = position.substr(0, n).c_str(); - int result = (max*string2int(tmp)/100) - (width / 2); + int result = (max*string2int(position.substr(0, n).c_str())/100) - (width / 2); return result < 0 ? 0 : result ; } else { // Absolute X position return string2int(position.c_str()); --- patch-cfg.cpp ends here --- >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20070407021417.58DA22E02F>