diff --git a/code/__HELPERS/do_after.dm b/code/__HELPERS/do_after.dm
index 3ec1aa9b08..5b17ed687c 100644
--- a/code/__HELPERS/do_after.dm
+++ b/code/__HELPERS/do_after.dm
@@ -121,7 +121,7 @@
break
// CLEANUP
- qdel(progbar)
+ progbar.end_progress()
// If we failed, just return.
if(!.)
return FALSE
@@ -206,8 +206,9 @@
if((!drifting && user.loc != user_loc) || target.loc != target_loc || (!ignorehelditem && user.get_active_held_item() != holding) || user.incapacitated() || user.lying || (extra_checks && !extra_checks.Invoke()))
. = 0
break
- if(progress)
- qdel(progbar)
+
+ if(!QDELETED(progbar))
+ progbar.end_progress()
if(!QDELETED(target))
LAZYREMOVE(user.do_afters, target)
@@ -296,8 +297,10 @@
if(user.get_active_held_item() != holding)
. = 0
break
- if(progress)
- qdel(progbar)
+
+ if(!QDELETED(progbar))
+ progbar.end_progress()
+
if(!QDELETED(target))
LAZYREMOVE(user.do_afters, target)
@@ -351,8 +354,10 @@
if((!drifting && user_loc != user.loc) || QDELETED(target) || originalloc[target] != target.loc || user.get_active_held_item() != holding || user.incapacitated() || user.lying || (extra_checks && !extra_checks.Invoke()))
. = 0
break mainloop
- if(progbar)
- qdel(progbar)
+
+ if(!QDELETED(progbar))
+ progbar.end_progress()
+
for(var/thing in targets)
var/atom/target = thing
if(!QDELETED(target))
diff --git a/code/datums/components/storage/concrete/rped.dm b/code/datums/components/storage/concrete/rped.dm
index 3744e833ac..9d85dc6173 100644
--- a/code/datums/components/storage/concrete/rped.dm
+++ b/code/datums/components/storage/concrete/rped.dm
@@ -39,7 +39,7 @@
var/datum/progressbar/progress = new(M, length(things), T)
while (do_after(M, 10, TRUE, T, FALSE, CALLBACK(src, .proc/mass_remove_from_storage, T, things, progress, TRUE, M)))
stoplag(1)
- qdel(progress)
+ progress.end_progress()
A.do_squish(0.8, 1.2)
/datum/component/storage/concrete/bluespace/rped
@@ -83,5 +83,5 @@
var/datum/progressbar/progress = new(M, length(things), T)
while (do_after(M, 10, TRUE, T, FALSE, CALLBACK(src, .proc/mass_remove_from_storage, T, things, progress, TRUE, M)))
stoplag(1)
- qdel(progress)
+ progress.end_progress()
A.do_squish(0.8, 1.2)
diff --git a/code/datums/components/storage/storage.dm b/code/datums/components/storage/storage.dm
index c291a416fc..00a58a75f8 100644
--- a/code/datums/components/storage/storage.dm
+++ b/code/datums/components/storage/storage.dm
@@ -215,7 +215,7 @@
var/list/rejections = list()
while(do_after(M, 10, TRUE, parent, FALSE, CALLBACK(src, .proc/handle_mass_pickup, things, I.loc, rejections, progress)))
stoplag(1)
- qdel(progress)
+ progress.end_progress()
to_chat(M, "You put everything you could [insert_preposition] [parent].")
A.do_squish(1.4, 0.4)
@@ -273,7 +273,7 @@
var/datum/progressbar/progress = new(M, length(things), T)
while (do_after(M, 10, TRUE, T, FALSE, CALLBACK(src, .proc/mass_remove_from_storage, T, things, progress, TRUE, M)))
stoplag(1)
- qdel(progress)
+ progress.end_progress()
A.do_squish(0.8, 1.2)
/datum/component/storage/proc/mass_remove_from_storage(atom/target, list/things, datum/progressbar/progress, trigger_on_found = TRUE, mob/user)
diff --git a/code/datums/status_effects/buffs.dm b/code/datums/status_effects/buffs.dm
index eda3470a0b..77638d157b 100644
--- a/code/datums/status_effects/buffs.dm
+++ b/code/datums/status_effects/buffs.dm
@@ -69,7 +69,7 @@
..()
/datum/status_effect/vanguard_shield/Destroy()
- qdel(progbar)
+ progbar.end_progress()
progbar = null
return ..()
diff --git a/code/game/atoms.dm b/code/game/atoms.dm
index 6f8faad7c3..daa195df25 100644
--- a/code/game/atoms.dm
+++ b/code/game/atoms.dm
@@ -891,7 +891,7 @@
return
while (do_after(user, 10, TRUE, src, FALSE, CALLBACK(STR, /datum/component/storage.proc/handle_mass_item_insertion, things, src_object, user, progress)))
stoplag(1)
- qdel(progress)
+ progress.end_progress()
to_chat(user, "You dump as much of [src_object.parent]'s contents into [STR.insert_preposition]to [src] as you can.")
if(user.active_storage) //refresh the HUD to show the transfered contents
user.active_storage.ui_show(user)
diff --git a/code/game/turfs/turf.dm b/code/game/turfs/turf.dm
index 88ca8a0250..dc44ac728f 100755
--- a/code/game/turfs/turf.dm
+++ b/code/game/turfs/turf.dm
@@ -388,7 +388,7 @@ GLOBAL_LIST_EMPTY(station_turfs)
var/datum/progressbar/progress = new(user, things.len, src)
while (do_after(usr, 1 SECONDS, TRUE, src, FALSE, CALLBACK(src_object, /datum/component/storage.proc/mass_remove_from_storage, src, things, progress, TRUE, user)))
stoplag(1)
- qdel(progress)
+ progress.end_progress()
return TRUE
diff --git a/code/modules/antagonists/clockcult/clock_scripture.dm b/code/modules/antagonists/clockcult/clock_scripture.dm
index 6922c7cd81..feb724dceb 100644
--- a/code/modules/antagonists/clockcult/clock_scripture.dm
+++ b/code/modules/antagonists/clockcult/clock_scripture.dm
@@ -310,7 +310,7 @@ Judgement 80k power or nine converts
var/datum/progressbar/progbar
/datum/clockwork_scripture/ranged_ability/Destroy()
- qdel(progbar)
+ progbar.end_progress()
return ..()
/datum/clockwork_scripture/ranged_ability/scripture_effects()
@@ -333,7 +333,7 @@ Judgement 80k power or nine converts
(allow_mobility || (can_recite() && T == get_turf(invoker))))
if(progbar)
if(slab.slab_ability.in_progress)
- qdel(progbar)
+ progbar.end_progress()
else
progbar.update(end_time - world.time)
stoplag(1)
diff --git a/code/modules/vehicles/secway.dm b/code/modules/vehicles/secway.dm
index 8ad8b5f1ee..ea0ea2140b 100644
--- a/code/modules/vehicles/secway.dm
+++ b/code/modules/vehicles/secway.dm
@@ -43,7 +43,8 @@
. = ..(M, force, check_loc)
if(.)
if(progressbars_by_rider[M])
- qdel(progressbars_by_rider[M])
+ var/datum/progressbar/to_delete = progressbars_by_rider[M]
+ to_delete.end_progress()
var/datum/progressbar/D = new(M, chargemax, src)
D.update(charge)
progressbars_by_rider[M] = D
@@ -51,12 +52,14 @@
/obj/vehicle/ridden/secway/unbuckle_mob(mob/living/M, force)
. = ..(M, force)
if(.)
- qdel(progressbars_by_rider[M])
+ var/datum/progressbar/to_delete = progressbars_by_rider[M]
+ to_delete.end_progress()
progressbars_by_rider -= M
/obj/vehicle/ridden/secway/Destroy()
for(var/i in progressbars_by_rider)
- qdel(progressbars_by_rider[i])
+ var/datum/progressbar/to_delete = progressbars_by_rider[i]
+ to_delete.end_progress()
progressbars_by_rider.Cut()
STOP_PROCESSING(SSfastprocess, src)
return ..()