diff options
author | saturneric <[email protected]> | 2025-04-12 14:00:42 +0000 |
---|---|---|
committer | saturneric <[email protected]> | 2025-04-12 14:00:42 +0000 |
commit | 1f393a50c60d94a4ae23875b31e0e07ad3d64375 (patch) | |
tree | e4e4597dfca48a38c73779fe577e22e3550ee993 /src/ui/dialog/keypair_details/KeyPairSubkeyTab.cpp | |
parent | fix: avoid accessing invalid pointers of structs related to gpgme_key (diff) | |
download | GpgFrontend-1f393a50c60d94a4ae23875b31e0e07ad3d64375.tar.gz GpgFrontend-1f393a50c60d94a4ae23875b31e0e07ad3d64375.zip |
fix: issues on adsk operations
Diffstat (limited to 'src/ui/dialog/keypair_details/KeyPairSubkeyTab.cpp')
-rw-r--r-- | src/ui/dialog/keypair_details/KeyPairSubkeyTab.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/ui/dialog/keypair_details/KeyPairSubkeyTab.cpp b/src/ui/dialog/keypair_details/KeyPairSubkeyTab.cpp index ea175f3e..79a28176 100644 --- a/src/ui/dialog/keypair_details/KeyPairSubkeyTab.cpp +++ b/src/ui/dialog/keypair_details/KeyPairSubkeyTab.cpp @@ -294,7 +294,9 @@ void KeyPairSubkeyTab::slot_add_adsk() { auto* dialog = new ADSKsPicker( current_gpg_context_channel_, - [=](GpgAbstractKey* key) { return !except_key_ids.contains(key->ID()); }, + [=](const GpgAbstractKey* key) { + return !except_key_ids.contains(key->ID()); + }, this); dialog->exec(); @@ -474,8 +476,9 @@ void KeyPairSubkeyTab::contextMenuEvent(QContextMenuEvent* event) { export_subkey_act_->setDisabled(!s_key.IsSecretKey()); edit_subkey_act_->setDisabled(!s_key.IsSecretKey()); - delete_subkey_act_->setDisabled(!s_key.IsSecretKey()); - revoke_subkey_act_->setDisabled(!s_key.IsSecretKey() || s_key.IsRevoked()); + delete_subkey_act_->setDisabled(!s_key.IsSecretKey() && !s_key.IsADSK()); + revoke_subkey_act_->setDisabled((!s_key.IsSecretKey() && !s_key.IsADSK()) || + s_key.IsRevoked()); subkey_opera_menu_->exec(event->globalPos()); } |