The smb_kio plugin does not create the "." UDSEntry, relying on the underlying KIO infrastructure to create a default one. This patch ensures that the UDSEntry is always created with proper access permissions.
Details
Diff Detail
- Repository
- R320 KIO Extras
- Lint
Automatic diff as part of commit; lint not applicable. - Unit
Automatic diff as part of commit; unit tests not applicable.
smb/kio_smb_browse.cpp | ||
---|---|---|
359 | Wrong indentation? |
smb/kio_smb_browse.cpp | ||
---|---|---|
354–356 | This if branch does nothing, it can be removed. |
smb/kio_smb_browse.cpp | ||
---|---|---|
354–356 | This empty if is actually quite essential. It makes sure that the "." file does not get processed in the loop. Unless this is done, Dolphin throws nonsensical error messages about non-existent files because the processing loop expands the m_current_url by the entry that is being processed, calls browse_stat_path() on it and then cd()s back up. If the "." gets handled in this fashion, the m_current_url is incorrectly cd()ed one level up to the parent directory. I will update the patch to include a comment about this not so apparent behavior. |
smb/kio_smb_browse.cpp | ||
---|---|---|
354–356 | Oh, I see. Then maybe also add a continue in the if block |
smb/kio_smb_browse.cpp | ||
---|---|---|
354–356 | udsentry.clear() has to be called an the end of the loop because the udsentry object that is reused in each iteration is manipulated before the loop reaches that if. continueing from the empty if would skip that call. |
smb/kio_smb_browse.cpp | ||
---|---|---|
354–356 | Right, didn't notice that (quite an huge loop...). |