summaryrefslogtreecommitdiff
path: root/src/nautilus-sidebar.c
diff options
context:
space:
mode:
authorDarin Adler <darin@src.gnome.org>2000-09-26 19:07:45 +0000
committerDarin Adler <darin@src.gnome.org>2000-09-26 19:07:45 +0000
commitcfe2dc48fd02ce1a6d4a054f6883bd5762bc8432 (patch)
tree8aaf274f9b33bac87dbf2db26418b051eed4309d /src/nautilus-sidebar.c
parentec54fa8b4df561b2e3739fe597567ce5d279174e (diff)
downloadnautilus-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.c32
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);
}