Menu
  • HOME
  • TAGS

glibmm 2.4 invalid byte sequence in conversion input

c++,utf-8,glibmm

An initialization of the locale is needed E.g. std::locale::global(std::locale("")); in order to use ustring and have it do the stream operator's implicit conversion correctly, otherwise characters outside of ASCII aren't converted correctly. This is documented here...

Emit safely a signal from a thread and connect it to a widget

c++,multithreading,gtk,signals,glibmm

The issue is you are calling non threadsafe function call (signal callbacks are not threadsafe). So you need to use something like Glib::signal_idle().connect( sigc::mem_fun(*this, &IdleExample::on_idle) );(or whatever is equivalent to C API call g_idle_add(GCallback func)) from your thread. This function is threadsafe (at least the one from the C API)....