Hello community,

here is the log from the commit of package kdelibs4support for openSUSE:Factory 
checked in at 2016-02-24 18:54:15
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kdelibs4support (Old)
 and      /work/SRC/openSUSE:Factory/.kdelibs4support.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "kdelibs4support"

Changes:
--------
--- /work/SRC/openSUSE:Factory/kdelibs4support/kdelibs4support.changes  
2016-01-20 09:42:35.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.kdelibs4support.new/kdelibs4support.changes     
2016-02-24 18:54:16.000000000 +0100
@@ -1,0 +2,18 @@
+Mon Feb 22 16:16:03 UTC 2016 - [email protected]
+
+- Add and enable use-setFallbackSessionManagementEnabled-API-with-5.5.1.patch
+  on 42.1 Leap only, for now (kde#354724, boo#955280)
+
+-------------------------------------------------------------------
+Wed Feb 17 22:07:24 UTC 2016 - [email protected]
+
+- Added fix-session-saving.patch (kde#354724, boo#955280)
+
+-------------------------------------------------------------------
+Sat Feb  6 18:00:48 UTC 2016 - [email protected]
+
+- Update to 5.19.0 (boo#967668)
+  * For more details please see:
+    https://www.kde.org/announcements/kde-frameworks-5.19.0.php
+
+-------------------------------------------------------------------

Old:
----
  kdelibs4support-5.18.0.tar.xz

New:
----
  fix-session-saving.patch
  kdelibs4support-5.19.0.tar.xz
  use-setFallbackSessionManagementEnabled-API-with-5.5.1.patch

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

Other differences:
------------------
++++++ kdelibs4support.spec ++++++
--- /var/tmp/diff_new_pack.mz8tds/_old  2016-02-24 18:54:17.000000000 +0100
+++ /var/tmp/diff_new_pack.mz8tds/_new  2016-02-24 18:54:17.000000000 +0100
@@ -18,9 +18,9 @@
 
 %bcond_without lang
 %define lname   libKF5KDELibs4Support5
-%define _tar_path 5.18
+%define _tar_path 5.19
 Name:           kdelibs4support
-Version:        5.18.0
+Version:        5.19.0
 Release:        0
 %define kf5_version %{version}
 BuildRequires:  NetworkManager-devel
@@ -76,6 +76,11 @@
 Url:            http://www.kde.org
 Source:         
http://download.kde.org/stable/frameworks/%{_tar_path}/portingAids/%{name}-%{version}.tar.xz
 Source1:        baselibs.conf
+# PATCH-FIX-UPSTREAM fix-session-saving.patch -- kde#354724, boo#955280
+Patch0:         fix-session-saving.patch
+# PATCH-FIX-UPSTREAM 
use-setFallbackSessionManagementEnabled-API-with-5.5.1.patch -- We can enable 
usage of setFallbackSessionManagementEnabled function
+# with Qt 5.5.1, as we have the qtbase patch backported. For now only apppy 
patch on 42.1 Leap, as TW doesn't have that patch yet -- #354724, boo#955280
+Patch1:         use-setFallbackSessionManagementEnabled-API-with-5.5.1.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 
 %description
@@ -188,6 +193,10 @@
 %lang_package
 %prep
 %setup -q
+%patch0 -p1
+%if 0%{?suse_version} == 1315 && 0%{?is_opensuse}
+%patch1 -p1
+%endif
 
 %build
   %cmake_kf5 -d build

++++++ fix-session-saving.patch ++++++
>From 58e49487aece3de19aae90bbb9b80cd5aab94d04 Mon Sep 17 00:00:00 2001
From: Andreas Hartmetz <[email protected]>
Date: Fri, 19 Feb 2016 19:49:01 +0100
Subject: [PATCH 2/2] Fix session management for KApplication based
 applications.

- Call QGuiApplication::setFallbackSessionManagementEnabled(false)
  to prevent premature application exit
- Wire up the saveStateRequest() and  commitDataRequest() signals
  to the appropriate methods that had to be turned into slots first.
  Those methods were never even called, they were not ported properly.
- Cancel logout when the user decides to do that. A comment in the
  code was not sufficient to do that. (?!?!)

CCBUG: 354724
---
 src/kdeui/kapplication.cpp | 17 ++++++++++++++++-
 src/kdeui/kapplication.h   | 29 +++++++++++++++--------------
 2 files changed, 31 insertions(+), 15 deletions(-)

diff --git a/src/kdeui/kapplication.cpp b/src/kdeui/kapplication.cpp
index d78212a..54fd1de 100644
--- a/src/kdeui/kapplication.cpp
+++ b/src/kdeui/kapplication.cpp
@@ -380,6 +380,9 @@ void KApplicationPrivate::init(bool GUIenabled)
     parseCommandLine();
 
     QApplication::setDesktopSettingsAware(false);
+#if QT_VERSION >= QT_VERSION_CHECK(5, 6, 0)
+    QGuiApplication::setFallbackSessionManagementEnabled(false);
+#endif
 
 #if HAVE_X11
     isX11 = (QGuiApplication::platformName() == QStringLiteral("xcb"));
@@ -472,6 +475,12 @@ void KApplicationPrivate::init(bool GUIenabled)
     q->connect(KToolInvocation::self(), 
SIGNAL(kapplication_hook(QStringList&,QByteArray&)),
                q, 
SLOT(_k_slot_KToolInvocation_hook(QStringList&,QByteArray&)));
 
+    q->connect(q, SIGNAL(commitDataRequest(QSessionManager&)),
+               q, SLOT(commitData(QSessionManager&)));
+    q->connect(q, SIGNAL(saveStateRequest(QSessionManager&)),
+               q, SLOT(saveState(QSessionManager&)));
+
+
 #ifdef Q_OS_MAC
     // This is a QSystemTrayIcon instead of K* because we can't be sure q is a 
QWidget
     QSystemTrayIcon *trayIcon; //krazy:exclude=qclasses
@@ -577,11 +586,13 @@ void KApplication::commitData(QSessionManager &sm)
                 continue;
             }
 
+            // leave KMainWindows alone because they are handled by 
KMWSessionManager
             if (!w->isHidden() && !w->inherits("KMainWindow")) {
                 QCloseEvent e;
                 sendEvent(w, &e);
                 if (!e.isAccepted()) {
-                    break;    //canceled
+                    canceled = true;
+                    break;
                 }
 
                 donelist.append(w);
@@ -597,6 +608,10 @@ void KApplication::commitData(QSessionManager &sm)
     } else {
         sm.setRestartHint(QSessionManager::RestartIfRunning);
     }
+
+    if (canceled) {
+        sm.cancel();
+    }
     d->session_save = false;
 }
 
diff --git a/src/kdeui/kapplication.h b/src/kdeui/kapplication.h
index 2231084..c9b1cb6 100644
--- a/src/kdeui/kapplication.h
+++ b/src/kdeui/kapplication.h
@@ -155,20 +155,6 @@ public:
     void enableSessionManagement();
 
     /**
-     * Reimplemented for internal purposes, mainly the highlevel
-     *  handling of session management with KSessionManager.
-     * @internal
-     */
-    void commitData(QSessionManager &sm);
-
-    /**
-     * Reimplemented for internal purposes, mainly the highlevel
-     *  handling of session management with KSessionManager.
-     * @internal
-     */
-    void saveState(QSessionManager &sm);
-
-    /**
      * @deprecated since 5.0, use QGuiApplication::isSavingSession()
      *
      * Returns true if the application is currently saving its session
@@ -359,6 +345,21 @@ public Q_SLOTS:
      */
     Q_SCRIPTABLE void updateUserTimestamp(int time = 0);
 
+    /**
+     * Slot connected to QGuiApplication::commitDataRequest() to implement 
highlevel
+     *  handling of session management with KSessionManager.
+     * @internal
+     */
+    void commitData(QSessionManager &sm);
+
+    /**
+     * Slot connected to QGuiApplication::saveStateRequest() to implement 
highlevel
+     *  handling of session management with KSessionManager.
+     * @internal
+     */
+    void saveState(QSessionManager &sm);
+
+
     // D-Bus Q_SLOTS:
     Q_SCRIPTABLE void reparseConfiguration();
     Q_SCRIPTABLE void quit();
-- 
2.6.2

++++++ kdelibs4support-5.18.0.tar.xz -> kdelibs4support-5.19.0.tar.xz ++++++
++++ 11122 lines of diff (skipped)

++++++ use-setFallbackSessionManagementEnabled-API-with-5.5.1.patch ++++++
diff --git a/src/kdeui/kapplication.cpp b/src/kdeui/kapplication.cpp
index 54fd1de..631dc2b 100644
--- a/src/kdeui/kapplication.cpp
+++ b/src/kdeui/kapplication.cpp
@@ -380,7 +380,7 @@ void KApplicationPrivate::init(bool GUIenabled)
     parseCommandLine();
 
     QApplication::setDesktopSettingsAware(false);
-#if QT_VERSION >= QT_VERSION_CHECK(5, 6, 0)
+#if QT_VERSION >= QT_VERSION_CHECK(5, 5, 1)
     QGuiApplication::setFallbackSessionManagementEnabled(false);
 #endif
 

Reply via email to