1) it used TAILQ_FOREACH() when it's removing entrys from the list, this
is bad.
2) We didn't free key, so there was a small memleak too.
also rework conf_bindname's logic slightly to be more simple.
ok okan@
Since it's only used once just put the (simplified) logic into
conf_client() instead. This means we can kill an enum and
CONF_IGNORECASE, too.
ok okan@
corresponds directly to the static list of group names. Just use the
static list and stop strdup()ing a new version for the context struct.
Since that never got freed this also fixes a small memleak.
Kill some unused variables while i'm here.
ok okan@
protect xenocara builds from picking stuff installed by ports.
For now only paths to different programs are provided, avoiding the
use of bison instead of yacc. feedback from espie@.
overwritten with the enqueueInputProc (from upstream git)
cf. https://bugs.freedesktop.org/show_bug.cgi?id=13511
This should fix hangs people were seeing with icewm, cwm and most
probably other WM under some circumstances.
ok matthieu@
Diff mostly from Edd Barrett, with some minor changes from me.
Unfortunately the issue where apps like gvim and xpdf are stealing
keyrelease events causing the ordering to be messed up, but this is a
lot better. A fix for the aforementioned issue shall be forthcoming,
once a good one's been found.
ok okan@, also tested by todd@
that the memory was not set to executable. This caused some horrible
segfaults that due to lack of hardware i've been unable to track down
for months.
Conveniently, there was already a memory allocator that uses mmap to
create executable memory, #ifdef linux. Make it usable for us too.
Problem solved!
Thanks for todd@ for helping me debug, and deraadt@ for noticing the
allocator.
Makes SiS work with dri, probaby solves a bunch of other people too.
ok matthieu@ (who has sent this upstream).
[965] Fix potential segfaults from bad realloc.
C has no order of evaluation restrictions on function arguments, so we
attempted to realloc from new-size to new-size.
there make u_spawn use exec_wm (renamed to u_exec) for it's execution to
remove duplicated code.
This means constructs like this work in .cwmrc:
bind CM-t "ssh -Y 192.168.1.2 \"xterm -e top\""
or alternatively:
bind CM-t "ssh -Y 192.168.1.2 'xterm -e top'"
"in it goes" okan@.