Hello community,

here is the log from the commit of package konsole for openSUSE:Factory checked 
in at 2016-09-14 23:14:06
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/konsole (Old)
 and      /work/SRC/openSUSE:Factory/.konsole.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "konsole"

Changes:
--------
--- /work/SRC/openSUSE:Factory/konsole/konsole.changes  2016-09-05 
21:12:15.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.konsole.new/konsole.changes     2016-09-14 
23:14:08.000000000 +0200
@@ -1,0 +2,10 @@
+Fri Sep  9 08:30:58 UTC 2016 - tittiatc...@gmail.com
+
+- Update to KDE Applications 16.08.1
+   * KDE Applications 16.08.1
+   * https://www.kde.org/announcements/announce-applications-16.08.1.php
+
+- Drop upstreamed patches fix-transparency.patch and
+  fix-extra-window-when-restored-by-session-management.patch
+
+-------------------------------------------------------------------

Old:
----
  fix-extra-window-when-restored-by-session-management.patch
  fix-transparency.patch
  konsole-16.08.0.tar.xz

New:
----
  konsole-16.08.1.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ konsole.spec ++++++
--- /var/tmp/diff_new_pack.TwXU88/_old  2016-09-14 23:14:10.000000000 +0200
+++ /var/tmp/diff_new_pack.TwXU88/_new  2016-09-14 23:14:10.000000000 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           konsole
-Version:        16.08.0
+Version:        16.08.1
 Release:        0
 Summary:        KDE Terminal
 License:        GPL-2.0+
@@ -32,10 +32,6 @@
 Source24:       utilities-terminal-su-48.png
 Source25:       utilities-terminal-su-64.png
 Source26:       utilities-terminal-su-128.png
-# PATCH-FIX-UPSTREAM 
fix-extra-window-when-restored-by-session-management.patch kde#367447 -- 
prevents creating an extra window upon session restoration
-Patch:          fix-extra-window-when-restored-by-session-management.patch
-# PATCH-FIX-UPSTREAM fix-transparency.patch kde#366368 -- fix transparent 
backgrounds
-Patch1:         fix-transparency.patch
 BuildRequires:  fdupes
 BuildRequires:  kbookmarks-devel
 BuildRequires:  kconfig-devel
@@ -83,8 +79,6 @@
 
 %prep
 %setup -q
-%patch -p1
-%patch1 -p1
 
 %build
   %cmake_kf5 -d build

++++++ konsole-16.08.0.tar.xz -> konsole-16.08.1.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/konsole-16.08.0/CMakeLists.txt 
new/konsole-16.08.1/CMakeLists.txt
--- old/konsole-16.08.0/CMakeLists.txt  2016-08-10 01:01:34.000000000 +0200
+++ new/konsole-16.08.1/CMakeLists.txt  2016-09-05 00:29:26.000000000 +0200
@@ -4,7 +4,7 @@
 # KDE Application Version, managed by release script
 set (KDE_APPLICATIONS_VERSION_MAJOR "16")
 set (KDE_APPLICATIONS_VERSION_MINOR "08")
-set (KDE_APPLICATIONS_VERSION_MICRO "0")
+set (KDE_APPLICATIONS_VERSION_MICRO "1")
 set (KDE_APPLICATIONS_VERSION 
"${KDE_APPLICATIONS_VERSION_MAJOR}.${KDE_APPLICATIONS_VERSION_MINOR}.${KDE_APPLICATIONS_VERSION_MICRO}")
 
 # minimal requirements
