mirror of
https://github.com/ClassiCube/ClassiCube.git
synced 2025-09-13 01:26:50 -04:00
Fix mouse getting centred when clicking on classic controls menu
This commit is contained in:
parent
c7ad4a580b
commit
8dc2b45827
@ -224,9 +224,9 @@ static int IndexOfScreen(struct Screen* s) {
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Gui_RemoveCore(struct Screen* s) {
|
static cc_bool Gui_RemoveCore(struct Screen* s) {
|
||||||
int i = IndexOfScreen(s);
|
int i = IndexOfScreen(s);
|
||||||
if (i == -1) return;
|
if (i == -1) return false;
|
||||||
|
|
||||||
for (; i < Gui.ScreensCount - 1; i++)
|
for (; i < Gui.ScreensCount - 1; i++)
|
||||||
{
|
{
|
||||||
@ -237,6 +237,7 @@ void Gui_RemoveCore(struct Screen* s) {
|
|||||||
|
|
||||||
s->VTABLE->ContextLost(s);
|
s->VTABLE->ContextLost(s);
|
||||||
s->VTABLE->Free(s);
|
s->VTABLE->Free(s);
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
CC_NOINLINE static void Gui_OnScreensChanged(void) {
|
CC_NOINLINE static void Gui_OnScreensChanged(void) {
|
||||||
@ -245,8 +246,8 @@ CC_NOINLINE static void Gui_OnScreensChanged(void) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void Gui_Remove(struct Screen* s) {
|
void Gui_Remove(struct Screen* s) {
|
||||||
Gui_RemoveCore(s);
|
cc_bool removed = Gui_RemoveCore(s);
|
||||||
Gui_OnScreensChanged();
|
if (removed) Gui_OnScreensChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
void Gui_Add(struct Screen* s, int priority) {
|
void Gui_Add(struct Screen* s, int priority) {
|
||||||
|
@ -263,9 +263,6 @@ void Gui_ShowDefault(void);
|
|||||||
void Gui_SetTouchUI(cc_bool enabled);
|
void Gui_SetTouchUI(cc_bool enabled);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* (internal) Removes the screen from the screens list. */
|
|
||||||
/* NOTE: This does NOT perform the usual 'screens changed' behaviour. */
|
|
||||||
void Gui_RemoveCore(struct Screen* s);
|
|
||||||
/* Removes the screen from the screens list. */
|
/* Removes the screen from the screens list. */
|
||||||
CC_API void Gui_Remove(struct Screen* screen);
|
CC_API void Gui_Remove(struct Screen* screen);
|
||||||
/* Inserts a screen into the screen lists with the given priority. */
|
/* Inserts a screen into the screen lists with the given priority. */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user