mirror of
https://github.com/cake-tech/cake_wallet.git
synced 2025-05-04 19:22:15 +00:00
Check if widget is mounted before showing popups
This commit is contained in:
parent
a8025ffbec
commit
bf407bedec
3 changed files with 22 additions and 20 deletions
lib
|
@ -365,17 +365,15 @@ class SendPage extends BasePage {
|
||||||
reaction((_) => sendViewModel.state, (ExecutionState state) {
|
reaction((_) => sendViewModel.state, (ExecutionState state) {
|
||||||
if (state is FailureState) {
|
if (state is FailureState) {
|
||||||
WidgetsBinding.instance.addPostFrameCallback((_) {
|
WidgetsBinding.instance.addPostFrameCallback((_) {
|
||||||
if (context.mounted) {
|
showPopUp<void>(
|
||||||
showPopUp<void>(
|
context: context,
|
||||||
context: context,
|
builder: (BuildContext context) {
|
||||||
builder: (BuildContext context) {
|
return AlertWithOneAction(
|
||||||
return AlertWithOneAction(
|
alertTitle: S.of(context).error,
|
||||||
alertTitle: S.of(context).error,
|
alertContent: state.error,
|
||||||
alertContent: state.error,
|
buttonText: S.of(context).ok,
|
||||||
buttonText: S.of(context).ok,
|
buttonAction: () => Navigator.of(context).pop());
|
||||||
buttonAction: () => Navigator.of(context).pop());
|
});
|
||||||
});
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -120,6 +120,7 @@ class ExceptionHandler {
|
||||||
static bool _ignoreError(String error) {
|
static bool _ignoreError(String error) {
|
||||||
return error.contains("errno = 103") || // SocketException: Software caused connection abort
|
return error.contains("errno = 103") || // SocketException: Software caused connection abort
|
||||||
error.contains("errno = 9") || // SocketException: Bad file descriptor
|
error.contains("errno = 9") || // SocketException: Bad file descriptor
|
||||||
|
error.contains("errno = 32") || // SocketException: Write failed (OS Error: Broken pipe)
|
||||||
error.contains("errno = 54"); // SocketException: Connection reset by peer
|
error.contains("errno = 54"); // SocketException: Connection reset by peer
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,13 +8,16 @@ Future<T?> showPopUp<T>({
|
||||||
bool useSafeArea = false,
|
bool useSafeArea = false,
|
||||||
bool useRootNavigator = true,
|
bool useRootNavigator = true,
|
||||||
RouteSettings? routeSettings
|
RouteSettings? routeSettings
|
||||||
}) {
|
}) async {
|
||||||
return showDialog<T>(
|
if (context.mounted) {
|
||||||
context: context,
|
return showDialog<T>(
|
||||||
builder: builder,
|
context: context,
|
||||||
barrierDismissible: barrierDismissible,
|
builder: builder,
|
||||||
barrierColor: barrierColor,
|
barrierDismissible: barrierDismissible,
|
||||||
useSafeArea: useSafeArea,
|
barrierColor: barrierColor,
|
||||||
useRootNavigator: useRootNavigator,
|
useSafeArea: useSafeArea,
|
||||||
routeSettings: routeSettings);
|
useRootNavigator: useRootNavigator,
|
||||||
|
routeSettings: routeSettings);
|
||||||
|
}
|
||||||
|
return null;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue