appr for checkin while tree closed by sar. addref and release when we save a ptr to which widget the mouse is over or clicked on. Since we now do widget refcounting correctly, we need to do it correctly elsewhere ;)

This commit is contained in:
pinkerton%netscape.com 1999-01-27 22:17:42 +00:00
Родитель 27a10ef132
Коммит 41fa17f8f0
1 изменённых файлов: 8 добавлений и 0 удалений

Просмотреть файл

@ -45,6 +45,8 @@ nsMacEventHandler::nsMacEventHandler(nsWindow* aTopLevelWidget)
nsMacEventHandler::~nsMacEventHandler()
{
NS_IF_RELEASE(mLastWidgetPointed);
NS_IF_RELEASE(mLastWidgetHit);
}
@ -301,7 +303,9 @@ PRBool nsMacEventHandler::HandleMouseDownEvent(
// dispatch the event
retVal = widgetHit->DispatchMouseEvent(mouseEvent);
}
NS_IF_RELEASE(mLastWidgetHit);
mLastWidgetHit = widgetHit;
NS_ADDREF(widgetHit);
break;
}
}
@ -329,6 +333,7 @@ PRBool nsMacEventHandler::HandleMouseUpEvent(
if (mLastWidgetHit != nsnull)
{
retVal |= mLastWidgetHit->DispatchMouseEvent(mouseEvent);
NS_RELEASE(mLastWidgetHit);
mLastWidgetHit = nsnull;
}
@ -357,6 +362,7 @@ PRBool nsMacEventHandler::HandleMouseMoveEvent(
mouseEvent.widget = mLastWidgetPointed;
mouseEvent.message = NS_MOUSE_EXIT;
retVal |= mLastWidgetPointed->DispatchMouseEvent(mouseEvent);
NS_IF_RELEASE(mLastWidgetPointed);
mLastWidgetPointed = nsnull;
mouseEvent.widget = widgetPointed;
}
@ -364,7 +370,9 @@ PRBool nsMacEventHandler::HandleMouseMoveEvent(
{
mouseEvent.message = NS_MOUSE_ENTER;
retVal |= widgetPointed->DispatchMouseEvent(mouseEvent);
NS_IF_RELEASE(mLastWidgetPointed);
mLastWidgetPointed = widgetPointed;
NS_ADDREF(widgetPointed);
}
}
else