@@ -39,7 +39,7 @@
 
 find_package(KF5 ${KF5_MIN_VERSION} REQUIRED
     Bookmarks Completion Config ConfigWidgets
-    CoreAddons GuiAddons DBusAddons
+    CoreAddons Crash GuiAddons DBusAddons
     I18n IconThemes Init KIO Notifications NotifyConfig
     Parts Pty Service TextWidgets WidgetsAddons
     WindowSystem XmlGui DBusAddons
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/konsole-16.08.0/desktop/konsole.notifyrc 
new/konsole-16.08.1/desktop/konsole.notifyrc
--- old/konsole-16.08.0/desktop/konsole.notifyrc        2016-08-10 
01:01:34.000000000 +0200
+++ new/konsole-16.08.1/desktop/konsole.notifyrc        2016-09-05 
00:29:26.000000000 +0200
@@ -441,6 +441,8 @@
 Name[nn]=Aktivitet i gøymd overvaka økt
 Name[pl]=Aktywność w ukrytej monitorowanej sesji
 Name[pt]=Actividade em Sessão Vigiada Escondida
+Name[pt_BR]=Atividade na sessão oculta monitorada
+Name[sk]=Aktivita v skrytom monitorovanom sedení
 Name[sl]=Dejavnost v skriti nadzorovani seji
 Name[sr]=Активност у скривеној надгледаној сесији
 Name[sr@ijekavian]=Активност у скривеној надгледаној сесији
@@ -464,6 +466,8 @@
 Comment[nn]=Aktivitet oppdaga i gøymd overvaka økt
 Comment[pl]=Wykryto aktywność w ukrytej monitorowanej sesji
 Comment[pt]=Actividade detectada numa sessão vigiada que esteja escondida
+Comment[pt_BR]=Atividade detectada em uma sessão oculta monitorada
+Comment[sk]=Zistená aktivita v skrytom monitorovanom sedení
 Comment[sl]=V skriti nadzorovani seji je bila zaznana dejavnost
 Comment[sr]=Уочена је активност скривеној у надгледаној сесији
 Comment[sr@ijekavian]=Уочена је активност скривеној у надгледаној сесији
@@ -655,6 +659,8 @@
 Name[nn]=Stille i gøymd overvaka økt
 Name[pl]=Cisza w ukrytej monitorowanej sesji
 Name[pt]=Silêncio em Sessão Vigiada Escondida
+Name[pt_BR]=Silêncio na sessão oculta monitorada
+Name[sk]=Nečinnosť v skrytom monitorovanom sedení
 Name[sl]=Nedejavnost v skriti nadzorovani seji
 Name[sr]=Тишина у скривеној надгледаној сесији
 Name[sr@ijekavian]=Тишина у скривеној надгледаној сесији
@@ -678,6 +684,8 @@
 Comment[nn]=Stille oppdaga i gøymd overvaka økt
 Comment[pl]=Wykryto ciszę w ukrytej monitorowanej sesji
 Comment[pt]=Silêncio detectado numa sessão vigiada que esteja escondida
+Comment[pt_BR]=Silêncio detectado em uma sessão oculta monitorada
+Comment[sk]=Zistená nečinnosť v skrytom monitorovanom sedení
 Comment[sl]=V skriti nadzorovani seji je bila zaznana nedejavnost
 Comment[sr]=Уочена је тишина скривеној у надгледаној сесији
 Comment[sr@ijekavian]=Уочена је тишина скривеној у надгледаној сесији
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/konsole-16.08.0/desktop/konsolerun.desktop 
new/konsole-16.08.1/desktop/konsolerun.desktop
--- old/konsole-16.08.0/desktop/konsolerun.desktop      2016-08-10 
01:01:34.000000000 +0200
+++ new/konsole-16.08.1/desktop/konsolerun.desktop      2016-09-05 
00:29:26.000000000 +0200
@@ -79,6 +79,7 @@
 Comment[pl]=Uruchom wewnątrz konsoli
 Comment[pt]=Executar no Konsole
 Comment[pt_BR]=Executar no Konsole
+Comment[ru]=Выполнить команду в Konsole
 Comment[sk]=Spustiť v Konsole
 Comment[sl]=Zaženi znotraj Konsole
 Comment[sr]=Изврши у Конзоли
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/konsole-16.08.0/desktop/org.kde.konsole.appdata.xml 
new/konsole-16.08.1/desktop/org.kde.konsole.appdata.xml
--- old/konsole-16.08.0/desktop/org.kde.konsole.appdata.xml     2016-08-10 
01:01:34.000000000 +0200
+++ new/konsole-16.08.1/desktop/org.kde.konsole.appdata.xml     2016-09-05 
00:29:26.000000000 +0200
@@ -15,6 +15,7 @@
   <name xml:lang="el">Konsole</name>
   <name xml:lang="en-GB">Konsole</name>
   <name xml:lang="es">Konsole</name>
+  <name xml:lang="et">Konsool</name>
   <name xml:lang="fi">Konsole</name>
   <name xml:lang="fr">Konsole</name>
   <name xml:lang="gl">Konsole</name>
@@ -55,6 +56,7 @@
   <summary xml:lang="el">Τερματικό</summary>
   <summary xml:lang="en-GB">Terminal</summary>
   <summary xml:lang="es">Terminal</summary>
+  <summary xml:lang="et">Terminal</summary>
   <summary xml:lang="fi">Pääteikkuna</summary>
   <summary xml:lang="fr">Terminal</summary>
   <summary xml:lang="gl">Terminal</summary>
@@ -94,6 +96,7 @@
     <p xml:lang="el">Το Konsole είναι ένας εξομοιωτής τερματικού.</p>
     <p xml:lang="en-GB">Konsole is a terminal emulator.</p>
     <p xml:lang="es">Konsole es un emulador de terminal.</p>
+    <p xml:lang="et">Konsool on terminaliemulaator.</p>
     <p xml:lang="fi">Konsole on pääte-emulaattori.</p>
     <p xml:lang="fr">Konsole est un émulateur de terminal.</p>
     <p xml:lang="gl">Konsole é un emulador de terminal.</p>
@@ -133,6 +136,7 @@
     <p xml:lang="el">Χαρακτηριστικά:</p>
     <p xml:lang="en-GB">Features:</p>
     <p xml:lang="es">Funcionalidades:</p>
+    <p xml:lang="et">Omadused:</p>
     <p xml:lang="fi">Ominaisuuksia:</p>
     <p xml:lang="fr">Fonctionnalités :</p>
     <p xml:lang="gl">Funcionalidades:</p>
@@ -174,6 +178,7 @@
       <li xml:lang="el">Καρτέλες</li>
       <li xml:lang="en-GB">Tabs</li>
       <li xml:lang="es">Pestañas</li>
+      <li xml:lang="et">Kaardid</li>
       <li xml:lang="fi">Välilehdet</li>
       <li xml:lang="fr">Onglets</li>
       <li xml:lang="gl">Lapelas.</li>
@@ -212,6 +217,7 @@
       <li xml:lang="el">Πολλαπλά προφίλ</li>
       <li xml:lang="en-GB">Multiple profiles</li>
       <li xml:lang="es">Perfiles múltiples</li>
+      <li xml:lang="et">Mitme profiili võimalus</li>
       <li xml:lang="fi">Useat profiilit</li>
       <li xml:lang="fr">Multi profiles</li>
       <li xml:lang="gl">Varios perfís.</li>
@@ -249,6 +255,7 @@
       <li xml:lang="el">Παρακολούθηση κατάστασης αδράνειας και 
δραστηριοτήτων</li>
       <li xml:lang="en-GB">Silence and Activity monitoring</li>
       <li xml:lang="es">Supervisión de silencios y actividad</li>
+      <li xml:lang="et">Vaikuse ja aktiivsuse jälgimine</li>
       <li xml:lang="fi">Hiljaisuuden ja aktiivisuuden tarkkailu</li>
       <li xml:lang="fr">Détection d'activité et de non activité</li>
       <li xml:lang="gl">Control de actividade e inactividade.</li>
@@ -285,6 +292,7 @@
       <li xml:lang="el">υποστήριξη σελιδοδεικτών</li>
       <li xml:lang="en-GB">Bookmark support</li>
       <li xml:lang="es">Uso de marcadores</li>
+      <li xml:lang="et">Järjehoidjate toetus</li>
       <li xml:lang="fi">Kirjanmerkkituki</li>
       <li xml:lang="fr">Prise en charge des signets</li>
       <li xml:lang="gl">Marcadores.</li>
@@ -322,6 +330,7 @@
       <li xml:lang="el">Αναζήτηση</li>
       <li xml:lang="en-GB">Searching</li>
       <li xml:lang="es">Búsqueda</li>
+      <li xml:lang="et">Otsimine</li>
       <li xml:lang="fi">Haku</li>
       <li xml:lang="fr">Recherche</li>
       <li xml:lang="gl">Busca.</li>
@@ -361,6 +370,7 @@
       <li xml:lang="el">Αποθήκευση αποτελέσματος</li>
       <li xml:lang="en-GB">Saving output</li>
       <li xml:lang="es">Guardar la salida</li>
+      <li xml:lang="et">Väljundi salvestamine</li>
       <li xml:lang="fi">Tulosteen tallennus</li>
       <li xml:lang="fr">Enregistrement de la sortie</li>
       <li xml:lang="gl">Posibilidade de gardar a saída.</li>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/konsole-16.08.0/desktop/org.kde.konsole.desktop 
new/konsole-16.08.1/desktop/org.kde.konsole.desktop
--- old/konsole-16.08.0/desktop/org.kde.konsole.desktop 2016-08-10 
01:01:34.000000000 +0200
+++ new/konsole-16.08.1/desktop/org.kde.konsole.desktop 2016-09-05 
00:29:26.000000000 +0200
@@ -294,6 +294,7 @@
 Name[pl]=Otwórz nową kartę
 Name[pt]=Abrir uma Nova Página
 Name[pt_BR]=Abre uma nova aba
+Name[ru]=Открыть новую вкладку
 Name[sk]=Otvoriť novú kartu
 Name[sl]=Odpri nov zavihek
 Name[sr]=Отвори нови језичак
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/konsole-16.08.0/src/Application.cpp 
new/konsole-16.08.1/src/Application.cpp
--- old/konsole-16.08.0/src/Application.cpp     2016-08-10 01:01:34.000000000 
+0200
+++ new/konsole-16.08.1/src/Application.cpp     2016-09-05 00:29:26.000000000 
+0200
@@ -40,6 +40,7 @@
 #include "KonsoleSettings.h"
 #include "ViewManager.h"
 #include "SessionController.h"
+#include "WindowSystemInfo.h"
 
 using namespace Konsole;
 
@@ -56,8 +57,9 @@
 
 MainWindow* Application::newMainWindow()
 {
+    WindowSystemInfo::HAVE_TRANSPARENCY = 
!m_parser.isSet(QStringLiteral("notransparency"));
+
     MainWindow* window = new MainWindow();
-    window->setTransparency(!m_parser.isSet(QStringLiteral("notransparency")));
 
     connect(window, &Konsole::MainWindow::newWindowRequest, this, 
&Konsole::Application::createWindow);
     connect(window, &Konsole::MainWindow::viewDetached, this, 
&Konsole::Application::detachView);
@@ -106,21 +108,23 @@
 
     if (m_parser.isSet(QStringLiteral("tabs-from-file"))) {
         // create new session(s) as described in file
-        processTabsFromFileArgs(window);
-    } else {
-        // select profile to use
-        Profile::Ptr baseProfile = processProfileSelectArgs();
+        if (!processTabsFromFileArgs(window)) {
+            return 0;
+        }
+    }
 
-        // process various command-line options which cause a property of the
-        // selected profile to be changed
-        Profile::Ptr newProfile = processProfileChangeArgs(baseProfile);
+    // select profile to use
+    Profile::Ptr baseProfile = processProfileSelectArgs();
 
-        // create new session
-        Session* session = window->createSession(newProfile, QString());
+    // process various command-line options which cause a property of the
+    // selected profile to be changed
+    Profile::Ptr newProfile = processProfileChangeArgs(baseProfile);
 
-        if (m_parser.isSet(QStringLiteral("noclose"))) {
-            session->setAutoClose(false);
-        }
+    // create new session
+    Session* session = window->createSession(newProfile, QString());
+
+    if (m_parser.isSet(QStringLiteral("noclose"))) {
+        session->setAutoClose(false);
     }
 
     // if the background-mode argument is supplied, start the background
@@ -169,7 +173,7 @@
 command: ssh  earth
 profile: Zsh
 */
-void Application::processTabsFromFileArgs(MainWindow* window)
+bool Application::processTabsFromFileArgs(MainWindow* window)
 {
     // Open tab configuration file
     const QString 
tabsFileName(m_parser.value(QStringLiteral("tabs-from-file")));
@@ -177,7 +181,7 @@
     if (!tabsFile.open(QFile::ReadOnly)) {
         qWarning() << "ERROR: Cannot open tabs file "
                    << tabsFileName.toLocal8Bit().data();
-        return;
+        return false;
     }
 
     unsigned int sessions = 0;
@@ -207,8 +211,10 @@
     if (sessions < 1) {
         qWarning() << "No valid lines found in "
                    << tabsFileName.toLocal8Bit().data();
-        return;
+        return false;
     }
+
+    return true;
 }
 
 void Application::createTabFromArgs(MainWindow* window,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/konsole-16.08.0/src/Application.h 
new/konsole-16.08.1/src/Application.h
--- old/konsole-16.08.0/src/Application.h       2016-08-10 01:01:34.000000000 
+0200
+++ new/konsole-16.08.1/src/Application.h       2016-09-05 00:29:26.000000000 
+0200
@@ -81,7 +81,7 @@
     MainWindow* processWindowArgs(bool &createdNewMainWindow);
     Profile::Ptr processProfileSelectArgs();
     Profile::Ptr processProfileChangeArgs(Profile::Ptr baseProfile);
-    void processTabsFromFileArgs(MainWindow* window);
+    bool processTabsFromFileArgs(MainWindow* window);
     void createTabFromArgs(MainWindow* window, const QHash<QString, QString>&);
     void finalizeNewMainWindow(MainWindow* window);
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/konsole-16.08.0/src/CMakeLists.txt 
new/konsole-16.08.1/src/CMakeLists.txt
--- old/konsole-16.08.0/src/CMakeLists.txt      2016-08-10 01:01:34.000000000 
+0200
+++ new/konsole-16.08.1/src/CMakeLists.txt      2016-09-05 00:29:26.000000000 
+0200
@@ -175,6 +175,7 @@
   KF5::I18n
   KF5::KIOWidgets
   KF5::NotifyConfig
+  KF5::Crash
 )
 
 install(TARGETS kdeinit_konsole konsole
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/konsole-16.08.0/src/Filter.cpp 
new/konsole-16.08.1/src/Filter.cpp
--- old/konsole-16.08.0/src/Filter.cpp  2016-08-10 01:01:34.000000000 +0200
+++ new/konsole-16.08.1/src/Filter.cpp  2016-09-05 00:29:26.000000000 +0200
@@ -337,7 +337,7 @@
 
     Q_ASSERT(text);
 
-    if (!_searchText.isValid()) {
+    if (!_searchText.isValid() || _searchText.pattern().isEmpty()) {
         return;
     }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/konsole-16.08.0/src/MainWindow.cpp 
new/konsole-16.08.1/src/MainWindow.cpp
--- old/konsole-16.08.0/src/MainWindow.cpp      2016-08-10 01:01:34.000000000 
+0200
+++ new/konsole-16.08.1/src/MainWindow.cpp      2016-09-05 00:29:26.000000000 
+0200
@@ -64,7 +64,6 @@
     , _pluggedController(0)
     , _menuBarInitialVisibility(true)
     , _menuBarInitialVisibilityApplied(false)
-    , _useTransparency(false)
 {
     if (!KonsoleSettings::saveGeometryOnExit()) {
         // If we are not using the global Konsole save geometry on exit,
@@ -83,8 +82,6 @@
         }
     }
 
-    connect(KWindowSystem::self(), &KWindowSystem::compositingChanged, this, 
&MainWindow::updateUseTransparency);
-
     updateUseTransparency();
 
     // create actions for menus
@@ -129,11 +126,14 @@
 
 void MainWindow::updateUseTransparency()
 {
-    bool useTranslucency = KWindowSystem::compositingActive() && 
_useTransparency;
+    if (!WindowSystemInfo::HAVE_TRANSPARENCY) {
+        return;
+    }
+
+    bool useTranslucency = KWindowSystem::compositingActive();
 
     setAttribute(Qt::WA_TranslucentBackground, useTranslucency);
     setAttribute(Qt::WA_NoSystemBackground, false);
-
     WindowSystemInfo::HAVE_TRANSPARENCY = useTranslucency;
 }
 
@@ -536,8 +536,9 @@
 
     QStringList processesRunning;
     foreach(Session *session, _viewManager->sessions()) {
-        if (!session)
+        if (!session || !session->isForegroundProcessActive()) {
             continue;
+        }
 
         const QString defaultProc = session->program().split('/').last();
         const QString currentProc = 
session->foregroundProcessName().split('/').last();
@@ -581,7 +582,7 @@
     case KMessageBox::No:
         if (_pluggedController && _pluggedController->session()) {
             disconnectController(_pluggedController);
-            _pluggedController->closeSession();
+            _pluggedController->session()->closeInNormalWay();
         }
         return false;
     case KMessageBox::Cancel:
@@ -765,11 +766,6 @@
     _viewManager->setShowQuickButtons(show);
 }
 
-void MainWindow::setTransparency(bool useTransparency)
-{
-    _useTransparency = useTransparency;
-}
-
 void MainWindow::activateMenuBar()
 {
     const QList<QAction*> menuActions = menuBar()->actions();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/konsole-16.08.0/src/MainWindow.h 
new/konsole-16.08.1/src/MainWindow.h
--- old/konsole-16.08.0/src/MainWindow.h        2016-08-10 01:01:34.000000000 
+0200
+++ new/konsole-16.08.1/src/MainWindow.h        2016-09-05 00:29:26.000000000 
+0200
@@ -109,7 +109,6 @@
     void setNavigationStyleSheetFromFile(const QUrl& stylesheetfile);
     void setNavigationBehavior(int behavior);
     void setShowQuickButtons(bool show);
-    void setTransparency(bool useTransparency);
 
 signals:
 
@@ -211,7 +210,6 @@
 
     bool _menuBarInitialVisibility;
     bool _menuBarInitialVisibilityApplied;
-    bool _useTransparency;
 };
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/konsole-16.08.0/src/Profile.cpp 
new/konsole-16.08.1/src/Profile.cpp
--- old/konsole-16.08.0/src/Profile.cpp 2016-08-10 01:01:34.000000000 +0200
+++ new/konsole-16.08.1/src/Profile.cpp 2016-09-05 00:29:26.000000000 +0200
@@ -178,7 +178,7 @@
     setProperty(FlowControlEnabled, true);
     setProperty(EnableUrlHints, false);
     setProperty(BlinkingTextEnabled, true);
-    setProperty(UnderlineLinksEnabled, true);
+    setProperty(UnderlineLinksEnabled, false);
     setProperty(OpenLinksByDirectClickEnabled, false);
     setProperty(CtrlRequiredForDrag, true);
     setProperty(AutoCopySelectedText, false);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/konsole-16.08.0/src/Session.cpp 
new/konsole-16.08.1/src/Session.cpp
--- old/konsole-16.08.0/src/Session.cpp 2016-08-10 01:01:34.000000000 +0200
+++ new/konsole-16.08.1/src/Session.cpp 2016-09-05 00:29:26.000000000 +0200
@@ -822,13 +822,18 @@
         return true;
     }
 
-    _shellProcess->sendEof();
+    static QSet<QString> knownShells({"ash", "bash", "csh", "dash", "fish", 
"hush", "ksh", "mksh", "pdksh", "tcsh", "zsh"});
 
-    if (_shellProcess->waitForFinished(1000)) {
-        return true;
+    // If only the session's shell is running, try sending an EOF for a clean 
exit
+    if (!isForegroundProcessActive() && 
knownShells.contains(QFileInfo(_program).fileName())) {
+        _shellProcess->sendEof();
+
+        if (_shellProcess->waitForFinished(1000)) {
+            return true;
+        }
+        qWarning() << "shell did not close, sending SIGHUP";
     }
 
-    qWarning() << "shell did not close, sending SIGHUP";
 
     // We tried asking nicely, ask a bit less nicely
     if (kill(SIGHUP)) {
@@ -987,6 +992,9 @@
     ProcessInfo* process = 0;
 
     if (isForegroundProcessActive()) {
+        if (_foregroundProcessInfo == nullptr) {
+            updateForegroundProcessInfo();
+        }
         process = _foregroundProcessInfo;
     } else {
         updateSessionProcessInfo();
@@ -1464,7 +1472,7 @@
 bool Session::isForegroundProcessActive()
 {
     // foreground process info is always updated after this
-    return updateForegroundProcessInfo() && (processId() != _foregroundPid);
+    return (_shellProcess->pid() != _shellProcess->foregroundProcessGroup());
 }
 
 QString Session::foregroundProcessName()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/konsole-16.08.0/src/TerminalDisplay.cpp 
new/konsole-16.08.1/src/TerminalDisplay.cpp
--- old/konsole-16.08.0/src/TerminalDisplay.cpp 2016-08-10 01:01:34.000000000 
+0200
+++ new/konsole-16.08.1/src/TerminalDisplay.cpp 2016-09-05 00:29:26.000000000 
+0200
@@ -429,7 +429,7 @@
     // that TerminalDisplay will handle repainting its entire area.
     setAttribute(Qt::WA_OpaquePaintEvent);
 
-    _gridLayout = new QGridLayout(this);
+    _gridLayout = new QGridLayout;
     _gridLayout->setContentsMargins(0, 0, 0, 0);
 
     setLayout(_gridLayout);
@@ -448,9 +448,6 @@
     disconnect(_blinkCursorTimer);
 
     delete[] _image;
-
-    delete _gridLayout;
-    delete _outputSuspendedLabel;
     delete _filterChain;
 }
 
@@ -3067,8 +3064,7 @@
                                                 "<a 
href=\"http://en.wikipedia.org/wiki/Software_flow_control\";>suspended</a>"
                                                 " by pressing Ctrl+S."
                                                 "  Press <b>Ctrl+Q</b> to 
resume."
-                                                "  Click <a 
href=\"#close\">here</a> to dismiss this message.</qt>"),
-                                           this);
+                                                "  Click <a 
href=\"#close\">here</a> to dismiss this message.</qt>"));
 
         QPalette palette(_outputSuspendedLabel->palette());
         KColorScheme::adjustBackground(palette, 
KColorScheme::NeutralBackground);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/konsole-16.08.0/src/ViewManager.cpp 
new/konsole-16.08.1/src/ViewManager.cpp
--- old/konsole-16.08.0/src/ViewManager.cpp     2016-08-10 01:01:34.000000000 
+0200
+++ new/konsole-16.08.1/src/ViewManager.cpp     2016-09-05 00:29:26.000000000 
+0200
@@ -941,6 +941,14 @@
     int tab = 1;
     foreach(int id, ids) {
         Session* session = SessionManager::instance()->idToSession(id);
+
+        if (!session) {
+            qWarning() << "Unable to load session with id" << id;
+            // Force a creation of a default session below
+            ids.clear();
+            break;
+        }
+
         createView(session);
         if (!session->isRunning())
             session->run();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/konsole-16.08.0/src/main.cpp 
new/konsole-16.08.1/src/main.cpp
--- old/konsole-16.08.0/src/main.cpp    2016-08-10 01:01:34.000000000 +0200
+++ new/konsole-16.08.1/src/main.cpp    2016-09-05 00:29:26.000000000 +0200
@@ -31,6 +31,7 @@
 // KDE
 #include <KAboutData>
 #include <KLocalizedString>
+#include <KCrash>
 #include <Kdelibs4ConfigMigrator>
 #include <Kdelibs4Migration>
 #include <kdbusservice.h>
@@ -106,6 +107,8 @@
 
     KAboutData::setApplicationData(about);
 
+    KCrash::initialize();
+
     QCommandLineParser parser;
     parser.setApplicationDescription(about.shortDescription());
     parser.addHelpOption();
@@ -158,15 +161,16 @@
     // of Konsole is started.
     QObject::connect(&dbusService, &KDBusService::activateRequested, 
&konsoleApp, &Application::slotActivateRequested);
 
-    if (!konsoleApp.newInstance()) {
-        // An argument that printed something and mean we should just quit was 
passed.
+    if (app->isSessionRestored()) {
+        restoreSession(konsoleApp);
+    } else if (!konsoleApp.newInstance()) {
+        // Do not finish starting Konsole
+        // 1. An argument was given to just printed info
+        // 2. An invalid situation ocurred
         delete app;
         return 0;
     }
 
-    if (app->isSessionRestored())
-        restoreSession(konsoleApp);
-
     // Since we've allocated the QApplication on the heap for the KDBusService 
workaround,
     // we need to delete it manually before returning from main().
     int ret = app->exec();








Reply via email to