mirror of
https://github.com/Such-Software/hash-wallet.git
synced 2026-10-17 05:41:29 +02:00
fix(cw_monero): move isolates to top level functions so WalletBase will not get sent over. (#2269)
This commit is contained in:
@@ -224,19 +224,7 @@ class MoneroWalletService extends WalletService<
|
||||
final wmaddr = wmPtr.ffiAddress();
|
||||
final waddr = w.ffiAddress();
|
||||
openedWalletsByPath.remove("$path/$wallet");
|
||||
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));
|
||||
}));
|
||||
}
|
||||
await closeWalletAwaitIfShould(wmaddr, waddr);
|
||||
printV("wallet closed");
|
||||
}
|
||||
|
||||
@@ -570,3 +558,19 @@ class MoneroWalletService extends WalletService<
|
||||
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));
|
||||
}));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user