Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
|
|
At least 'invertRGB()' does not like 'width' or 'height' being 0.
341b2f43e511e39dd was triggered by this problem as well.
|
|
|
|
|
|
<jmmahler at gmail com>
Closes http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=583704
|
|
With ROT90-SystemTray fluxbox crashed. It is a bit unclear of where
to catch pixmaps / windows with either width or height equal to 0; IMHO
this needs more investigation.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
'xft-config' is deprecated (http://lists.freedesktop.org/archives/xorg-devel/2010-March/006750.html)
and does not exist anymore on 'bleeding edge' versions (gentoo). 'pkg-config'
is the new way of doing things. 'pkg-config --libs xft' does only report
the libs needed and the linker finds out other dependencies on its own. currently,
'pkg-config' (version 0.25) reports only '-lXft'.
if the user wants for example LDFLAGS="-fuse-ld=gold --no-add-needed" then
all the needed libs must be produced, otherwise linkage fails. at the moment
it seems that fluxbox calls 'XftMatrixRotate()' and 'XftPatternAddMatrix()'
which both seems to trigger the need for 'fontconfig':
undefined reference to 'FcMatrixRotate'
undefined reference to 'FcPatternAddMatrix'
is 'pkg-config --libs xft' reporting to few libs? in comparison to
'xft-config --libs' for sure. bug? feature? i am not sure. there are
several ways to address this issue:
* append the needed libs manually via LIBS or LDFLAGS
env LIBS="-lfontconfig" ./configure
* change build-system of fluxbox to do something like
pkg-config --print-requires-private 'xft' 2> /dev/null || echo xft)`
(pkg-config version < 0.2x does not have --print-requires-private, which
then leads to not print out all libs needed, which would then require
a fallback to xft-config since an older system anyways, evidence is
old pkg-config)
* changing build-system of fluxbox to use something like:
pkg-config --static --libs xft
(which reports really all libs, even more than actually needed, check out
http://osdir.com/ml/debian-bugs-closed/2011-01/msg01112.html)
* fix 'pkg-config' (or the related xft.pc) to report '-lXft -lfontconfig'
(not our code, but preferable)
* use 'pkg-config --libs xft fontconfig' since we know that calling the
xft functions requires linking against 'fontconfig' as well:
pkg-config --libs xft fontconfig
which is what we use to get rid of the build-errors
|
|
|
|
|
|
|
|
3rd/vim/syntax/fluxkeys.vim
|
|
|
|
|
|
when linking with binutils-gold and --no-add-needed it is not enough to
just use -lXft but it must be -lXft -fontconfig (and some more). since we
use 'pkg-config --libs' to find out about the needed flags and 'pkg-config'
only returns -lXft (except by using
pkg-config --libs `pkg-config --print-requires-private xft`
) we switched to 'xft-config --libs' which gives us the complete list of
all needed libs.
the issue was brought to attention by
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=554386
but the proposed fix was just quick and dirty.
|
|
nxserver-3.x creates a XExposeEvent for the unmapped FbTk::Menu(), which is
not configured completely yet (hence unmapped). this causes a call to
FbTk::Menu::clearItem() which then uses a value of 0 for m_rows_per_column
to divide the current index which triggers a SIGFPE.
it is still unclear, why nxserver-3.x creates the XExposeEvent for the
unmapped (menu) window. doing nothing if the menu is unmapped 'fixes'
the problem for now.
many thanks to Lars Engels (bsd-geek.de) to assist me in debugging this
issue.
|
|
|
|
'typeinfo' was needed for RTTI in isItemSelectable() (see last commit)
'algorithm' is already included some lines above
|
|
|
|
MenuSeparator is never enabled since it returns always 'false' in its
implementation of isEnabled(). no need to use RTTI imho.
|
|
* removed useless struct _menu
* code deduplication via renderMenuPixmap()
* improved documentation:
- 'sublevel' actually means 'column'
- 'persub' means 'row_per_column'
|
|
--disable-toolbar
|
|
|
|
a newer xlib recently changed the result of 'DisplayString()' a little bit:
instead of returning ':0.0' or ':1.0' it yields ':0' or ':1'. our code to
transform this string into something that includes the currently used
Screen worked only on something like ':0.0'.
we now find the '.' after the ':' and strip that part away.
|
|
not having DISPLAY set (eg: on a headless system) caused fluxbox to crash.
|
|
by using FbCommands::ExecureCmd() we run 'fluxbox-update_configs' in
the bacground while booting a new fluxbox instance already. 'system()'
waits until 'fluxbox-update_configs' is done and then gives the control
back to fluxbox.
|
|
|
|
while integrating the old 'getSqrt()' function into the 'bsqrt()'
function i misplaced some code. this lead to 'r' being 0 on the
first run. doh.
|
|
|
|
|
|
|
|
|
|
g++-4.1 does not like parts of 12e1ef78265a621dc51f7b9af245d81431835dcc,
calling std::bind2nd(std::mem_fun(func), ref_arg) lead to a bunch of
error: forming reference to reference type 'XYZ'
in order to avoid switching either back to the old for-loops or boost::bind
or to enforce a newer compiler (eg, g++-4.4) to the users a new helper
functor was created: 'CallMemFunWithRefArg'
this commit also fixes a little copy and paste error introduced in
12e1ef782, 'AtomHandler::updateClientClose' was called instead of
'AtomHandler::updateWorkspace'.
|