Hi,

This is what I do inside the worker_thread function
(create_and_start_worker_thread ()) every time I want to update the
model:


gdk_threads_enter();            /* get GTK thread lock */

gtk_list_store_set (GTK_LIST_STORE (host_model), &iter,
                        MYMODEL_COL_STATUS, STATUS_NORMAL,
                -1);

gdk_threads_leave();            /* release GTK thread lock */

I don't know if the problem is because the model is sorted by that
column. I set this using : gtk_tree_view_column_set_sort_column_id
(column, MYMODEL_COL_STATUS) when I create the tree_view for that model
.

Regards,
Lorena


On Tue, 2005-06-14 at 14:58, Owen Taylor wrote:
> On Tue, 2005-06-14 at 14:40 -0300, Lorena Salinas wrote:
> > Hi,
> > 
> > This is my app's main function:
> > 
> > int main (int argc, char **argv)
> > 
> > {
> > 
> >     /* init threads */
> >     g_thread_init(NULL);
> >     
> >     gdk_threads_init();
> >     
> >     /* init gtk */
> >     gtk_init (&argc, &argv);
> >     
> >     /* create the model and fill with data */
> >     create_and_fill_model();
> > 
> >     /* create the window with a tree_view and an icon_view */
> >     create_window_and_views_for_model();
> > 
> >     /* start the worker thread */
> >     create_and_start_worker_thread ();
> > 
> >     /* enter the GTK main loop */
> >     gdk_threads_enter(); 
> >     
> >     gtk_main();
> >     
> >     gdk_threads_leave();
> >     
> >     return 0;
> > 
> > }
> > 
> > I don't surround function calls in the main loop (eg: callbacks like row
> > changed)
> > because this will actually block the main thread.
> 
> I'd suggest reviewing 
>  
> http://developer.gnome.org/doc/API/2.0/gdk/gdk-Threads.html
> 
> in detail. Somewhere, you modifying the tree view without the GTK+/GDK
> lock.
> 
> Regards,
>                                               Owen
> 

_______________________________________________
gtk-app-devel-list mailing list
gtk-app-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list

Reply via email to