band-aid for Glib::operator<<

it seems that g_locale_from_utf8() (called by <<) is not thread safe,
at least not on OSX.

glib error-code 1, Invalid byte sequence in conversion input
-> throws Glib::Error.

possible fix for #6435, route-creation is interrupted via catch(...)
This commit is contained in:
Robin Gareus 2015-09-19 18:38:56 +02:00
parent bd5b97e964
commit c829c10a74
2 changed files with 6 additions and 6 deletions

View File

@ -1207,10 +1207,10 @@ MixerStrip::update_io_button (boost::shared_ptr<ARDOUR::Route> route, Width widt
if (for_input) {
io_count = route->n_inputs().n_total();
tooltip << string_compose (_("<b>INPUT</b> to %1"), Glib::Markup::escape_text(route->name()));
tooltip << string_compose (_("<b>INPUT</b> to %1"), Glib::Markup::escape_text(route->name()).c_str());
} else {
io_count = route->n_outputs().n_total();
tooltip << string_compose (_("<b>OUTPUT</b> from %1"), Glib::Markup::escape_text(route->name()));
tooltip << string_compose (_("<b>OUTPUT</b> from %1"), Glib::Markup::escape_text(route->name()).c_str());
}
@ -1244,12 +1244,12 @@ MixerStrip::update_io_button (boost::shared_ptr<ARDOUR::Route> route, Width widt
}
if (io_connection_count == 0) {
tooltip << endl << Glib::Markup::escape_text(port->name().substr(port->name().find("/") + 1))
tooltip << endl << Glib::Markup::escape_text(port->name().substr(port->name().find("/") + 1)).c_str()
<< " -> "
<< Glib::Markup::escape_text( pn.empty() ? connection_name : pn );
<< Glib::Markup::escape_text( pn.empty() ? connection_name : pn ).c_str();
} else {
tooltip << ", "
<< Glib::Markup::escape_text( pn.empty() ? connection_name : pn );
<< Glib::Markup::escape_text( pn.empty() ? connection_name : pn ).c_str();
}
if (connection_name.find("ardour:") == 0) {

View File

@ -223,7 +223,7 @@ void
Splash::message (const string& msg)
{
string str ("<b>");
str += Glib::Markup::escape_text (msg);
str += Glib::Markup::escape_text (msg).c_str();
str += "</b>";
show ();