Patch by Chris Hanson <cph@martigny.ai.mit.edu>. First appeared in Debian
package 1.3b1-6.
From https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=39922:
wmifs crashes with a cryptic X error message when there are more than
4 net devices. This occurs for me because I install vmware, which
installs 4 network devices for its bridging hack.
The bug is a loop that fills a fixed-length array, but doesn't stop
when the array is full. The fix is to add a conditional break to the
loop. A patch appears below.
I made two additional changes: (1) increased the size of the array,
and (2) changed a name comparison to compare all of the characters of
the name, rather than just the visible characters, since there may be
multiple net devices with the same first 4 characters (vmware does
this, too).
Patch by Barak Pearlmutter <bap@cs.unm.edu>. First appeared in Debian package
version 1.3b1-6.
From https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=83003:
On my laptop, following a suspend, wmifs scrolls like nuts for a long
time. The scroll speed looks the same as for a wmifs that is paused
for a while using C-z.
Here is a patch that prevents this speedy scrolling problem. I also
got rid of a couple unnecessary compiler warnings.
Patch by Stephen Pitts <smpitts@midsouth.rr.com>. First appeared in Debian
package version 1.3b1-4.
From https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=41746:
wmifs started crashing on startup on my system,
so I grabbed the source, added -g to the
Makefile, and ran it through gdb.
(Wow, the wonders of Open Source!!).
I found out that it has the hard-coded assumption
that a line in /proc/net/dev will be no longer
than 128 bytes. Since my ethernet card has over
1 GB in traffic , my eth0 line was 129 bytes long.
I added a new constant, BUFFER_SIZE, that
determines the size of the buffer used for fgets.
Right now, its at 512 bytes, so that gives it
a large margin of error, until we have petabyte
Ethernet! The patch is attached.
Avoid the following compiler warning:
mem_linux.c: In function ‘mem_init’:
mem_linux.c:52:40: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses]
if (version == 2 && patchlevel >= 5 && sublevel >= 1 || \
^
Avoid multiple compiler warnings such as the following:
main.c: In function ‘update’:
main.c:157:4: warning: pointer targets in passing argument 1 of ‘mem_getusage’ differ in signedness [-Wpointer-sign]
mem_getusage(&mem_usage, &swap_usage, &mem_opts);
^
In file included from main.c:29:0:
mem.h:16:6: note: expected ‘int *’ but argument is of type ‘unsigned int *’
void mem_getusage(int *per_mem, int *per_swap, const struct mem_options *opts);
^
Avoid the following compiler warning:
dockapp.c: In function ‘dockapp_open_window’:
dockapp.c:51:16: warning: variable ‘stat’ set but not used [-Wunused-but-set-variable]
Status stat;
^
Previously, kvm_read was used to get the memory usage in FreeBSD. However,
this has been deprecated in favor of sysctl. This patch implements this
change.
Some work had previously been done in this direction, as could be seen in
the file src/mem_freebsd_sysctl.c. Since this file is no longer needed, it
has been removed.
Additionally, some formatting has been done on the remaining older code for
a more consistent style.
It is possible that, when running update-dockapps.pl, a filename may match a
revision, giving an error, e.g.,
fatal: ambiguous argument 'wmbattery': both revision and filename
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'
This patch fixes this problem by inserting "--" where needed.
Since wmbattery was previously a Debian native package, all the changes were
documented in debian/changelog. Since the debian directory has been removed in
the upstream source, this file is being renamed to ChangeLog in the root
directory.
Compile with CPPFLAGS and LDFLAGS and append, rather than overwrite, CFLAGS.
This enables the Debian package to be built with hardening options. See
https://wiki.debian.org/Hardening.