diff --git a/Sources/Plasma/PubUtilLib/plInputCore/plInputDevice.cpp b/Sources/Plasma/PubUtilLib/plInputCore/plInputDevice.cpp index 50a332082b..fff70f841e 100644 --- a/Sources/Plasma/PubUtilLib/plInputCore/plInputDevice.cpp +++ b/Sources/Plasma/PubUtilLib/plInputCore/plInputDevice.cpp @@ -267,7 +267,7 @@ void plMouseDevice::CreateCursor( const char* cursor ) fCursor->SetPosition( 0, 0, 0 ); IUpdateCursorSize(); - fCursor->SetVisible( true ); + fCursor->SetVisible(!bCursorHidden); fCursor->SetOpacity( fOpacity ); } @@ -371,9 +371,6 @@ void plMouseDevice::NewCursor(const char* cursor) fInstance->CreateCursor(cursor); fInstance->SetCursorX(fInstance->GetCursorX()); fInstance->SetCursorY(fInstance->GetCursorY()); - - if (!plMouseDevice::bCursorHidden) - fInstance->fCursor->SetVisible( true ); } void plMouseDevice::SetCursorOpacity( float opacity ) diff --git a/Sources/Plasma/PubUtilLib/plInputCore/plInputInterfaceMgr.cpp b/Sources/Plasma/PubUtilLib/plInputCore/plInputInterfaceMgr.cpp index 43b7621d38..97a03c91b5 100644 --- a/Sources/Plasma/PubUtilLib/plInputCore/plInputInterfaceMgr.cpp +++ b/Sources/Plasma/PubUtilLib/plInputCore/plInputInterfaceMgr.cpp @@ -247,15 +247,12 @@ void plInputInterfaceMgr::IUpdateCursor( int32_t newCursor ) const char* mouseCursorResID; - fCurrentCursor = newCursor; - if( fCurrentCursor == plInputInterface::kCursorHidden ) + if (newCursor == plInputInterface::kCursorHidden) { plMouseDevice::HideCursor(); - else - { - plMouseDevice::ShowCursor(); - - switch( fCurrentCursor ) - { + } else { + if (fCurrentCursor == plInputInterface::kCursorHidden) + plMouseDevice::ShowCursor(); + switch (newCursor) { case plInputInterface::kCursorUp: mouseCursorResID = CURSOR_UP; break; case plInputInterface::kCursorLeft: mouseCursorResID = CURSOR_LEFT; break; case plInputInterface::kCursorRight: mouseCursorResID = CURSOR_RIGHT; break; @@ -279,12 +276,12 @@ void plInputInterfaceMgr::IUpdateCursor( int32_t newCursor ) case plInputInterface::kCursorHand: mouseCursorResID = CURSOR_HAND; break; case plInputInterface::kCursorUpward: mouseCursorResID = CURSOR_UPWARD; break; default: mouseCursorResID = CURSOR_OPEN; break; - } - - plMouseDevice::NewCursor( mouseCursorResID ); + plMouseDevice::NewCursor(mouseCursorResID); } + + fCurrentCursor = newCursor; } //// IEval ///////////////////////////////////////////////////////////////////