diff --git a/OVMFbin/OVMF_VARS-pure-efi.fd b/OVMFbin/OVMF_VARS-pure-efi.fd index 8525510..f858912 100644 Binary files a/OVMFbin/OVMF_VARS-pure-efi.fd and b/OVMFbin/OVMF_VARS-pure-efi.fd differ diff --git a/kernel/bin/CustomOS.img b/kernel/bin/CustomOS.img index 0d347d0..ab359a6 100644 Binary files a/kernel/bin/CustomOS.img and b/kernel/bin/CustomOS.img differ diff --git a/kernel/bin/kernel.elf b/kernel/bin/kernel.elf index dc9fd86..406f1d1 100755 Binary files a/kernel/bin/kernel.elf and b/kernel/bin/kernel.elf differ diff --git a/kernel/lib/BasicRenderer.o b/kernel/lib/BasicRenderer.o index 7a71f40..4188871 100644 Binary files a/kernel/lib/BasicRenderer.o and b/kernel/lib/BasicRenderer.o differ diff --git a/kernel/src/BasicRenderer.cpp b/kernel/src/BasicRenderer.cpp index a0ad4fd..bcc696a 100644 --- a/kernel/src/BasicRenderer.cpp +++ b/kernel/src/BasicRenderer.cpp @@ -62,6 +62,8 @@ uint32_t BasicRenderer::GetPixel(uint32_t x, uint32_t y){ } void BasicRenderer::ClearMouseCursor(uint8_t* mouseCursor, Point position) { + if (!MouseDrawn) return; + int xMax = 16; int yMax = 19; int diffX = targetFramebuffer->Width - position.x; @@ -102,6 +104,8 @@ void BasicRenderer::DrawOverlayMouseCursor(uint8_t* mouseCursor, Point position, } } } + + MouseDrawn = true; } void BasicRenderer::Clear() { diff --git a/kernel/src/BasicRenderer.h b/kernel/src/BasicRenderer.h index 0487456..4780845 100644 --- a/kernel/src/BasicRenderer.h +++ b/kernel/src/BasicRenderer.h @@ -23,6 +23,7 @@ class BasicRenderer { void Clear(); void Next(); void DrawOverlayMouseCursor(uint8_t* mouseCursor, Point position, uint32_t colour); + bool MouseDrawn; }; extern BasicRenderer* GlobalRenderer; \ No newline at end of file