aboutsummaryrefslogtreecommitdiffstats
path: root/src/core/function/gpg/GpgKeyOpera.cpp
diff options
context:
space:
mode:
authorsaturneric <[email protected]>2024-10-26 13:43:14 +0000
committersaturneric <[email protected]>2024-10-26 13:43:14 +0000
commit24c28eb752aa611dd1670f3fa7ab6b358b052f1b (patch)
tree6a4f9af003fa4a86b7d7e29a965e37a231951092 /src/core/function/gpg/GpgKeyOpera.cpp
parentfix: thread concurrent crash issue (diff)
downloadGpgFrontend-24c28eb752aa611dd1670f3fa7ab6b358b052f1b.tar.gz
GpgFrontend-24c28eb752aa611dd1670f3fa7ab6b358b052f1b.zip
fix: test basic operations of multi key db and solve issues
Diffstat (limited to 'src/core/function/gpg/GpgKeyOpera.cpp')
-rw-r--r--src/core/function/gpg/GpgKeyOpera.cpp18
1 files changed, 9 insertions, 9 deletions
diff --git a/src/core/function/gpg/GpgKeyOpera.cpp b/src/core/function/gpg/GpgKeyOpera.cpp
index 0d84017f..f5027d4c 100644
--- a/src/core/function/gpg/GpgKeyOpera.cpp
+++ b/src/core/function/gpg/GpgKeyOpera.cpp
@@ -54,7 +54,7 @@ GpgKeyOpera::GpgKeyOpera(int channel)
void GpgKeyOpera::DeleteKeys(KeyIdArgsListPtr key_ids) {
GpgError err;
for (const auto& tmp : *key_ids) {
- auto key = GpgKeyGetter::GetInstance().GetKey(tmp);
+ auto key = GpgKeyGetter::GetInstance(GetChannel()).GetKey(tmp);
if (key.IsGood()) {
err = CheckGpgError(gpgme_op_delete_ext(
ctx_.DefaultContext(), static_cast<gpgme_key_t>(key),
@@ -332,8 +332,8 @@ void GpgKeyOpera::GenerateKeyWithSubkey(
const std::shared_ptr<GenKeyInfo>& subkey_params,
const GpgOperationCallback& callback) {
RunGpgOperaAsync(
- [&ctx = ctx_, params,
- subkey_params](const DataObjectPtr& data_object) -> GpgError {
+ [&ctx = ctx_, params, subkey_params,
+ channel = GetChannel()](const DataObjectPtr& data_object) -> GpgError {
auto userid = params->GetUserid().toUtf8();
auto algo = (params->GetAlgo() + params->GetKeySizeStr()).toUtf8();
unsigned long expires =
@@ -368,8 +368,8 @@ void GpgKeyOpera::GenerateKeyWithSubkey(
return err;
}
- auto key =
- GpgKeyGetter::GetInstance().GetKey(genkey_result.GetFingerprint());
+ auto key = GpgKeyGetter::GetInstance(channel).GetKey(
+ genkey_result.GetFingerprint());
if (!key.IsGood()) {
LOG_W() << "cannot get key which has been generate, fpr: "
<< genkey_result.GetFingerprint();
@@ -413,8 +413,8 @@ auto GpgKeyOpera::GenerateKeyWithSubkeySync(
const std::shared_ptr<GenKeyInfo>& subkey_params)
-> std::tuple<GpgError, DataObjectPtr> {
return RunGpgOperaSync(
- [&ctx = ctx_, params,
- subkey_params](const DataObjectPtr& data_object) -> GpgError {
+ [&ctx = ctx_, params, subkey_params,
+ channel = GetChannel()](const DataObjectPtr& data_object) -> GpgError {
auto userid = params->GetUserid().toUtf8();
auto algo = (params->GetAlgo() + params->GetKeySizeStr()).toUtf8();
unsigned long expires =
@@ -449,8 +449,8 @@ auto GpgKeyOpera::GenerateKeyWithSubkeySync(
return err;
}
- auto key =
- GpgKeyGetter::GetInstance().GetKey(genkey_result.GetFingerprint());
+ auto key = GpgKeyGetter::GetInstance(channel).GetKey(
+ genkey_result.GetFingerprint());
if (!key.IsGood()) {
LOG_W() << "cannot get key which has been generate, fpr: "
<< genkey_result.GetFingerprint();