Bug 367707 - After entering and exiting an iso file: broken symlinks are not made prominent
Summary: After entering and exiting an iso file: broken symlinks are not made prominent
Status: RESOLVED FIXED
Alias: None
Product: krusader
Classification: Applications
Component: general (show other bugs)
Version: Git
Platform: Other Linux
: NOR normal
Target Milestone: ---
Assignee: Krusader Bugs Distribution List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-08-23 09:20 UTC by Toni Asensi Esteve
Modified: 2018-05-06 00:16 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Toni Asensi Esteve 2016-08-23 09:20:35 UTC
Krusader allows users to configure it to achieve that an invalid symlink is shown using another color (red, for example), which is very useful to know when the user has any broken link. There's a case when that feature does not work, it's after entering an iso file.

Note: That also happens using Krusader 2.4.0-beta3.

Reproducible: Always

Steps to Reproduce:
1. Configure Krusader to show invalid symlinks using another color, for example: red.
2. Go to a folder where there is an iso file.
3. Create a broken symlink. See that its color is red.
4. Enter an iso file. 
5. Exit the iso file, going back to the previous folder.


Actual Results:  
See that the color of the broken link is not red, it's not prominent.

Expected Results:  
The color of the broken link should be red, the broken link should be prominent.
Comment 1 Davide Gianforte 2016-08-26 09:15:08 UTC
This not happens if you go the previous folder using the path (CTRL+L). A refresh() in the right place should fix this, but it would be interesting to know how this happens.
Comment 2 Alex Bikadorov 2016-10-24 15:09:06 UTC
Git commit e522dbc7d78f25498a7f4cad4cd5bf2175014364 by Alexander Bikadorov.
Committed on 24/10/2016 at 15:01.
Pushed by abikadorov into branch 'vfs_rework'.

Added missing handling of URL redirection to another protocol during refresh.

+ minor cleanup of unused class field

M  +14   -6    krusader/VFS/default_vfs.cpp
M  +1    -1    krusader/VFS/default_vfs.h
M  +3    -1    krusader/VFS/vfs.cpp
M  +1    -2    krusader/VFS/vfs.h
M  +1    -1    krusader/VFS/virt_vfs.cpp

http://commits.kde.org/krusader/e522dbc7d78f25498a7f4cad4cd5bf2175014364
Comment 3 Alex Bikadorov 2016-10-24 15:10:46 UTC
Dived into this and the reason is indeed interesting. When going "out" of an iso to the parent folder containing the iso file the protocol does not change, e.g.
when going up from "iso:///tmp/knoppix_7.1.iso/" the new URL is "iso:///tmp/".

This URL is refreshed and the iso protocol sends a redirect during the KIO job to the correct URL "file:///tmp/". Still the directory listing is done with the KIO:ListJob and here the check for broken links is not done. (Is there even a KIO protocol besides "file:///" that can contain symlinks?)

Anyway, its fixed now in the vfs_rework branch.