Re: can someone help me with this memory leak please
- From: Chema Celorio <chema ximian com>
- To: vinny <vinny matsvin com>
- Cc: gnome-devel-list gnome org
- Subject: Re: can someone help me with this memory leak please
- Date: Mon, 19 Feb 2001 14:43:09 -0600
Vinny,
looking at the code/compiling it is going to be a bit
time consuming for anyone helping you.
But I can recommend you to run your program thru
memprof.
just run :
memprof yourprogram
and you are going to be able to figure out memprof as a tool
to find leaks. It is very good for leak finding.
regrads,
Chema
> vinny wrote:
>
> Hi,
> Can some one tell me if there is a memory leak in this piece of
> code.top shows a continous increase in memory usage whenever the
> dialog is run. Since I am not completely at home with widget refs and
> unrefs, I am afraid I might be doing something wrong which I am not
> aware of.
>
> Thanx
> Greetings
>
> Vinny
>
> void new_project_cb (GtkWidget *w,gpointer data){
>
> GtkWidget *dialog_window;
> GtkWidget *druid;
> GtkWidget *druid_start_page;
> GtkWidget *druid_end_page;
> GtkWidget *druid_page1;
> GtkWidget *temp_label;
> GtkWidget *vbox;
>
> GdkImlibImage *logo,*watermark;
>
> dialog_window = gtk_window_new (GTK_WINDOW_DIALOG);
> gtk_window_set_title (GTK_WINDOW(dialog_window),"New Project");
> druid = gnome_druid_new ();
>
> logo = gdk_imlib_create_image_from_xpm_data (aries_logo_xpm);
> watermark = gdk_imlib_create_image_from_xpm_data
> (aries_watermark_xpm);
> druid_start_page = gnome_druid_page_start_new_with_vals ("New
> Project",
> "This druid will guide you through the process of creating a
> new project",
> logo,watermark);
> gnome_druid_append_page (GNOME_DRUID
> (druid),GNOME_DRUID_PAGE(druid_start_page));
> druid_page1 = gnome_druid_page_standard_new_with_vals ("New
> Project",logo);
> temp_label = gtk_label_new ("Under Construction");
> vbox = GNOME_DRUID_PAGE_STANDARD (druid_page1)->vbox;
> gtk_box_pack_start (GTK_BOX (vbox),temp_label,TRUE,TRUE,0);
> gtk_widget_show (vbox);
> gnome_druid_append_page (GNOME_DRUID (druid),GNOME_DRUID_PAGE
> (druid_page1));
> druid_end_page = gnome_druid_page_finish_new_with_vals ("New
> Project",
> "Click on finish to create your new project",
> logo,watermark);
> gnome_druid_append_page (GNOME_DRUID
> (druid),GNOME_DRUID_PAGE(druid_end_page));
> gtk_container_add (GTK_CONTAINER (dialog_window),druid);
> gtk_window_set_modal (GTK_WINDOW(dialog_window),TRUE);
>
> gtk_object_ref (GTK_OBJECT (dialog_window));
> gtk_signal_connect (GTK_OBJECT
> (druid_end_page),"finish",GTK_SIGNAL_FUNC
> (new_project_druid_done_cb),dialog_window);
> gtk_signal_connect (GTK_OBJECT (druid),"cancel",GTK_SIGNAL_FUNC
> (new_project_druid_cancel_cb),dialog_window);
> gtk_widget_show_all (dialog_window);
> gdk_imlib_destroy_image (logo);
> gdk_imlib_destroy_image (watermark);
> }
> static void new_project_druid_done_cb (GnomeDruidPage *page,gpointer
> druid,gpointer user_data){
> gtk_object_unref (GTK_OBJECT (user_data));
> gtk_object_destroy (GTK_OBJECT (user_data));
> }
> static void new_project_druid_cancel_cb (GtkWidget *w,gpointer data){
> gtk_object_unref (GTK_OBJECT (data));
> gtk_object_destroy (GTK_OBJECT (data));
> }
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]