diff --git a/src/librssguard/miscellaneous/databasequeries.cpp b/src/librssguard/miscellaneous/databasequeries.cpp index 9425098f4..cdd31b45e 100755 --- a/src/librssguard/miscellaneous/databasequeries.cpp +++ b/src/librssguard/miscellaneous/databasequeries.cpp @@ -1670,8 +1670,8 @@ void DatabaseQueries::createOverwriteAccount(const QSqlDatabase& db, ServiceRoot throw ApplicationException(q.lastError().text()); } else { - account->setId(q.lastInsertId().toInt()); - account->setAccountId(account->id()); + //account->setId(q.lastInsertId().toInt()); + account->setAccountId(q.lastInsertId().toInt()); } } @@ -1690,8 +1690,14 @@ void DatabaseQueries::createOverwriteAccount(const QSqlDatabase& db, ServiceRoot q.bindValue(QSL(":proxy_password"), TextFactory::encrypt(proxy.password())); q.bindValue(QSL(":id"), account->accountId()); - q.bindValue(QSL(":custom_data"), - QString::fromUtf8(QJsonDocument::fromVariant(account->customDatabaseData()).toJson(QJsonDocument::JsonFormat::Indented))); + auto custom_data = account->customDatabaseData(); + QString serialized_custom_data; + + if (!custom_data.isEmpty()) { + serialized_custom_data = QString::fromUtf8(QJsonDocument::fromVariant(custom_data).toJson(QJsonDocument::JsonFormat::Indented)); + } + + q.bindValue(QSL(":custom_data"), serialized_custom_data); if (!q.exec()) { throw ApplicationException(q.lastError().text()); diff --git a/src/librssguard/miscellaneous/databasequeries.h b/src/librssguard/miscellaneous/databasequeries.h index 4974201e1..98ab823e6 100644 --- a/src/librssguard/miscellaneous/databasequeries.h +++ b/src/librssguard/miscellaneous/databasequeries.h @@ -189,8 +189,8 @@ QList DatabaseQueries::getAccounts(const QSqlDatabase& db, const Q ServiceRoot* root = new T(); // Load common data. - root->setId(query.value(QSL("id")).toInt()); - root->setAccountId(root->id()); + //root->setId(query.value(QSL("id")).toInt()); + root->setAccountId(query.value(QSL("id")).toInt()); QNetworkProxy proxy(QNetworkProxy::ProxyType(query.value(QSL("proxy_type")).toInt()), query.value(QSL("proxy_host")).toString(), diff --git a/src/librssguard/services/standard/gui/formeditstandardaccount.cpp b/src/librssguard/services/standard/gui/formeditstandardaccount.cpp index cb0d28a49..2e2fc3ffc 100755 --- a/src/librssguard/services/standard/gui/formeditstandardaccount.cpp +++ b/src/librssguard/services/standard/gui/formeditstandardaccount.cpp @@ -13,5 +13,7 @@ FormEditStandardAccount::FormEditStandardAccount(QWidget* parent) void FormEditStandardAccount::apply() { FormAccountDetails::apply(); + + m_account->saveAccountDataToDatabase(); accept(); }