summaryrefslogtreecommitdiff
path: root/kde-plasma/kscreenlocker/files
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-07-09 12:24:59 +0100
committerV3n3RiX <venerix@koprulu.sector>2024-07-09 12:24:59 +0100
commitc218398bbbe70a616790cf146c28c1066b9284bf (patch)
treea598e8c85afbc52bb7eca18ae415ef4971e65c8f /kde-plasma/kscreenlocker/files
parenta5442e2318cb4df55867389654e322dbac82067e (diff)
gentoo auto-resync : 09:07:2024 - 12:24:58
Diffstat (limited to 'kde-plasma/kscreenlocker/files')
-rw-r--r--kde-plasma/kscreenlocker/files/kscreenlocker-6.1.2-greeter-unlock-button.patch85
1 files changed, 85 insertions, 0 deletions
diff --git a/kde-plasma/kscreenlocker/files/kscreenlocker-6.1.2-greeter-unlock-button.patch b/kde-plasma/kscreenlocker/files/kscreenlocker-6.1.2-greeter-unlock-button.patch
new file mode 100644
index 000000000000..7fc6a2e5e225
--- /dev/null
+++ b/kde-plasma/kscreenlocker/files/kscreenlocker-6.1.2-greeter-unlock-button.patch
@@ -0,0 +1,85 @@
+From 6297d4d2e37abadfab0f7389aec9aa4af7f928bc Mon Sep 17 00:00:00 2001
+From: Xaver Hugl <xaver.hugl@gmail.com>
+Date: Tue, 2 Jul 2024 20:07:06 +0000
+Subject: [PATCH] greeter/authenticators: add a property for if a prompt was
+ shown in the past
+
+This is needed to properly check for whether or not to show an unlock button
+
+CCBUG: 485520
+
+
+(cherry picked from commit bc1e4a18ce37d1f40cb6a50acf3d9c53b052bf5e)
+
+Co-authored-by: Xaver Hugl <xaver.hugl@gmail.com>
+---
+ greeter/pamauthenticators.cpp | 14 ++++++++++++++
+ greeter/pamauthenticators.h | 5 +++++
+ 2 files changed, 19 insertions(+)
+
+diff --git a/greeter/pamauthenticators.cpp b/greeter/pamauthenticators.cpp
+index 8fcbb6d5..d564420 100644
+--- a/greeter/pamauthenticators.cpp
++++ b/greeter/pamauthenticators.cpp
+@@ -17,6 +17,7 @@ struct PamAuthenticators::Private {
+ PamAuthenticator::NoninteractiveAuthenticatorTypes computedTypes = PamAuthenticator::NoninteractiveAuthenticatorType::None;
+ AuthenticatorsState state = AuthenticatorsState::Idle;
+ bool graceLocked = false;
++ bool hadPrompt = false;
+
+ void recomputeNoninteractiveAuthenticationTypes()
+ {
+@@ -83,10 +84,18 @@ PamAuthenticators::PamAuthenticators(std::unique_ptr<PamAuthenticator> &&interac
+ Q_EMIT busyChanged();
+ });
+ connect(d->interactive.get(), &PamAuthenticator::prompt, this, [this] {
++ if (!d->hadPrompt) {
++ d->hadPrompt = true;
++ Q_EMIT hadPromptChanged();
++ }
+ qCDebug(KSCREENLOCKER_GREET) << "PamAuthenticators: Normal prompt from interactive authenticator" << qUtf8Printable(d->interactive->service());
+ Q_EMIT promptChanged();
+ });
+ connect(d->interactive.get(), &PamAuthenticator::promptForSecret, this, [this] {
++ if (!d->hadPrompt) {
++ d->hadPrompt = true;
++ Q_EMIT hadPromptChanged();
++ }
+ qCDebug(KSCREENLOCKER_GREET) << "PamAuthenticators: Secret prompt from interactive authenticator" << qUtf8Printable(d->interactive->service());
+ Q_EMIT promptForSecretChanged();
+ });
+@@ -198,3 +207,8 @@ void PamAuthenticators::setGraceLocked(bool b)
+ {
+ d->graceLocked = b;
+ }
++
++bool PamAuthenticators::hadPrompt() const
++{
++ return d->hadPrompt;
++}
+diff --git a/greeter/pamauthenticators.h b/greeter/pamauthenticators.h
+index e82f77b..9184e7e 100644
+--- a/greeter/pamauthenticators.h
++++ b/greeter/pamauthenticators.h
+@@ -31,6 +31,8 @@ class PamAuthenticators : public QObject
+
+ Q_PROPERTY(AuthenticatorsState state READ state NOTIFY stateChanged)
+
++ Q_PROPERTY(bool hadPrompt READ hadPrompt NOTIFY hadPromptChanged)
++
+ public:
+ PamAuthenticators(std::unique_ptr<PamAuthenticator> &&interactive,
+ std::vector<std::unique_ptr<PamAuthenticator>> &&noninteractive,
+@@ -78,6 +80,9 @@ public:
+
+ void setGraceLocked(bool b);
+
++ bool hadPrompt() const;
++ Q_SIGNAL void hadPromptChanged();
++
+ private:
+ struct Private;
+ QScopedPointer<Private> d;
+--
+2.45.2
+