fixed live scrolling

git-svn-id: svn://10.0.0.236/trunk@18009 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
pierre%netscape.com 1999-01-19 14:33:47 +00:00
parent b4ea06ef45
commit 449bfd60e6

View File

@ -158,14 +158,25 @@ void nsScrollbar::DoScrollAction(ControlPartCode part)
}
EndDraw();
// send event to scroll the parent
nsScrollbarEvent scrollBarEvent;
scrollBarEvent.eventStructType = NS_GUI_EVENT;
scrollBarEvent.widget = this;
scrollBarEvent.message = scrollBarMessage;
GetPosition(pos);
scrollBarEvent.position = pos;
DispatchWindowEvent(scrollBarEvent);
GetParent()->Update();
Inherited::DispatchWindowEvent(scrollBarEvent);
// update the area of the parent uncovered by the scrolling
WindowRecord* savePort;
nsIWidget* parent = GetParent();
parent->Update();
NS_RELEASE(parent);
// update this scrollbar
this-Invalidate(PR_FALSE);
this->Update();
StartDraw();
}
@ -218,7 +229,9 @@ PRBool nsScrollbar::DispatchMouseEvent(nsMouseEvent &aEvent)
scrollBarEvent.message = NS_SCROLLBAR_POS;
scrollBarEvent.position = mValue;
DispatchWindowEvent(scrollBarEvent);
GetParent()->Update();
nsIWidget* parent = GetParent();
parent->Update();
NS_RELEASE(parent);
StartDraw();
break;
#endif