Index: kparts/browserrun.cpp
===================================================================
--- kparts/browserrun.cpp	(revisión: 754930)
+++ kparts/browserrun.cpp	(copia de trabajo)
@@ -221,10 +221,9 @@
     Q_ASSERT( !hasFinished() ); // only come here if the mimetype couldn't be embedded
     // Support for saving remote files.
     if ( mimeType != "inode/directory" && // dirs can't be saved
-         !KRun::url().isLocalFile() )
+         !KRun::url().isLocalFile() &&
+         !isTextExecutable(mimeType) )
     {
-        if ( isTextExecutable(mimeType) )
-            mimeType = QLatin1String("text/plain"); // view, don't execute
         kDebug(1000) << "BrowserRun: ask for saving";
         KService::Ptr offer = KMimeTypeTrader::self()->preferredService(mimeType, "Application");
         // ... -> ask whether to save
@@ -263,15 +262,15 @@
                 KIO::Job *job = KIO::file_copy( KRun::url(), destURL, 0600, KIO::Overwrite );
                 job->ui()->setWindow(d->m_window);
                 connect( job, SIGNAL(result(KJob *)),
-                         this, SLOT(slotCopyToTempFileResult(KJob *)) );
+                        this, SLOT(slotCopyToTempFileResult(KJob *)) );
                 return Delayed; // We'll continue after the job has finished
             }
         }
     }
 
     // Check if running is allowed
-    if ( !d->m_bTrustedSource && // ... and untrusted source...
-         !allowExecution( mimeType, KRun::url() ) ) // ...and the user said no (for executables etc.)
+    if ( d->m_bTrustedSource ||
+         allowExecution( mimeType, KRun::url() ) )
     {
         setFinished( true );
         return Handled;
