--- gnome-vfs-2.13.3/libgnomevfs/gnome-vfs-volume-ops.c.gnome-mount 2006-01-09 15:05:47.000000000 -0500 +++ gnome-vfs-2.13.3/libgnomevfs/gnome-vfs-volume-ops.c 2006-01-09 15:16:10.000000000 -0500 @@ -659,8 +659,9 @@ #if defined(USE_HAL) && defined(HAL_EJECT) if (info->hal_udi != NULL) { argv[0] = HAL_EJECT; - argv[1] = info->device_path; - argv[2] = NULL; + argv[1] = "--hal-udi"; + argv[2] = info->hal_udi; + argv[3] = NULL; if (!g_file_test (argv [0], G_FILE_TEST_IS_EXECUTABLE)) argv[0] = NULL; @@ -759,7 +760,11 @@ # ifdef USE_HAL if (hal_udi != NULL) { +# ifdef HAL_MOUNT + name = hal_udi; +# else name = device_path; +# endif } else name = mount_point; # else @@ -770,9 +775,11 @@ if (should_mount) { #if defined(USE_HAL) && defined(HAL_MOUNT) - if (hal_udi != NULL && g_file_test (HAL_MOUNT, G_FILE_TEST_IS_EXECUTABLE)) + if (hal_udi != NULL && g_file_test (HAL_MOUNT, G_FILE_TEST_IS_EXECUTABLE)) { command = HAL_MOUNT; - else + argument = "--hal-udi"; + + } else command = find_command (MOUNT_COMMAND); #else command = find_command (MOUNT_COMMAND); @@ -785,9 +792,10 @@ if (should_unmount) { gboolean is_in_media = g_str_has_prefix (mount_point, "/media"); #if defined(USE_HAL) && defined(HAL_UMOUNT) - if (hal_udi != NULL && g_file_test (HAL_UMOUNT, G_FILE_TEST_IS_EXECUTABLE)) + if (hal_udi != NULL && g_file_test (HAL_UMOUNT, G_FILE_TEST_IS_EXECUTABLE)) { command = HAL_UMOUNT; - else + argument = "--hal-udi"; + } else command = find_command (is_in_media ? PUMOUNT_COMMAND : UMOUNT_COMMAND); #else command = find_command (is_in_media ? PUMOUNT_COMMAND : UMOUNT_COMMAND);