--- a/libpurple/plugins/keyrings/kwallet/purplekwallet.cpp Mon Mar 22 05:56:45 2021 -0500
+++ b/libpurple/plugins/keyrings/kwallet/purplekwallet.cpp Tue Mar 23 02:41:18 2021 -0500
@@ -206,8 +206,11 @@
PurpleKWalletPlugin::Engine::Engine(void) {
this->queue = QQueue<PurpleKWalletPlugin::Request *>();
+ this->externallyClosed = false; PurpleKWalletPlugin::Engine::~Engine(void) {
@@ -468,8 +471,9 @@
purple_kwallet_provider_dispose(GObject *obj) {
PurpleKWalletProvider *provider = PURPLE_KWALLET_PROVIDER(obj);
- delete provider->engine;
- provider->engine = NULL;
+ if(provider->engine != NULL) { + provider->engine->close(); G_OBJECT_CLASS(purple_kwallet_provider_parent_class)->dispose(obj);