Bug 346690, p=sergei_d, r=thesuckiestemail, NPOB
--- a/widget/src/beos/nsWindow.cpp
+++ b/widget/src/beos/nsWindow.cpp
@@ -1254,16 +1254,18 @@ NS_METHOD nsWindow::SetCursor(nsCursor a
{
if (!mView)
return NS_ERROR_FAILURE;
// Only change cursor if it's changing
if (aCursor != mCursor)
{
BCursor const *newCursor = B_CURSOR_SYSTEM_DEFAULT;
+ if (be_app->IsCursorHidden())
+ be_app->ShowCursor();
// Check to see if the array has been loaded, if not, do it.
if (gCursorArray.Count() == 0)
{
gCursorArray.InsertElementAt((void*) new BCursor(cursorHyperlink),0);
gCursorArray.InsertElementAt((void*) new BCursor(cursorHorizontalDrag),1);
gCursorArray.InsertElementAt((void*) new BCursor(cursorVerticalDrag),2);
gCursorArray.InsertElementAt((void*) new BCursor(cursorUpperLeft),3);
@@ -1416,17 +1418,17 @@ NS_METHOD nsWindow::SetCursor(nsCursor a
newCursor = (BCursor *)gCursorArray.SafeElementAt(2);
break;
case eCursor_ew_resize:
newCursor = (BCursor *)gCursorArray.SafeElementAt(1);
break;
case eCursor_none:
- // XXX: No suitable cursor, needs implementing
+ be_app->HideCursor();
break;
default:
NS_ASSERTION(0, "Invalid cursor type");
break;
}
NS_ASSERTION(newCursor != nsnull, "Cursor not stored in array properly!");
mCursor = aCursor;