I'm not entirely sure of your problem, but I do know that GTK does not
guarantee *any* thread safety for it's components. You should not be
modifying the TreeView outside the UI thread. If this is how GTK manifests
this problem, so be it. There is a Glib::Dispatcher() [1] [2] which would
allow you to spawn the dispatcher in the UI thread, then push things from a
worker thread and make sure the value gets updated on the UI.

I hope I'm actually helping the problem and not just being critical on
style. :(

Cheers,

Kevin

[1] https://developer.gnome.org/glibmm/2.35/classGlib_1_1Dispatcher.html
[2]
https://developer.gnome.org/gtkmm-tutorial/3.8/sec-using-glib-dispatcher.html.en



On Fri, Aug 2, 2013 at 8:51 AM, Yann Leydier <[email protected]> wrote:

> Hi,
>
> my application fills some TreeStrores and ListStores at runtime but the
> data is read from large files and the computation of some values takes
> time. Therefore I put a progress bar in a splash window and fill the store
> in another thread.
>
> The TreeView fills oddly: once the lines do not fit anymore on the
> display, the scollbar is not updated. I tried to add gdk_threads_entrer()
> and gdk_threads_leave() before and after the calls to XXXStore::append()
> but it did not change anything.
>
> First question: are the stores really thread unsafe? I tend to consider
> them as non-UI classes, so TreeView should be the one handling the
> thread-safety…
>
> Second question: how do I make sure I do not mess up with the thread
> safety when filling my stores?
>
> Thanks a lot,
> yann
> ______________________________**_________________
> gtkmm-list mailing list
> [email protected]
> https://mail.gnome.org/**mailman/listinfo/gtkmm-list<https://mail.gnome.org/mailman/listinfo/gtkmm-list>
>



-- 
Kevin Brightwell
*BESc. and BSc. Candidate 2015*
Western University www.westernu.ca <http://www.uwo.ca>
e. [email protected] c. 226.678.4927
_______________________________________________
gtkmm-list mailing list
[email protected]
https://mail.gnome.org/mailman/listinfo/gtkmm-list

Reply via email to