Summary: comma inserted in a button tooltip causes crash
Creator:disrupted Date:2009-07-23 01:40:53
Project:Plugin - Macros Owner:.Nobody
Status:Unconfirmed Severity:Trivial
Version:1.5.3 Target Version:Unknow

User-agent: K-Meleon/1.5.3

when a tooltip defined for a toolbar button contains a comma character it causes kmeleon to crash even though the comma is within double quotes so should not be interpreted as a macro insider

other characters were tested like + - . ; did not cause a crash.

on 1.1.x versions, the inserted comma did not crash the browser.. however it caused to truncate all characters following the comma

e.g. test

$weathercity=(" for alexandria egypt");
this above works

but this
$weathercity=(" for alexandria, egypt");
causes a crash

in 1.1.x the rest was removed but not crash
i.e. displayed
"weather conditions for alexandria"
although there are other statements

test with this macro:

# K-Meleon Macros (http://kmeleon.sourceforge.net/wiki/index.php?id=MacroLanguage)

# ---------- weatherbar(bbc weather xml)-------------------------------

$weathercity=(" for alexandria egypt");
$weathertemp=(" 26 C");
$weathercond=(": partly cloudy");
$weatherpend=("current weather conditions");
$weathertip=($weatherpend.$weathercity.$weathercond.$weathertemp);

weathersite{
open("http://news.bbc.co.uk/weather/forecast/116");
}

$weatherman=getfolder(RootFolder)."\macros";
$skins=getfolder(RootFolder)."\skins\default";
$kbinary=getfolder(RootFolder)."\k-meleon.exe";
$_profile_path=getfolder(ProfileFolder);

weathercode{
$code = prompt("Enter city name :", "Get weather code", $code);
$code == "" ? "" : opentab("http://www.bbc.co.uk/cgi-perl/weather/search/new_search.pl?search_query=" .$code);
}

inputcode{
$code = prompt("examples: marseille=41 hamburg=49 larnaca=234 alexandria=116", "Enter city code :", $code);
$code == "" ? "" : exec($weatherman."\weatherman.exe "".$code."" "".$kbinary."" "".$_profile_path.""");
}

getweather{
exec($weatherman."\weatherman.exe "".$skins.""");
}

weatherman_BuildMenu{
setmenu(WebServices,popup,"Weather Bar",5);
setmenu("Weather Bar",macro,"Find City Code",weathercode);
setmenu("Weather Bar",macro,"Enter City Code",inputcode);
}

_weatherbar_BuildToolbar{
pluginmsg(toolbars,"AddToolbar","Weather Bar,16,16","");
$button1=(pluginmsg(toolbars,"AddButton","Weather Bar,Weather Bar,macros("."weathersite"."),"."Weather Bar".",".$weathertip.",16,16,"."wcondition.bmp",""));
}

$OnInit=$OnInit."getweather;";
$OnQuit=$OnQuit."getweather;";
$OnInit=$OnInit."weatherman_BuildMenu;";
$OnSetup=$OnSetup."_weatherbar_BuildToolbar;";
#-----------------------------------------------------------------
$macroModules=$macroModules."weatherbar;";



crash dump was sent with ticket no. 768

Comments
desga2  2009-09-07 18:28:45
You can use a colon (:) instead a comma. Comma is a special character to separate items in configuration files.
disrupted  2009-09-12 18:13:50
thank you so much desga for clarifying. maybe it's better if it didn't crash and just removed the rest of the statement after the comma like in 1.1.x. it's a quite trivial bug and seems to only affect button tooltips but crash at startup can be very confusing when testing macros because there's no chance to open the error console and find out what was wrong :(

SourceForge Logo