diff options
author | Darin Adler <darin@src.gnome.org> | 2000-09-26 19:07:45 +0000 |
---|---|---|
committer | Darin Adler <darin@src.gnome.org> | 2000-09-26 19:07:45 +0000 |
commit | cfe2dc48fd02ce1a6d4a054f6883bd5762bc8432 (patch) | |
tree | 8aaf274f9b33bac87dbf2db26418b051eed4309d /src/nautilus-sidebar.c | |
parent | ec54fa8b4df561b2e3739fe597567ce5d279174e (diff) | |
download | nautilus-cfe2dc48fd02ce1a6d4a054f6883bd5762bc8432.tar.gz |
Got leaks in "nautilus --check" down to 0.
Fixed bug 2488 (path name for link set determined incorrectly) by
using only paths for link sets, never URIs.
* tools/leak-checker/nautilus-leak-checker.c: Added more "known to
leak" symbols.
* libnautilus-extensions/nautilus-link-set.c: (create_new_link),
(nautilus_link_set_is_installed), (nautilus_link_set_remove):
Changed functions to always expect paths, so they can now use
nautilus_make_path instead of link_set_path_name.
* src/nautilus-sidebar.c: (metadata_button_callback): Changed to
turn the URI into a path before calling the link-set functions.
* libnautilus-extensions/nautilus-directory.c:
(nautilus_directory_notify_files_moved): Use
nautilus_file_list_free instead of
nautilus_g_list_free_deep_custom.
* libnautilus-extensions/nautilus-string-list.c:
(nautilus_string_list_clear): Use nautilus_g_list_free_deep
instead of nautilus_g_list_free_deep_custom.
* libnautilus-extensions/nautilus-view-identifier.c:
(nautilus_view_identifier_free_callback),
(nautilus_view_identifier_list_free): Fixed call to
nautilus_g_list_free_deep_custom so it doesn't need a function
pointer type cast any more.
Diffstat (limited to 'src/nautilus-sidebar.c')
-rw-r--r-- | src/nautilus-sidebar.c | 32 |
1 files changed, 18 insertions, 14 deletions
diff --git a/src/nautilus-sidebar.c b/src/nautilus-sidebar.c index fd41ee672..86bdc60f5 100644 --- a/src/nautilus-sidebar.c +++ b/src/nautilus-sidebar.c @@ -1120,15 +1120,20 @@ command_button_callback (GtkWidget *button, char *id_str) a shell to handle general ones */ /* for now, we only handle a few built in commands */ static void -metadata_button_callback (GtkWidget *button, char *command_str) +metadata_button_callback (GtkWidget *button, const char *command_str) { GtkWindow *window; NautilusSidebar *sidebar; + char *path; sidebar = NAUTILUS_SIDEBAR (gtk_object_get_user_data (GTK_OBJECT (button))); - if (!strcmp(command_str, "#linksets")) { + if (strcmp (command_str, "#linksets") == 0) { window = GTK_WINDOW (gtk_widget_get_toplevel (GTK_WIDGET (sidebar))); - nautilus_link_set_toggle_configure_window(sidebar->details->uri, window); + path = gnome_vfs_get_local_path_from_uri (sidebar->details->uri); + if (path != NULL) { + nautilus_link_set_toggle_configure_window (path, window); + g_free (path); + } } } @@ -1226,7 +1231,7 @@ add_command_buttons (NautilusSidebar *sidebar, GList *application_list) /* utility to construct command buttons for the sidebar from the passed in metadata string */ static void -add_buttons_from_metadata(NautilusSidebar *sidebar, const char *button_data) +add_buttons_from_metadata (NautilusSidebar *sidebar, const char *button_data) { char **terms; char *current_term, *temp_str; @@ -1251,25 +1256,24 @@ add_buttons_from_metadata(NautilusSidebar *sidebar, const char *button_data) if (button_name != NULL) { temp_button = gtk_button_new_with_label (button_name); gtk_box_pack_start (GTK_BOX (sidebar->details->button_box), - temp_button, - FALSE, FALSE, - 0); + temp_button, + FALSE, FALSE, + 0); sidebar->details->has_buttons = TRUE; - - command_string = g_strdup(temp_str + 1); - g_free(button_name); - + command_string = g_strdup (temp_str + 1); + g_free (button_name); + nautilus_gtk_signal_connect_free_data (GTK_OBJECT (temp_button), "clicked", - GTK_SIGNAL_FUNC (metadata_button_callback), command_string); + GTK_SIGNAL_FUNC (metadata_button_callback), command_string); gtk_object_set_user_data (GTK_OBJECT (temp_button), sidebar); - + gtk_widget_show (temp_button); } } } g_free(current_term); - } + } g_strfreev (terms); } |