I used the gdk_threads_enter/gdk_threads_leave pair, but it did not work. It 
does not work even when the whole creation of the hierarchy is within the 
gdk_threads_enter/gdk_threads_leave pair.

I am able to get it to work without using GtkEntry instead of GtkTextView if I 
call the function in main().

However, as I pointed out, it works if I replace the GtkTextView with a 
GtkEntry within each cell of the table. 

-Ferdinand

--- On Wed, 1/30/13, Edscott Wilson <edscott.wilson.gar...@gmail.com> wrote:

> The current method for calling gtk_xx
> instructions is from the main thread
> only (i.e., that which owns the main loop context). You can
> do this by
> means of g_main_context_invoke(). Otherwise you must use the
> deprecated
> gdk_threads_enter/gdk_threads_leave mutex method. The
> deprecated method is
> slower.
> 
> If you do not do the above, you will get all sort of errors
> just like the
> one you describe.
> 
> HTH
> 
> 2013/1/30 Ferdinand Ramirez <ramirez.ferdin...@yahoo.com>
> 
> > I have encountered a strange error followed by a crash
> when I add the
> > following object to a GtkTextView by creating a child
> anchor and call
> > gtk_widget_show_all.
> >
> > The object that is added
> >
> > The object that is added to the child anchor is a
> GtkFrame inside which is
> > a GtkTable and each cell of the table contains another
> GtkFrame each of
> > which contains a GtkTextView.
> >
> > The error
> >
> > This works fine if it is all done from the main
> program. However, when I
> > create the hierarchy described above in another thread
> and call
> > gtk_widget_show_all on the GtkFrame that is added, I
> get an error in paint
> > saying code should not be reached. Before this error,
> there is a warning
> > that the iterator in text view has changed. I am not
> sure if the warning
> > and error are related.
> >
> > Source of the error
> >
> > I replaced gtk_widget_show_all by gtk_widget_show in a
> loop going down the
> > tree and calling it for each object. The source of the
> error was the
> > gtk_widget_show on the leaf level view objects in the
> frames contained in
> > each cell of the table.
> >
> > Situations under which it works
> >
> > When the leaf level GtkTextView objects are not part of
> the hierarchy of
> > widgets I create or they are replaced by GtkEntry
> objects, everything works
> > fine. Again, note that it also works fine if I do not
> have another thread
> > and call everything from the main program on startup
> but I need to have
> > another thread as this object will be created during
> the course of the
> > program. I've tried both g_idle_add as well as using
> the
> > gdk_threads_enter/leave pair.
> >
> > Any help will be appreciated.
> >
> > -Ferdinand
> > _______________________________________________
> > gtk-app-devel-list mailing list
> > gtk-app-devel-list@gnome.org
> > https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list
> >
> _______________________________________________
> gtk-app-devel-list mailing list
> gtk-app-devel-list@gnome.org
> https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list
> 
_______________________________________________
gtk-app-devel-list mailing list
gtk-app-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list

Reply via email to