diff --git a/.gitignore b/.gitignore index c941d03..48e704c 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1 @@ -/kscreenlocker-5.4.95.tar.xz -/kscreenlocker-5.5.0.tar.xz -/kscreenlocker-5.5.1.tar.xz -/kscreenlocker-5.5.2.tar.xz -/kscreenlocker-5.5.3.tar.xz /kscreenlocker-5.5.4.tar.xz diff --git a/0001-greeter-Dont-quit-when-last-window-closes.patch b/0001-greeter-Dont-quit-when-last-window-closes.patch new file mode 100644 index 0000000..05f4a40 --- /dev/null +++ b/0001-greeter-Dont-quit-when-last-window-closes.patch @@ -0,0 +1,39 @@ +From fae65f1cdd6446042b31ccd0eafd7a4c0b6623e3 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Martin=20Gr=C3=A4=C3=9Flin?= +Date: Fri, 5 Feb 2016 10:30:19 +0100 +Subject: [PATCH] [greeter] Dont quit when last window closes + +Qt allows to have no screens. If all XRandR screens are disconnected +there are also no QScreens. This is from an X11 perspective wrong, but +we have to deal with it. No QScreens means that all views are destroyed +and no new ones are created. Thus all windows close and the greeter +exited successfully which in turn unlocked the screen. + +This change ensures that the greeter doesn't exit when all windows close. + +Funnily this was not a problem with the well known issue of Qt +crashing when all screens are disconnected. The lock screen handles +crashes gracefully and just restarts or more likely Qt also crashes +the application using KSld and thus taking down the complete session. + +BUG: 358125 +FIXED-IN: 5.5.5 +--- + greeter/main.cpp | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/greeter/main.cpp b/greeter/main.cpp +index e4e679e..5625d36 100644 +--- a/greeter/main.cpp ++++ b/greeter/main.cpp +@@ -59,6 +59,7 @@ int main(int argc, char* argv[]) + qputenv("QT_IM_MODULE", QByteArrayLiteral("compose")); + } + ScreenLocker::UnlockApp app(argc, argv); ++ app.setQuitOnLastWindowClosed(false); + QCoreApplication::setApplicationName(QStringLiteral("kscreenlocker_greet")); + QCoreApplication::setApplicationVersion(QStringLiteral("0.1")); + QCoreApplication::setOrganizationDomain(QStringLiteral("kde.org")); +-- +2.5.0 + diff --git a/kscreenlocker.spec b/kscreenlocker.spec index 2d0e927..29cf72d 100644 --- a/kscreenlocker.spec +++ b/kscreenlocker.spec @@ -1,10 +1,10 @@ -Name: kscreenlocker +Name: kscreenlocker Version: 5.5.4 -Release: 2%{?dist} -Summary: Library and components for secure lock screen architecture +Release: 3%{?dist} +Summary: Library and components for secure lock screen architecture -License: GPLv2+ -URL: https://projects.kde.org/projects/kde/workspace/kscreenlocker +License: GPLv2+ +URL: https://projects.kde.org/kscreenlocker %global revision %(echo %{version} | cut -d. -f3) %if %{revision} >= 50 @@ -12,7 +12,10 @@ URL: https://projects.kde.org/projects/kde/workspace/kscreenlocker %else %global stable stable %endif -Source0: http://download.kde.org/%{stable}/plasma/%{version}/%{name}-%{version}.tar.xz +Source0: http://download.kde.org/%{stable}/plasma/%{version}/%{name}-%{version}.tar.xz + +## upstream patches +Patch1: 0001-greeter-Dont-quit-when-last-window-closes.patch BuildRequires: qt5-qtbase-devel BuildRequires: qt5-qtdeclarative-devel @@ -56,23 +59,23 @@ developing applications that use %{name}. %prep -%setup -q -n %{name}-%{version} +%autosetup -p1 -%build -mkdir -p %{_target_platform} +%build +mkdir %{_target_platform} pushd %{_target_platform} %{cmake_kf5} .. popd make %{?_smp_mflags} -C %{_target_platform} + %install make install/fast DESTDIR=%{buildroot} -C %{_target_platform} -%find_lang kscreenlocker --with-qt --all-name -%post -p /sbin/ldconfig +%post -p /sbin/ldconfig %postun -p /sbin/ldconfig %files -f kscreenlocker.lang @@ -86,15 +89,20 @@ make install/fast DESTDIR=%{buildroot} -C %{_target_platform} %{_kf5_datadir}/kservices5/*.desktop %{_kf5_qtplugindir}/screenlocker_kcm.so %{_kf5_datadir}/plasma/kcms/screenlocker_kcm/ +%{_kf5_docdir}/HTML/en/kscreenlocker/ %files devel %{_kf5_libdir}/libKScreenLocker.so -%{_kf5_libdir}/cmake/ScreenSaverDBusInterface -%{_kf5_libdir}/cmake/KScreenLocker -%{_includedir}/KScreenLocker +%{_kf5_libdir}/cmake/ScreenSaverDBusInterface/ +%{_kf5_libdir}/cmake/KScreenLocker/ +%{_includedir}/KScreenLocker/ %{_datadir}/dbus-1/interfaces/*.xml + %changelog +* Wed Feb 10 2016 Rex Dieter 5.5.4-3 +- cosmetics, pull in upstream fixes + * Thu Feb 04 2016 Fedora Release Engineering - 5.5.4-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild