summaryrefslogtreecommitdiffstats
path: root/tdenewstuff/knewstuffgeneric.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tdenewstuff/knewstuffgeneric.cpp')
-rw-r--r--tdenewstuff/knewstuffgeneric.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/tdenewstuff/knewstuffgeneric.cpp b/tdenewstuff/knewstuffgeneric.cpp
index 16fda977c..757971268 100644
--- a/tdenewstuff/knewstuffgeneric.cpp
+++ b/tdenewstuff/knewstuffgeneric.cpp
@@ -29,6 +29,7 @@
#include <tdeconfig.h>
#include <kstandarddirs.h>
#include <tdemessagebox.h>
+#include <kmimemagic.h>
#include <ktar.h>
#include "entry.h"
@@ -49,6 +50,18 @@ TDENewStuffGeneric::~TDENewStuffGeneric()
bool TDENewStuffGeneric::install( const TQString &fileName )
{
+ // Try to detect the most common cases where (usually adware) Web pages are downloaded
+ // instead of the desired file and abort
+ KMimeMagicResult *res = KMimeMagic::self()->findFileType( fileName );
+ if ( res->isValid() && res->accuracy() > 40 ) {
+ if (type().lower().contains("wallpaper")) {
+ if (!res->mimeType().startsWith("image/")) {
+ TQFile::remove(fileName);
+ return false;
+ }
+ }
+}
+
kdDebug() << "TDENewStuffGeneric::install(): " << fileName << endl;
TQStringList list, list2;