Found the problem! There's a little bug in 1.2-core. Pretty sure it's
not the only one.
var $check = function(event){
var related = event.relatedTarget;
if (related == undefined) return true;
if (related === false) return false;
return ($type(this) != 'document' && related != this &&
related.prefix != 'xul' && !this.hasChild(related));
};
Third line should be:
if (related == undefined) return false;