Summary: | changing folder name over the media protocol locks the folder | ||
---|---|---|---|
Product: | [Unmaintained] kio | Reporter: | tropikhajma <tropikhajma> |
Component: | media | Assignee: | Kevin Ottens <ervin> |
Status: | RESOLVED FIXED | ||
Severity: | normal | ||
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | Mandriva RPMs | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: |
Description
tropikhajma
2005-08-16 23:48:24 UTC
Can reproduce this one, even in the 3.5 branch. SVN commit 464310 by ervin: We have to plan a refresh of an item if it uses UDS_LOCAL_PATH. Thanks to dfaure for the patch. CCBUG:110932 M +9 -4 kdirlister.cpp --- branches/KDE/3.5/kdelibs/kio/kio/kdirlister.cpp #464309:464310 @@ -755,10 +755,15 @@ KFileItem *fileitem = findByURL( 0, oldurl ); if ( fileitem ) { - aboutToRefreshItem( fileitem ); - fileitem->setURL( dst ); - fileitem->refreshMimeType(); - emitRefreshItem( fileitem ); + if ( !fileitem->isLocalFile() && !fileitem->localPath().isEmpty() ) // it uses UDS_LOCAL_PATH? ouch, needs an update then + FilesChanged( src ); + else + { + aboutToRefreshItem( fileitem ); + fileitem->setURL( dst ); + fileitem->refreshMimeType(); + emitRefreshItem( fileitem ); + } } #ifdef DEBUG_CACHE printDebug(); SVN commit 464311 by ervin: We have to plan a refresh of an item if it uses UDS_LOCAL_PATH. Thanks to dfaure for the patch. (forward port) BUG:110932 M +9 -4 kdirlister.cpp --- trunk/KDE/kdelibs/kio/kio/kdirlister.cpp #464310:464311 @@ -761,10 +761,15 @@ KFileItem *fileitem = findByURL( 0, oldurl ); if ( fileitem ) { - aboutToRefreshItem( fileitem ); - fileitem->setURL( dst ); - fileitem->refreshMimeType(); - emitRefreshItem( fileitem ); + if ( !fileitem->isLocalFile() && !fileitem->localPath().isEmpty() ) // it uses UDS_LOCAL_PATH? ouch, needs an update then + FilesChanged( src ); + else + { + aboutToRefreshItem( fileitem ); + fileitem->setURL( dst ); + fileitem->refreshMimeType(); + emitRefreshItem( fileitem ); + } } #ifdef DEBUG_CACHE printDebug(); |