| 34086:6fcec7f32c4a | 34087:b9798bef2af2 |
|---|---|
| 70 public: | 70 public: |
| 71 engine(); | 71 engine(); |
| 72 ~engine(); | 72 ~engine(); |
| 73 void queue(request *req); | 73 void queue(request *req); |
| 74 static engine *Instance(); | 74 static engine *Instance(); |
| 75 bool closing; | |
| 75 | 76 |
| 76 private slots: | 77 private slots: |
| 77 void walletOpened(bool opened); | 78 void walletOpened(bool opened); |
| 78 | 79 |
| 79 private: | 80 private: |
| 127 connect(wallet, SIGNAL(walletOpened(bool)), SLOT(walletOpened(bool))); | 128 connect(wallet, SIGNAL(walletOpened(bool)), SLOT(walletOpened(bool))); |
| 128 } | 129 } |
| 129 | 130 |
| 130 KWalletPlugin::engine::~engine() | 131 KWalletPlugin::engine::~engine() |
| 131 { | 132 { |
| 133 closing = true; | |
| 134 | |
| 132 while (!isEmpty()) { | 135 while (!isEmpty()) { |
| 133 request *req = dequeue(); | 136 request *req = dequeue(); |
| 134 req->abort(); | 137 req->abort(); |
| 135 delete req; | 138 delete req; |
| 136 } | 139 } |
| 283 } | 286 } |
| 284 | 287 |
| 285 static void | 288 static void |
| 286 kwallet_close(GError **error) | 289 kwallet_close(GError **error) |
| 287 { | 290 { |
| 288 delete KWalletPlugin::engine::Instance(); | 291 if (!KWalletPlugin::engine::Instance()->closing) |
| 292 delete KWalletPlugin::engine::Instance(); | |
| 289 } | 293 } |
| 290 | 294 |
| 291 static gboolean | 295 static gboolean |
| 292 kwallet_import(PurpleAccount *account, | 296 kwallet_import(PurpleAccount *account, |
| 293 const char *mode, | 297 const char *mode, |