From 785f5b6f69bce7844ff3f63a0ca89df4df6da727 Mon Sep 17 00:00:00 2001 From: davipatury Date: Tue, 21 Feb 2017 18:40:58 -0300 Subject: [PATCH] GC --- code/modules/modular_computers/hardware/ai_slot.dm | 7 +++++++ .../modules/modular_computers/hardware/battery_module.dm | 9 +++++++++ code/modules/modular_computers/hardware/card_slot.dm | 8 +++++++- code/modules/modular_computers/hardware/hard_drive.dm | 1 + code/modules/modular_computers/laptop_vendor.dm | 2 +- 5 files changed, 25 insertions(+), 2 deletions(-) diff --git a/code/modules/modular_computers/hardware/ai_slot.dm b/code/modules/modular_computers/hardware/ai_slot.dm index a11100534e1..5fd3ca1fc6b 100644 --- a/code/modules/modular_computers/hardware/ai_slot.dm +++ b/code/modules/modular_computers/hardware/ai_slot.dm @@ -10,6 +10,12 @@ var/obj/item/device/aicard/stored_card = null var/locked = FALSE +/obj/item/weapon/computer_hardware/ai_slot/Destroy() + if(stored_card) + qdel(stored_card) + stored_card = null + return ..() + /obj/item/weapon/computer_hardware/ai_slot/examine(mob/user) ..() @@ -21,6 +27,7 @@ /obj/item/weapon/computer_hardware/ai_slot/on_remove(obj/item/device/modular_computer/M, mob/living/user = null) M.remove_verb(device_type) + try_eject(0, forced = 1) /obj/item/weapon/computer_hardware/ai_slot/try_insert(obj/item/I, mob/living/user = null) if(!holder) diff --git a/code/modules/modular_computers/hardware/battery_module.dm b/code/modules/modular_computers/hardware/battery_module.dm index 16b1552f11e..562fb8c6cad 100644 --- a/code/modules/modular_computers/hardware/battery_module.dm +++ b/code/modules/modular_computers/hardware/battery_module.dm @@ -13,6 +13,15 @@ battery = new battery_type(src) ..() +/obj/item/weapon/computer_hardware/battery/Destroy() + if(battery) + qdel(battery) + battery = null + return ..() + +/obj/item/weapon/computer_hardware/battery/on_remove(obj/item/device/modular_computer/M, mob/living/user = null) + try_eject(0, forced = 1) + /obj/item/weapon/computer_hardware/battery/try_insert(obj/item/I, mob/living/user = null) if(!holder) return FALSE diff --git a/code/modules/modular_computers/hardware/card_slot.dm b/code/modules/modular_computers/hardware/card_slot.dm index b310fa5be7d..6d323bb7fca 100644 --- a/code/modules/modular_computers/hardware/card_slot.dm +++ b/code/modules/modular_computers/hardware/card_slot.dm @@ -11,7 +11,12 @@ var/obj/item/weapon/card/id/stored_card2 = null /obj/item/weapon/computer_hardware/card_slot/Destroy() - try_eject() + if(stored_card) + qdel(stored_card) + stored_card = null + if(stored_card2) + qdel(stored_card2) + stored_card2 = null return ..() /obj/item/weapon/computer_hardware/card_slot/GetAccess() @@ -35,6 +40,7 @@ /obj/item/weapon/computer_hardware/card_slot/on_remove(obj/item/device/modular_computer/M, mob/living/user = null) M.remove_verb(device_type) + try_eject(0, forced = 1) /obj/item/weapon/computer_hardware/card_slot/try_insert(obj/item/I, mob/living/user = null) if(!holder) diff --git a/code/modules/modular_computers/hardware/hard_drive.dm b/code/modules/modular_computers/hardware/hard_drive.dm index a92d2e4802d..707e16e22ac 100644 --- a/code/modules/modular_computers/hardware/hard_drive.dm +++ b/code/modules/modular_computers/hardware/hard_drive.dm @@ -65,6 +65,7 @@ if(F in stored_files) stored_files -= F + qdel(F) recalculate_size() return 1 else diff --git a/code/modules/modular_computers/laptop_vendor.dm b/code/modules/modular_computers/laptop_vendor.dm index 71324e005ef..2a6cb6f18a6 100644 --- a/code/modules/modular_computers/laptop_vendor.dm +++ b/code/modules/modular_computers/laptop_vendor.dm @@ -221,7 +221,7 @@ /obj/machinery/lapvend/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1) ui = nanomanager.try_update_ui(user, src, ui_key, ui, force_open) if(!ui) - ui = new(user, src, ui_key, "computer_fabricator.tmpl", "Personal Computer Vendor", 500, 400) + ui = new(user, src, ui_key, "computer_fabricator.tmpl", "Personal Computer Vendor", 500, 700) ui.set_auto_update(1) ui.open()