fixes a tgui input gc issue (#25160)

This commit is contained in:
GDN
2024-04-19 13:07:48 -05:00
committed by GitHub
parent 66bbc90b12
commit a31b7d4db2
5 changed files with 17 additions and 6 deletions
+1 -2
View File
@@ -282,8 +282,7 @@
return
amount = clamp(round(num_input), 1, MULTIPLE_CRATE_MAX)
var/timeout = world.time + (60 SECONDS) // If you dont type the reason within a minute, theres bigger problems here
var/reason = tgui_input_text(user, "Reason", "Why do you require this item?", encode = FALSE, timeout = timeout)
var/reason = tgui_input_text(user, "Reason", "Why do you require this item?", encode = FALSE, timeout = 60 SECONDS)
if(!reason || (!is_public && !is_authorized(user)) || ..())
return
reason = sanitize(copytext_char(reason, 1, 75)) // very long reasons are bad
+4 -1
View File
@@ -62,6 +62,8 @@
var/start_time
/// The lifespan of the tgui_alert, after which the window will close and delete itself.
var/timeout
/// The attached timer that handles this objects timeout deletion
var/deletion_timer
/// The bool that controls if this modal should grab window focus
var/autofocus
/// Boolean field describing if the tgui_alert was closed by the user.
@@ -79,11 +81,12 @@
if(timeout)
src.timeout = timeout
start_time = world.time
QDEL_IN(src, timeout)
deletion_timer = QDEL_IN(src, timeout)
/datum/tgui_alert/Destroy(force)
SStgui.close_uis(src)
state = null
deltimer(deletion_timer)
return ..()
/**
+4 -1
View File
@@ -65,6 +65,8 @@
var/start_time
/// The lifespan of the tgui_list_input, after which the window will close and delete itself.
var/timeout
/// The attached timer that handles this objects timeout deletion
var/deletion_timer
/// Boolean field describing if the tgui_list_input was closed by the user.
var/closed
/// The TGUI UI state that will be returned in ui_state(). Default: always_state
@@ -98,11 +100,12 @@
if(timeout)
src.timeout = timeout
start_time = world.time
QDEL_IN(src, timeout)
deletion_timer = QDEL_IN(src, timeout)
/datum/tgui_list_input/Destroy(force)
SStgui.close_uis(src)
state = null
deltimer(deletion_timer)
return ..()
/**
+4 -1
View File
@@ -66,6 +66,8 @@
var/start_time
/// The lifespan of the number input, after which the window will close and delete itself.
var/timeout
/// The attached timer that handles this objects timeout deletion
var/deletion_timer
/// The title of the TGUI window
var/title
/// The TGUI UI state that will be returned in ui_state(). Default: always_state
@@ -83,7 +85,7 @@
if(timeout)
src.timeout = timeout
start_time = world.time
QDEL_IN(src, timeout)
deletion_timer = QDEL_IN(src, timeout)
/// Checks for empty numbers - bank accounts, etc.
if(max_value == 0)
@@ -101,6 +103,7 @@
/datum/tgui_input_number/Destroy(force)
SStgui.close_uis(src)
state = null
deltimer(deletion_timer)
return ..()
/**
+4 -1
View File
@@ -74,6 +74,8 @@
var/start_time
/// The lifespan of the text input, after which the window will close and delete itself.
var/timeout
/// The attached timer that handles this objects timeout deletion
var/deletion_timer
/// The title of the TGUI window
var/title
/// The TGUI UI state that will be returned in ui_state(). Default: always_state
@@ -91,11 +93,12 @@
if(timeout)
src.timeout = timeout
start_time = world.time
QDEL_IN(src, timeout)
deletion_timer = QDEL_IN(src, timeout)
/datum/tgui_input_text/Destroy(force)
SStgui.close_uis(src)
state = null
deltimer(deletion_timer)
return ..()
/**