diff --git a/xul/content/commands.js b/xul/content/commands.js --- a/xul/content/commands.js +++ b/xul/content/commands.js @@ -102,7 +102,7 @@ ["kick", cmdKick, CMD_NEED_CHAN | CMD_CONSOLE], ["kick-ban", cmdKick, CMD_NEED_CHAN | CMD_CONSOLE], ["knock", cmdKnock, CMD_NEED_SRV | CMD_CONSOLE], - ["leave", cmdLeave, CMD_NEED_CHAN | CMD_CONSOLE], + ["leave", cmdLeave, CMD_NEED_SRV | CMD_CONSOLE], ["links", cmdSimpleCommand, CMD_NEED_SRV | CMD_CONSOLE], ["list", cmdList, CMD_NEED_SRV | CMD_CONSOLE], ["list-plugins", cmdListPlugins, CMD_CONSOLE], @@ -2391,6 +2391,13 @@ if (e.hasOwnProperty("channelName")) { + if (!e.channelName) + { + // No channel specified and command not sent from a channel view + display(getMsg(MSG_ERR_NEED_CHANNEL, e.command.name), MT_ERROR); + return; + } + if (arrayIndexOf(e.server.channelTypes, e.channelName[0]) == -1) { // No valid prefix character. Check they really meant a channel... diff --git a/xul/content/mungers.js b/xul/content/mungers.js --- a/xul/content/mungers.js +++ b/xul/content/mungers.js @@ -204,7 +204,7 @@ var href; - if (matchText.indexOf("mailto:") != 0) + if (matchText.toLowerCase().indexOf("mailto:") != 0) href = "mailto:" + matchText; else href = matchText; diff --git a/xul/content/static.js b/xul/content/static.js --- a/xul/content/static.js +++ b/xul/content/static.js @@ -4165,7 +4165,7 @@ client.schemes[c.substr(len)] = true; } } - return (url in client.schemes); + return (url.toLowerCase() in client.schemes); } client.adoptNode =