diff --git a/tdenewstuff/knewstuff.cpp b/tdenewstuff/knewstuff.cpp index ad4f0fb98..3fb2b72ce 100644 --- a/tdenewstuff/knewstuff.cpp +++ b/tdenewstuff/knewstuff.cpp @@ -69,10 +69,14 @@ void TDENewStuff::download() mEngine->download(); } -TQString TDENewStuff::downloadDestination( Entry * ) +TQString TDENewStuff::downloadDestination( Entry *entry ) { + // Respect downloaded file's extension + TQString ext = entry->payload().fileName().section('.', 1); + if ( ! ext.isEmpty() ) ext = "." + ext; + return TDEGlobal::dirs()->saveLocation( "tmp" ) + - TDEApplication::randomString( 10 ); + TDEApplication::randomString( 10 ) + ext; } void TDENewStuff::upload()