diff options
author | Ryan Lortie <desrt@desrt.ca> | 2009-08-22 14:32:36 -0400 |
---|---|---|
committer | Ryan Lortie <desrt@desrt.ca> | 2009-08-24 10:06:40 -0400 |
commit | d8337a4b7969b43bf5712cd5e85dc5f936ed5044 (patch) | |
tree | 6d82248e9aadbd8787136a4874a1ab37775c14d1 /src | |
parent | b9cd9a5810e044c9351d2408186fb135f4452635 (diff) | |
download | nautilus-d8337a4b7969b43bf5712cd5e85dc5f936ed5044.tar.gz |
Cancel audio preview when deleting the file
Fixes #137500.
Diffstat (limited to 'src')
-rw-r--r-- | src/file-manager/fm-icon-view.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/file-manager/fm-icon-view.c b/src/file-manager/fm-icon-view.c index 2fa23360d..309e5cf14 100644 --- a/src/file-manager/fm-icon-view.c +++ b/src/file-manager/fm-icon-view.c @@ -470,6 +470,8 @@ should_show_file_on_screen (FMDirectoryView *view, NautilusFile *file) static void fm_icon_view_remove_file (FMDirectoryView *view, NautilusFile *file, NautilusDirectory *directory) { + FMIconView *icon_view; + /* This used to assert that 'directory == fm_directory_view_get_model (view)', but that * resulted in a lot of crash reports (bug #352592). I don't see how that trace happens. * It seems that somehow we get a files_changed event sent to the view from a directory @@ -491,8 +493,14 @@ fm_icon_view_remove_file (FMDirectoryView *view, NautilusFile *file, NautilusDir g_free (model_uri); } - if (nautilus_icon_container_remove (get_icon_container (FM_ICON_VIEW (view)), + icon_view = FM_ICON_VIEW (view); + + if (nautilus_icon_container_remove (get_icon_container (icon_view), NAUTILUS_ICON_CONTAINER_ICON_DATA (file))) { + if (file == icon_view->details->audio_preview_file) { + preview_audio (icon_view, NULL, FALSE); + } + nautilus_file_unref (file); } } |