mirror of
https://abf.rosa.ru/djam/kdebase4-workspace.git
synced 2025-02-24 10:12:50 +00:00
New version 4.11.8, add fix-screenlocker-ulock patch from OpenSUSE to fix issues with unlock
This commit is contained in:
parent
85528887ed
commit
f83049907e
3 changed files with 132 additions and 3 deletions
2
.abf.yml
2
.abf.yml
|
@ -1,3 +1,3 @@
|
||||||
sources:
|
sources:
|
||||||
kdebase-workspace-kdm-2.7.2.tar.bz2: b5cfb60419c724831941fb724d4148987adc40ba
|
kdebase-workspace-kdm-2.7.2.tar.bz2: b5cfb60419c724831941fb724d4148987adc40ba
|
||||||
kde-workspace-4.11.7.tar.xz: 515c687a5a967e14e0470012e99ca2ae4cd86700
|
kde-workspace-4.11.8.tar.xz: e44b73ea1e2446258882d10694ca2896e1cc6b17
|
||||||
|
|
116
kdebase4-workspace-4.11.8-fix-screenlocker-ulock.patch
Normal file
116
kdebase4-workspace-4.11.8-fix-screenlocker-ulock.patch
Normal file
|
@ -0,0 +1,116 @@
|
||||||
|
diff --git ksmserver/screenlocker/greeter/greeterapp.cpp ksmserver/screenlocker/greeter/greeterapp.cpp
|
||||||
|
index c5e2f85..475d223 100644
|
||||||
|
--- ksmserver/screenlocker/greeter/greeterapp.cpp
|
||||||
|
+++ ksmserver/screenlocker/greeter/greeterapp.cpp
|
||||||
|
@@ -383,6 +383,12 @@ void UnlockApp::setImmediateLock(bool immediate)
|
||||||
|
m_immediateLock = immediate;
|
||||||
|
}
|
||||||
|
|
||||||
|
+void UnlockApp::switchToImmediateLock()
|
||||||
|
+{
|
||||||
|
+ setImmediateLock(true);
|
||||||
|
+ setLockedPropertyOnViews();
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
bool UnlockApp::eventFilter(QObject *obj, QEvent *event)
|
||||||
|
{
|
||||||
|
if (obj != this && event->type() == QEvent::Show) {
|
||||||
|
diff --git ksmserver/screenlocker/greeter/greeterapp.h ksmserver/screenlocker/greeter/greeterapp.h
|
||||||
|
index 8b79188..895337e 100644
|
||||||
|
--- ksmserver/screenlocker/greeter/greeterapp.h
|
||||||
|
+++ ksmserver/screenlocker/greeter/greeterapp.h
|
||||||
|
@@ -44,6 +44,7 @@ public:
|
||||||
|
|
||||||
|
void setTesting(bool enable);
|
||||||
|
void setImmediateLock(bool immediateLock);
|
||||||
|
+ void switchToImmediateLock();
|
||||||
|
|
||||||
|
public Q_SLOTS:
|
||||||
|
void desktopResized();
|
||||||
|
diff --git ksmserver/screenlocker/greeter/main.cpp ksmserver/screenlocker/greeter/main.cpp
|
||||||
|
index d898734..d5c6a2b 100644
|
||||||
|
--- ksmserver/screenlocker/greeter/main.cpp
|
||||||
|
+++ ksmserver/screenlocker/greeter/main.cpp
|
||||||
|
@@ -24,11 +24,28 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
#include <iostream>
|
||||||
|
|
||||||
|
+#include <signal.h>
|
||||||
|
+
|
||||||
|
#include "greeterapp.h"
|
||||||
|
|
||||||
|
static const char description[] = I18N_NOOP( "Greeter for the KDE Plasma Workspaces Screen locker" );
|
||||||
|
static const char version[] = "0.1";
|
||||||
|
|
||||||
|
+ScreenLocker::UnlockApp *m_instance;
|
||||||
|
+
|
||||||
|
+static void signalhandler(int signum)
|
||||||
|
+{
|
||||||
|
+ switch(signum)
|
||||||
|
+ {
|
||||||
|
+ case SIGTERM: //SIGHUP:
|
||||||
|
+ m_instance->exit(1);
|
||||||
|
+ break;
|
||||||
|
+ case SIGUSR1:
|
||||||
|
+ m_instance->switchToImmediateLock();
|
||||||
|
+ break;
|
||||||
|
+ }
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
int main(int argc, char* argv[])
|
||||||
|
{
|
||||||
|
KAboutData aboutData( "kscreenlocker_greet", 0, ki18n( "KScreenLocker Greeter" ),
|
||||||
|
@@ -60,6 +77,7 @@ int main(int argc, char* argv[])
|
||||||
|
KCmdLineArgs::addCmdLineOptions(options);
|
||||||
|
|
||||||
|
ScreenLocker::UnlockApp app;
|
||||||
|
+ m_instance = &app;
|
||||||
|
KGlobal::locale()->insertCatalog(QLatin1String( "libkworkspace" ));
|
||||||
|
app.disableSessionManagement(); // manually-started
|
||||||
|
KCmdLineArgs *args = KCmdLineArgs::parsedArgs();
|
||||||
|
@@ -75,5 +93,12 @@ int main(int argc, char* argv[])
|
||||||
|
// This allow ksmserver to know when the applicaion has actually finished setting itself up.
|
||||||
|
// Crucial for blocking until it is ready, ensuring locking happens before sleep, e.g.
|
||||||
|
std::cout << "Locked at " << QDateTime::currentDateTime().toTime_t() << std::endl;
|
||||||
|
+
|
||||||
|
+ struct sigaction sa;
|
||||||
|
+ sa.sa_handler = signalhandler;
|
||||||
|
+ sigemptyset(&sa.sa_mask);
|
||||||
|
+ sa.sa_flags = 0;
|
||||||
|
+ sigaction(SIGTERM /*SIGHUP*/, &sa, 0);
|
||||||
|
+ sigaction(SIGUSR1, &sa, 0);
|
||||||
|
return app.exec();
|
||||||
|
}
|
||||||
|
diff --git ksmserver/screenlocker/ksldapp.cpp ksmserver/screenlocker/ksldapp.cpp
|
||||||
|
index 3dfcc9e..d43fde7 100644
|
||||||
|
--- ksmserver/screenlocker/ksldapp.cpp
|
||||||
|
+++ ksmserver/screenlocker/ksldapp.cpp
|
||||||
|
@@ -46,6 +46,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
#include <X11/Xlib.h>
|
||||||
|
// other
|
||||||
|
#include <unistd.h>
|
||||||
|
+#include <signal.h>
|
||||||
|
|
||||||
|
namespace ScreenLocker
|
||||||
|
{
|
||||||
|
@@ -174,6 +175,10 @@ void KSldApp::lock(bool immediateLock)
|
||||||
|
// already locked or acquiring lock, no need to lock again
|
||||||
|
// but make sure it's really locked
|
||||||
|
endGraceTime();
|
||||||
|
+ if (immediateLock) {
|
||||||
|
+ // signal the greeter to switch to immediateLock mode
|
||||||
|
+ kill(m_lockProcess->pid(), SIGUSR1);
|
||||||
|
+ }
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -369,7 +374,8 @@ void KSldApp::unlock()
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
s_graceTimeKill = true;
|
||||||
|
- m_lockProcess->kill();
|
||||||
|
+ // signal greeter to quit
|
||||||
|
+ m_lockProcess->terminate(); //kill(m_lockProcess->pid(), SIGHUP);
|
||||||
|
}
|
||||||
|
|
||||||
|
void KSldApp::inhibit()
|
|
@ -11,8 +11,8 @@
|
||||||
|
|
||||||
Summary: KDE 4 application workspace components
|
Summary: KDE 4 application workspace components
|
||||||
Name: kdebase4-workspace
|
Name: kdebase4-workspace
|
||||||
Version: 4.11.7
|
Version: 4.11.8
|
||||||
Release: 3
|
Release: 2
|
||||||
Epoch: 2
|
Epoch: 2
|
||||||
License: GPLv2+
|
License: GPLv2+
|
||||||
Group: Graphical desktop/KDE
|
Group: Graphical desktop/KDE
|
||||||
|
@ -51,6 +51,12 @@ Patch6: kde-workspace-4.10.3-pager-icons.patch
|
||||||
Patch7: kde-workspace-4.10.3-devicenotifier.patch
|
Patch7: kde-workspace-4.10.3-devicenotifier.patch
|
||||||
# Fix screenlocker greeter focus after Alt modifier is pressed (keyboard layout switching etc)
|
# Fix screenlocker greeter focus after Alt modifier is pressed (keyboard layout switching etc)
|
||||||
Patch8: kde-workspace-4.10.3-greeter.patch
|
Patch8: kde-workspace-4.10.3-greeter.patch
|
||||||
|
# Patch from OpenSUSE, fixes 2 issues:
|
||||||
|
# * password input dialog was not shown under certain circumstances
|
||||||
|
# (kde#327947, kde#329076, bnc#864305)
|
||||||
|
# * screensaver processes might keep running in background when
|
||||||
|
# unlocking the screen (kde#224200, bnc#809835)
|
||||||
|
Patch9: kdebase4-workspace-4.11.8-fix-screenlocker-ulock.patch
|
||||||
# Prefer system locale for KDM when reading it from KDM config fails
|
# Prefer system locale for KDM when reading it from KDM config fails
|
||||||
Patch10: kde-workspace-4.10.3-fix-kcmkdm-locale.patch
|
Patch10: kde-workspace-4.10.3-fix-kcmkdm-locale.patch
|
||||||
Patch11: kdebase-workspace-4.2.0-fix_gtkrc_iaora.patch
|
Patch11: kdebase-workspace-4.2.0-fix_gtkrc_iaora.patch
|
||||||
|
@ -1544,6 +1550,7 @@ based on kdebase.
|
||||||
%patch6 -p1
|
%patch6 -p1
|
||||||
%patch7 -p1
|
%patch7 -p1
|
||||||
%patch8 -p1
|
%patch8 -p1
|
||||||
|
%patch9 -p0
|
||||||
%patch10 -p1
|
%patch10 -p1
|
||||||
%patch11 -p1
|
%patch11 -p1
|
||||||
%patch12 -p1
|
%patch12 -p1
|
||||||
|
@ -1661,6 +1668,12 @@ for f in %{buildroot}%{_kde_applicationsdir}/*.desktop ; do
|
||||||
done
|
done
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Tue Apr 08 2014 Andrey Bondrov <andrey.bondrov@rosalab.ru> 2:4.11.8-2
|
||||||
|
- Add fix-screenlocker-ulock patch from OpenSUSE to fix issues with unlock
|
||||||
|
|
||||||
|
* Wed Apr 02 2014 Andrey Bondrov <andrey.bondrov@rosalab.ru> 2:4.11.8-1
|
||||||
|
- New version 4.11.8
|
||||||
|
|
||||||
* Thu Mar 20 2014 Andrey Bondrov <andrey.bondrov@rosalab.ru> 2:4.11.7-3
|
* Thu Mar 20 2014 Andrey Bondrov <andrey.bondrov@rosalab.ru> 2:4.11.7-3
|
||||||
- Use different kdm.service for ROSA and OpenMandriva
|
- Use different kdm.service for ROSA and OpenMandriva
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue