--- /dev/null
+--- a/init.cpp 2016-02-14 19:53:12.141197530 +0100
++++ b/init.cpp 2016-02-14 19:55:09.374196665 +0100
+@@ -388,7 +388,12 @@
+ // Now we have something on the form X.YY. We convert it to a float, and hope
+ // that if it's inexact (e.g. 1.30), atof() will round the same way the
+ // compiler will.
+- float glsl_version = atof(glsl_version_str);
++
++ std::istringstream locale_convert(glsl_version_str);
++ locale_convert.imbue(std::locale("C"));
++ double glsl_version;
++ locale_convert >> glsl_version;
++
+ free(glsl_version_str);
+
+ return glsl_version;