diff -Nur /home/aho/CVS/skipstone/src/bookmarks.c skipstone/src/bookmarks.c --- /home/aho/CVS/skipstone/src/bookmarks.c Fri Dec 7 03:29:10 2001 +++ skipstone/src/bookmarks.c Fri Dec 7 05:31:29 2001 @@ -80,6 +80,7 @@ } real_add_bookmark(title,url,skipstone); + g_free(title); D_RETURN; } diff -Nur /home/aho/CVS/skipstone/src/go.c skipstone/src/go.c --- /home/aho/CVS/skipstone/src/go.c Fri Dec 7 03:29:10 2001 +++ skipstone/src/go.c Fri Dec 7 05:26:37 2001 @@ -30,16 +30,28 @@ GtkWidget *menu_item; gboolean add_it; gint list_length; + gboolean free_title = FALSE; + D_ENTER; g_return_if_fail(go_menu != NULL); if (!location || location == NULL) D_RETURN; title = mozilla_get_document_title (skipstone->embed); - if (!strcmp(location,"about:blank")) D_RETURN; /* dont add that! */ - if (!title || !strcmp(title,"")) title = location; /* no title? use the url */ + if (!title || !strcmp(title,"")) + title = location; /* no title? use the url */ + else + free_title = TRUE; + if (!strcmp(location,"about:blank")) { + if (free_title) g_free (title); + D_RETURN; /* dont add that! */ + } add_it = check_for_dupe(go_menu,title); - if (!add_it) D_RETURN; + if (!add_it) { + if (free_title) g_free (title); + D_RETURN; + } menu_item = gtk_menu_item_new_with_label(title); + if (free_title) g_free (title); gtk_object_set_data(GTK_OBJECT(menu_item), "url", location); gtk_signal_connect(GTK_OBJECT(menu_item), "activate", GTK_SIGNAL_FUNC(on_go_menu_activate), diff -Nur /home/aho/CVS/skipstone/src/interface-notebook.c skipstone/src/interface-notebook.c --- /home/aho/CVS/skipstone/src/interface-notebook.c Fri Dec 7 03:29:10 2001 +++ skipstone/src/interface-notebook.c Fri Dec 7 05:27:29 2001 @@ -284,6 +284,7 @@ gtk_window_set_title(GTK_WINDOW(skipstone->window), title); else gtk_window_set_title(GTK_WINDOW(skipstone->window), "SkipStone -"); + g_free(title); gtk_window_set_default_size(GTK_WINDOW(skipstone->window), config.xsize, config.ysize); gtk_signal_connect(GTK_OBJECT(skipstone->window), "destroy", GTK_SIGNAL_FUNC(destroy_window_callback), skipstone); set_selection_targets(skipstone->window, skipstone); diff -Nur /home/aho/CVS/skipstone/src/interface.c skipstone/src/interface.c --- /home/aho/CVS/skipstone/src/interface.c Fri Dec 7 03:29:10 2001 +++ skipstone/src/interface.c Fri Dec 7 05:28:27 2001 @@ -300,6 +300,7 @@ continue; menuitem = gtk_menu_item_new_with_label(title); + g_free(title); gtk_menu_append(GTK_MENU(skipstone->windowmenu),menuitem); gtk_signal_connect(GTK_OBJECT(menuitem),"activate",GTK_SIGNAL_FUNC(on_windowmenu_item_clicked),window_skipstone->window); } diff -Nur /home/aho/CVS/skipstone/src/moz_callbacks.c skipstone/src/moz_callbacks.c --- /home/aho/CVS/skipstone/src/moz_callbacks.c Fri Dec 7 03:29:10 2001 +++ skipstone/src/moz_callbacks.c Fri Dec 7 05:31:13 2001 @@ -123,9 +123,8 @@ void title_changed(GtkMozEmbed *embed, SkipStone *skipstone) { - gchar *title; + gchar *title, *doc_title; GSList *l; - gint free_title=0; D_ENTER; if (skipstone->is_notebook) { @@ -133,7 +132,6 @@ if (!title || !strcmp(title,"")) { title = g_strdup(_("Untitled Document")); - free_title = 1; } if (!config.show_tabs && g_slist_length(window_count) == 1) { @@ -158,13 +156,15 @@ gtk_widget_queue_resize(skipstone->notebook_label->parent); update_navigation_buttons(skipstone); - if (free_title) g_free(title); + g_free(title); D_RETURN; } - title = g_strdup_printf(_("SkipStone - %s"), mozilla_get_document_title (skipstone->embed)); + doc_title = mozilla_get_document_title (skipstone->embed); + title = g_strdup_printf(_("SkipStone - %s"), doc_title); gtk_window_set_title(GTK_WINDOW(skipstone->window), title); + g_free(doc_title); g_free(title); for (l = window_count; l ; l = l->next) {