http://bugzilla.lyx.org/show_bug.cgi?id=3834

I suspect the crash happens in some circumstances, because ":" is not valid in 
Windows file names, and boost::fs throws an exception in the given test case. 
Now I wonder if it makes sense to have an icon file with a colon in the name 
at all.

So I'd propose to substitute colons and also ";", "," and "!" that occur in 
the math spaces commands with literal expressions, as we already do for 
underscore and brackets.

The attached patch does this. Alternatively to the command names, we could 
use "colon", "semicolon", "comma" and "exclam". I'm not sure.

What do you think? 

Jürgen
Index: src/frontends/controllers/ControlMath.cpp
===================================================================
--- src/frontends/controllers/ControlMath.cpp	(Revision 18872)
+++ src/frontends/controllers/ControlMath.cpp	(Arbeitskopie)
@@ -504,6 +504,10 @@
 		xpm_name = subst(xpm_name, "{", "lbrace");
 		xpm_name = subst(xpm_name, "}", "rbrace");
 		xpm_name = subst(xpm_name, "|", "bars");
+		xpm_name = subst(xpm_name, ",", "thinspace");
+		xpm_name = subst(xpm_name, ":", "mediumspace");
+		xpm_name = subst(xpm_name, ";", "thickspace");
+		xpm_name = subst(xpm_name, "!", "negthinspace");
 	}
 
 	LYXERR(Debug::GUI) << "find_xpm(" << name << ")\n"

Reply via email to