mirror of
https://github.com/KRTirtho/spotube.git
synced 2025-09-13 07:55:18 +00:00
fix: spotube doesn't exit properly, hangs in infinite loop #768
This commit is contained in:
parent
83c0b49da9
commit
353ca79be3
@ -1,6 +1,7 @@
|
||||
import 'dart:io';
|
||||
|
||||
import 'package:flutter/cupertino.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
import 'package:flutter_desktop_tools/flutter_desktop_tools.dart';
|
||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||
import 'package:go_router/go_router.dart';
|
||||
import 'package:spotube/components/player/player_controls.dart';
|
||||
@ -115,7 +116,7 @@ class CloseAppAction extends Action<CloseAppIntent> {
|
||||
@override
|
||||
invoke(intent) {
|
||||
if (kIsDesktop) {
|
||||
DesktopTools.window.close();
|
||||
exit(0);
|
||||
} else {
|
||||
SystemNavigator.pop();
|
||||
}
|
||||
|
@ -6,7 +6,7 @@ import 'package:spotube/utils/platform.dart';
|
||||
import 'package:titlebar_buttons/titlebar_buttons.dart';
|
||||
import 'dart:math';
|
||||
import 'package:flutter/foundation.dart' show kIsWeb;
|
||||
import 'dart:io' show Platform;
|
||||
import 'dart:io' show Platform, exit;
|
||||
import 'package:flutter_desktop_tools/flutter_desktop_tools.dart';
|
||||
import 'package:local_notifier/local_notifier.dart';
|
||||
|
||||
@ -17,7 +17,7 @@ final closeNotification = DesktopTools.createNotification(
|
||||
LocalNotificationAction(text: 'Close The App'),
|
||||
],
|
||||
)?..onClickAction = (value) {
|
||||
DesktopTools.window.close();
|
||||
exit(0);
|
||||
};
|
||||
|
||||
class PageWindowTitleBar extends StatefulHookConsumerWidget
|
||||
@ -113,7 +113,7 @@ class WindowTitleBarButtons extends HookConsumerWidget {
|
||||
|
||||
Future<void> onClose() async {
|
||||
if (preferences.closeBehavior == CloseBehavior.close) {
|
||||
await DesktopTools.window.close();
|
||||
exit(0);
|
||||
} else {
|
||||
await DesktopTools.window.hide();
|
||||
await closeNotification?.show();
|
||||
|
@ -1,3 +1,5 @@
|
||||
import 'dart:io';
|
||||
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_desktop_tools/flutter_desktop_tools.dart';
|
||||
import 'package:flutter_hooks/flutter_hooks.dart';
|
||||
@ -70,7 +72,7 @@ void useInitSysTray(WidgetRef ref) {
|
||||
label: "Quit",
|
||||
name: "quit",
|
||||
onClicked: (item) async {
|
||||
await DesktopTools.window.close();
|
||||
exit(0);
|
||||
},
|
||||
),
|
||||
],
|
||||
|
@ -263,8 +263,8 @@
|
||||
"use_system_title_bar": "Use system title bar",
|
||||
"crunching_results": "Crunching results...",
|
||||
"search_to_get_results": "Search to get results",
|
||||
"use_amoled_mode": "Use AMOLED mode",
|
||||
"pitch_dark_theme": "Pitch black dart theme",
|
||||
"use_amoled_mode": "Pitch black dark theme",
|
||||
"pitch_dark_theme": "AMOLED Mode",
|
||||
"normalize_audio": "Normalize audio",
|
||||
"change_cover": "Change cover",
|
||||
"add_cover": "Add cover",
|
||||
|
@ -86,8 +86,7 @@ class _MprisMediaPlayer2 extends DBusObject {
|
||||
|
||||
/// Implementation of org.mpris.MediaPlayer2.Quit()
|
||||
Future<DBusMethodResponse> doQuit() async {
|
||||
await windowManager.close();
|
||||
return DBusMethodSuccessResponse();
|
||||
exit(0);
|
||||
}
|
||||
|
||||
@override
|
||||
|
Loading…
Reference in New Issue
Block a user