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()
def __del__(self) -> None:
from bascenev1lib import tutorial
from bascenev1lib.tutorial import TutorialActivity
activity = bs.get_foreground_host_activity()
if isinstance(activity, (bs.GameActivity, tutorial.TutorialActivity)):
if isinstance(activity, (bs.GameActivity, TutorialActivity)):
classic = bui.app.classic
assert classic is not None

View File

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