Due to inexact string matching, icemc-1.9 corrupts the "TaskBarShowWindowListMenu" setting in ~/.icewm/preferences, and overwrites it with the "ShowWindowList" setting, which then ends up in the preferences file twice:
[zlatko@disclosure]:~/.icewm$ diff -u preferences.bak preferences
--- preferences.bak 2004-07-27 19:25:28.000000000 +0200
+++ preferences 2004-08-03 09:08:33.000000000 +0200
@@ -230,7 +230,7 @@
# TaskBarShowStartMenu=1 # 0/1
# Show 'window list' menu on task bar
-TaskBarShowWindowListMenu = 0 # 0/1
+ShowWindowList = 1 # 0/1
# Show CPU status on task bar (Linux & Solaris)
# TaskBarShowCPUStatus=1 # 0/1
[zlatko@disclosure]:~/.icewm$ grep ShowWindowList preferences
ShowWindowList = 1 # 0/1
ShowWindowList = 1 # 0/1
[zlatko@disclosure]:~/.icewm$ grep ShowWindowList preferences.bak
TaskBarShowWindowListMenu = 0 # 0/1
ShowWindowList = 1 # 0/1
The enclosed patch is only an incomplete quick-fix for this problem - it takes care of all cases where the strings to be matched differ at the _beginning_ (ie. "ShowWindowList" vs. "TaskBarShowWindowListMenu"), but it would fail in all cases where strings differ at the _end_ (ie. "ShowWindowList" vs. "ShowWindowListSomewhereElse").
Incomplete quick-fix for TaskBarShowWindowListMenu corruption