HelloWorld::HelloWorld() : m_textview() {

    add(m_textview);
    m_textview.show();
Glib::Thread::create(sigc::mem_fun(*this, &HelloWorld::cpp_app), true);
}
[...]
void HelloWorld::cpp_app() {
    string texttoprint = "";
    Glib::RefPtr<Gtk::TextBuffer> m_refTextBuffer;
    m_refTextBuffer = Gtk::TextBuffer::create();
    string runit(std::string c);

    texttoprint +=
"About to run a number of c++ functions\nand display the results\n";
    m_refTextBuffer->set_text(texttoprint);
    m_textview.set_buffer(m_refTextBuffer);

sleep(10); // This sleep function represents any c++ function performaing a task

I would like to clarify implementation details a bit more from this programming attempt. Can it be that the referenced text buffer is written in a thread-unsafe way here? How do think about to apply improved techniques and software ingredients like locks for memory consistency? (Andrew Potter and Gavin Lambert suggested also an alternative program structure. - https://mail.gnome.org/archives/gtkmm-list/2013-August/msg00135.html )

Regards,
Markus
_______________________________________________
gtkmm-list mailing list
gtkmm-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtkmm-list

Reply via email to