Definitely a bug. Here's the fix.
In
check.js:
Function
setUncheckedCODE
else
{
var chkbox = document.getElementById("chkbox"+i);
var lbl = document.getElementById('lbl'+i);
if (chkbox==null)
return;
if (forc[i]!=null && forc[i]=='yes') //<------------add this line
return; //<------------add this line
chkbox.checked=false;
lbl.className='txt';
tabs++;
uncheckChildren(i);
if (DisableOnDepsNotMet)
disableChildren(i);
if (useExclusions)
checkExclusions(i);
tabs--;
}
Function
checkCategoryCODE
if (isCategory(thisChk)) //If category checkbox was checked
{
thisCat = thisChk;
for(i=1; cat[i] != null; i++)
{
if (cat[i] == thisCat)
{
if (state)
{
setChecked(i);
checkDeps(i);
}
else
{
// setUnchecked(i); //<--------remove the "//" at the begining
checkDeps(i);
}
}
}
}