// File: /workspace/github_c_makefile_star2_O1/enzo1982[P]smooth/classes/gui/widgets/widget.cpp
// Function: smooth::GUI::Widget::~Widget()
S::GUI::Widget::~Widget()
{
	/* Clean up everything in case this widget
	 * is not deleted using DeleteObject.
	 */
	DeactivateTooltip();

	CloseContextMenu();

	while (widgets.Length()) Remove(widgets.GetFirst());

	widgets.RemoveAll();

	if (registered && container != NIL) container->Remove(this);
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
pushq %rax
movq %rdi, %rbx
movq 0xfed0a(%rip), %rax     # 0x16ca48
addq $0x10, %rax
movq %rax, (%rdi)
callq 0x59208
movq %rbx, %rdi
callq 0x59128
leaq 0x38(%rbx), %r14
cmpl $0x0, 0x40(%rbx)
je 0x6dd72
movq %r14, %rdi
callq 0x60a9c
movq (%rax), %rsi
movq (%rbx), %rax
movq %rbx, %rdi
callq *0x38(%rax)
jmp 0x6dd56
movq %r14, %rdi
callq 0x5adc6
cmpb $0x1, 0xca(%rbx)
jne 0x6dd98
movq 0x190(%rbx), %rdi
testq %rdi, %rdi
je 0x6dd98
movq (%rdi), %rax
movq %rbx, %rsi
callq *0x38(%rax)
leaq 0x598(%rbx), %rdi
leaq 0xf49a2(%rip), %r15     # 0x162748
movq %r15, 0x598(%rbx)
callq 0x70d68
leaq 0x578(%rbx), %rdi
leaq 0xf4a68(%rip), %r12     # 0x162828
movq %r12, 0x578(%rbx)
callq 0x71130
leaq 0x558(%rbx), %rdi
movq %r12, 0x558(%rbx)
callq 0x71130
leaq 0x538(%rbx), %rdi
movq %r15, 0x538(%rbx)
callq 0x70d68
leaq 0x518(%rbx), %rdi
movq %r15, 0x518(%rbx)
callq 0x70d68
leaq 0x4f8(%rbx), %rdi
movq %r15, 0x4f8(%rbx)
callq 0x70d68
leaq 0x4d8(%rbx), %rdi
movq %r15, 0x4d8(%rbx)
callq 0x70d68
leaq 0x4b8(%rbx), %rdi
movq %r15, 0x4b8(%rbx)
callq 0x70d68
leaq 0x498(%rbx), %rdi
movq %r15, 0x498(%rbx)
callq 0x70d68
leaq 0x478(%rbx), %rdi
movq %r15, 0x478(%rbx)
callq 0x70d68
leaq 0x458(%rbx), %rdi
leaq 0xf497e(%rip), %rax     # 0x1627f0
movq %rax, 0x458(%rbx)
callq 0x7103e
leaq 0x438(%rbx), %rdi
leaq 0xf48f4(%rip), %r12     # 0x162780
movq %r12, 0x438(%rbx)
callq 0x70e5a
leaq 0x418(%rbx), %rdi
movq %r12, 0x418(%rbx)
callq 0x70e5a
leaq 0x3f8(%rbx), %rdi
movq %r12, 0x3f8(%rbx)
callq 0x70e5a
leaq 0x3d8(%rbx), %rdi
movq %r12, 0x3d8(%rbx)
callq 0x70e5a
leaq 0x3b8(%rbx), %rdi
movq %r12, 0x3b8(%rbx)
callq 0x70e5a
leaq 0x398(%rbx), %rdi
movq %r12, 0x398(%rbx)
callq 0x70e5a
leaq 0x378(%rbx), %rdi
movq %r12, 0x378(%rbx)
callq 0x70e5a
leaq 0x358(%rbx), %rdi
movq %r12, 0x358(%rbx)
callq 0x70e5a
leaq 0x338(%rbx), %rdi
movq %r12, 0x338(%rbx)
callq 0x70e5a
leaq 0x318(%rbx), %rdi
movq %r12, 0x318(%rbx)
callq 0x70e5a
leaq 0x2f8(%rbx), %rdi
movq %r12, 0x2f8(%rbx)
callq 0x70e5a
leaq 0x2d8(%rbx), %rdi
movq %r15, 0x2d8(%rbx)
callq 0x70d68
leaq 0x2b8(%rbx), %rdi
movq %r15, 0x2b8(%rbx)
callq 0x70d68
leaq 0x298(%rbx), %rdi
leaq 0xf482e(%rip), %rax     # 0x1627b8
movq %rax, 0x298(%rbx)
callq 0x70f4c
leaq 0x278(%rbx), %rdi
movq %r12, 0x278(%rbx)
callq 0x70e5a
leaq 0x258(%rbx), %rdi
movq %r15, 0x258(%rbx)
callq 0x70d68
leaq 0x238(%rbx), %rdi
movq %r15, 0x238(%rbx)
callq 0x70d68
leaq 0x218(%rbx), %rdi
movq %r15, 0x218(%rbx)
callq 0x70d68
leaq 0x1f8(%rbx), %rdi
movq %r15, 0x1f8(%rbx)
callq 0x70d68
leaq 0x1d0(%rbx), %rdi
leaq 0xf46d5(%rip), %rax     # 0x1626d8
movq %rax, 0x1d0(%rbx)
callq 0x70b8c
leaq 0x1a8(%rbx), %rdi
leaq 0xf462b(%rip), %rax     # 0x162648
movq %rax, 0x1a8(%rbx)
callq 0x70a46
leaq 0x140(%rbx), %rdi
callq 0x56720
leaq 0x120(%rbx), %rdi
callq 0x59200
leaq 0x108(%rbx), %rdi
callq 0x59200
leaq 0xf0(%rbx), %rdi
callq 0x59200
movq %r14, %rdi
callq 0x5b11e
movq %rbx, %rdi
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
jmp 0x55c60
jmp 0x6e0b6
jmp 0x6e0b6
jmp 0x6e0b6
jmp 0x6e0b6
jmp 0x6e0b6
jmp 0x6e0b6
jmp 0x6e0b6
jmp 0x6e0b6
jmp 0x6e0b6
jmp 0x6e0b6
jmp 0x6e0b6
jmp 0x6e0b6
jmp 0x6e0b6
jmp 0x6e0b6
jmp 0x6e0b6
jmp 0x6e0b6
jmp 0x6e0b6
jmp 0x6e0b6
jmp 0x6e0b6
jmp 0x6e0b6
jmp 0x6e0b6
jmp 0x6e0b6
jmp 0x6e0b6
jmp 0x6e0b6
jmp 0x6e0b6
jmp 0x6e0b6
jmp 0x6e0b6
jmp 0x6e0b6
jmp 0x6e0b6
jmp 0x6e0b6
jmp 0x6e0b6
jmp 0x6e0b6
jmp 0x6e0b6
movq %rax, %rdi
callq 0x5aede