the solution is currently being discussed here:
http://groups.google.com/group/uim-en/browse_thread/thread/8ff1adf19bc40fd3

On Thu, Oct 30, 2008 at 2:36 PM, Yu Feng <[EMAIL PROTECTED]> wrote:

> On Wed, 2008-10-29 at 22:08 -0400, Jacques Le Normand wrote:
> > Hello list,
> > thank you for helping me to solve my previous post, which found that I
> > had a memory leak. The solution was to remove uim (universal input
> > method).
>
> Would you say more about the solution in the list? I am also interested
> in it but don't know why there is a leak.
>
>
> > I have a new memory leak problem. This one creates and removes 2000
> > text entries every 100ms. I've had top showing 64 megs resident after
> > 5 minutes (and no sign of stopping).
> > If anyone could run the code to see if they get a memory leak (and
> > post the result) it would be great!
> > If anyone could shed some light on the problem, even better!
> > cheers
> > --Jacques
> >
> > (and now the code...)
> >
> > #include <stdio.h>
> > #include <stdlib.h>
> > #include <gtk/gtk.h>
> >
> >
> > GtkWidget *entry;
> > GtkWidget *vbox;
> >
> > guint test_function(gpointer data){
> >   GList *iter;
> >   GList *original_iter;
> >   iter = original_iter = gtk_container_get_children (GTK_CONTAINER
> > (vbox));
> >   while(iter){
> >     GtkWidget *child;
> >     child = iter->data;
> >     iter  = iter->next;
> >     gtk_container_remove(GTK_CONTAINER(vbox),child);
> >
> >
> >   }
> >   g_list_free(original_iter);
> >   int i;
> >   for( i = 0 ; i < 2000 ; i++){
> >     entry = gtk_entry_new ();
> >     gtk_box_pack_start (GTK_BOX (vbox), entry, TRUE, TRUE, 0);
> >     gtk_widget_show (entry);
> >   }
> >   return 1;
> > }
> >
> > int main( int   argc,
> >           char *argv[] )
> > {
> >   int time_interval = 100;
> >     GtkWidget *window;
> >     gtk_init (&argc, &argv);
> >
> >     /* create a new window */
> >     window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
> >     gtk_widget_set_size_request (GTK_WIDGET (window), 200, 100);
> >     gtk_window_set_title (GTK_WINDOW (window), "GTK Entry");
> >     g_signal_connect (G_OBJECT (window), "destroy",
> >                       G_CALLBACK (gtk_main_quit), NULL);
> >     g_signal_connect_swapped (G_OBJECT (window), "delete_event",
> >                               G_CALLBACK (gtk_widget_destroy),
> >                               G_OBJECT (window));
> >
> >     vbox = gtk_vbox_new (FALSE, 0);
> >     gtk_container_add (GTK_CONTAINER (window), vbox);
> >         gtk_widget_show (vbox);
> >
> >
> >     g_timeout_add(time_interval,(GSourceFunc) test_function,0);
> >
> >         gtk_widget_show (window);
> >
> >     gtk_main();
> >
> >     return 0;
> > }
> >
> > _______________________________________________
> > gtk-devel-list mailing list
> > [EMAIL PROTECTED]
> > http://mail.gnome.org/mailman/listinfo/gtk-devel-list
>
>
_______________________________________________
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