From 3489e04463d998ecf4536478b58d20c34214d86a Mon Sep 17 00:00:00 2001 From: Adam Johnson Date: Wed, 6 Apr 2022 19:46:00 -0500 Subject: [PATCH] Fix crash from plMouseDevice::HideCursor if it is called before cursor is created --- .../Plasma/PubUtilLib/plInputCore/plInputDevice.cpp | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/Sources/Plasma/PubUtilLib/plInputCore/plInputDevice.cpp b/Sources/Plasma/PubUtilLib/plInputCore/plInputDevice.cpp index eec78f77..2e4306f6 100644 --- a/Sources/Plasma/PubUtilLib/plInputCore/plInputDevice.cpp +++ b/Sources/Plasma/PubUtilLib/plInputCore/plInputDevice.cpp @@ -481,8 +481,8 @@ void plMouseDevice::SetCursorY(hsScalar y) void plMouseDevice::HideCursor(hsBool override) { - if( fInstance->fCursor != nil ) - fInstance->fCursor->SetVisible( false ); + if (fInstance && fInstance->fCursor) + fInstance->fCursor->SetVisible(false); plMouseDevice::bCursorOverride = (override != 0); plMouseDevice::bCursorHidden = true; @@ -499,9 +499,11 @@ void plMouseDevice::ShowCursor(hsBool override) plMouseDevice::bCursorHidden = false; plMouseDevice::bCursorOverride = false; - if( fInstance->fCursor == nil ) - fInstance->CreateCursor( fInstance->fCursorID ); - fInstance->fCursor->SetVisible( true ); + if (fInstance) { + if (!fInstance->fCursor) + fInstance->CreateCursor(fInstance->fCursorID); + fInstance->fCursor->SetVisible(true); + } } void plMouseDevice::NewCursor(char* cursor)