mirror of
https://github.com/cake-tech/cake_wallet.git
synced 2025-06-28 12:29:51 +00:00
fix(cw_monero): move isolates to top level functions so WalletBase will not get sent over. (#2269)
This commit is contained in:
parent
1b2e3f2ee1
commit
66efce4d70
1 changed files with 17 additions and 13 deletions
|
@ -224,19 +224,7 @@ class MoneroWalletService extends WalletService<
|
||||||
final wmaddr = wmPtr.ffiAddress();
|
final wmaddr = wmPtr.ffiAddress();
|
||||||
final waddr = w.ffiAddress();
|
final waddr = w.ffiAddress();
|
||||||
openedWalletsByPath.remove("$path/$wallet");
|
openedWalletsByPath.remove("$path/$wallet");
|
||||||
if (Platform.isWindows) {
|
await closeWalletAwaitIfShould(wmaddr, waddr);
|
||||||
await Isolate.run(() {
|
|
||||||
monero.WalletManager_closeWallet(
|
|
||||||
Pointer.fromAddress(wmaddr), Pointer.fromAddress(waddr), true);
|
|
||||||
monero.WalletManager_errorString(Pointer.fromAddress(wmaddr));
|
|
||||||
});
|
|
||||||
} else {
|
|
||||||
unawaited(Isolate.run(() {
|
|
||||||
monero.WalletManager_closeWallet(
|
|
||||||
Pointer.fromAddress(wmaddr), Pointer.fromAddress(waddr), true);
|
|
||||||
monero.WalletManager_errorString(Pointer.fromAddress(wmaddr));
|
|
||||||
}));
|
|
||||||
}
|
|
||||||
printV("wallet closed");
|
printV("wallet closed");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -570,3 +558,19 @@ class MoneroWalletService extends WalletService<
|
||||||
false;
|
false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Future<void> closeWalletAwaitIfShould(int wmaddr, int waddr) async {
|
||||||
|
if (Platform.isWindows) {
|
||||||
|
await Isolate.run(() {
|
||||||
|
monero.WalletManager_closeWallet(
|
||||||
|
Pointer.fromAddress(wmaddr), Pointer.fromAddress(waddr), true);
|
||||||
|
monero.WalletManager_errorString(Pointer.fromAddress(wmaddr));
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
unawaited(Isolate.run(() {
|
||||||
|
monero.WalletManager_closeWallet(
|
||||||
|
Pointer.fromAddress(wmaddr), Pointer.fromAddress(waddr), true);
|
||||||
|
monero.WalletManager_errorString(Pointer.fromAddress(wmaddr));
|
||||||
|
}));
|
||||||
|
}
|
||||||
|
}
|
Loading…
Add table
Add a link
Reference in a new issue