Fixing a bug where game gets stuck in profile new/edit window

This commit is contained in:
Vishal 2024-09-02 11:44:16 +05:30 committed by GitHub
parent 22f0808048
commit cffa1939ff
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 38 additions and 37 deletions

View File

@ -594,10 +594,10 @@ class InGameMenuWindow(bui.MainWindow):
classic.main_menu_resume_callbacks.clear() classic.main_menu_resume_callbacks.clear()
def __del__(self) -> None: def __del__(self) -> None:
from bascenev1lib import tutorial from bascenev1lib.tutorial import TutorialActivity
activity = bs.get_foreground_host_activity() activity = bs.get_foreground_host_activity()
if isinstance(activity, (bs.GameActivity, tutorial.TutorialActivity)): if isinstance(activity, (bs.GameActivity, TutorialActivity)):
classic = bui.app.classic classic = bui.app.classic
assert classic is not None assert classic is not None

View File

@ -7,9 +7,10 @@ from __future__ import annotations
import random import random
from typing import cast, override from typing import cast, override
from bauiv1lib.colorpicker import ColorPicker
import bauiv1 as bui import bauiv1 as bui
import bascenev1 as bs import bascenev1 as bs
from bauiv1lib.colorpicker import ColorPicker
from bauiv1lib.profile.browser import ProfileBrowserWindow
class EditProfileWindow(bui.MainWindow): class EditProfileWindow(bui.MainWindow):
@ -80,11 +81,6 @@ class EditProfileWindow(bui.MainWindow):
stack_offset=( stack_offset=(
(0, -40) if uiscale is bui.UIScale.SMALL else (0, 0) (0, -40) if uiscale is bui.UIScale.SMALL else (0, 0)
), ),
toolbar_visibility=(
'menu_minimal'
if uiscale is bui.UIScale.SMALL
else 'menu_full'
),
), ),
transition=transition, transition=transition,
origin_widget=origin_widget, origin_widget=origin_widget,
@ -690,24 +686,27 @@ class EditProfileWindow(bui.MainWindow):
) )
def _cancel(self) -> None: def _cancel(self) -> None:
self.main_window_back()
# from bauiv1lib.profile.browser import ProfileBrowserWindow if self._in_main_menu:
self.main_window_back()
return
# # no-op if our underlying widget is dead or on its way out. # no-op if our underlying widget is dead or on its way out.
# if not self._root_widget or self._root_widget.transitioning_out: if not self._root_widget or self._root_widget.transitioning_out:
# return return
# bui.containerwidget(edit=self._root_widget, transition='out_right') bui.containerwidget(edit=self._root_widget, transition='out_right')
# assert bui.app.classic is not None assert bui.app.classic is not None
# bui.app.ui_v1.set_main_window(
# ProfileBrowserWindow( bui.app.ui_v1.set_main_window(
# 'in_left', ProfileBrowserWindow(
# selected_profile=self._existing_profile, 'in_left',
# in_main_menu=self._in_main_menu, selected_profile=self._existing_profile,
# ), in_main_menu=self._in_main_menu,
# from_window=self, ),
# is_back=True, from_window=self,
# ) is_back=True,
)
def _set_color(self, color: tuple[float, float, float]) -> None: def _set_color(self, color: tuple[float, float, float]) -> None:
self._color = color self._color = color
@ -859,17 +858,19 @@ class EditProfileWindow(bui.MainWindow):
if transition_out: if transition_out:
plus.run_v1_account_transactions() plus.run_v1_account_transactions()
self.main_window_back() if self._in_main_menu:
# bui.containerwidget(edit=self._root_widget, self.main_window_back()
# transition='out_right') return
# assert bui.app.classic is not None bui.containerwidget(edit=self._root_widget,
# bui.app.ui_v1.set_main_window( transition='out_right')
# ProfileBrowserWindow( assert bui.app.classic is not None
# 'in_left', bui.app.ui_v1.set_main_window(
# selected_profile=new_name, ProfileBrowserWindow(
# in_main_menu=self._in_main_menu, 'in_left',
# ), selected_profile=new_name,
# from_window=self, in_main_menu=self._in_main_menu,
# is_back=True, ),
# ) from_window=self,
is_back=True,
)
return True return True