Closed Bug 2206 Opened 26 years ago Closed 26 years ago

Simple Mouse down on page causes page redraw

Categories

(Core :: Layout, defect, P1)

All
Mac System 8.5
defect

Tracking

()

VERIFIED FIXED

People

(Reporter: glynn, Assigned: mjudge)

Details

Jan 5 PPC Seamonkey build, optimized PBook G3, 292 running 8.5 OS 1. Launch viewer.app 2. Mouse down on a "dead" inactive (no links etc.) area of the loaded default page. Watch the page content. • The page/content is reflowed by layout on mouse down; it should not be. PC work correctly; no reflow occurs.
Assignee: sdagley → pierre
One for pierre...
Severity: major → normal
2 things I have noticed. On the mac, in nsToolkit::SetFocus() we don't check to see if the frame is already focused. I can image that removing the focus and then setting the focus might cause some redraw. But the killer is in nsFrame::SetSelected which gets the rect of the frame and then calls ForceDrawFrame which redraws the frame. This might be happening on the Windows but the drawing might be fast enough that you can't see the refresh.
Simon asked me yesterday to review some code that fixes SetFocus(). I don't know whether it's checked in yet. Reassigned to David to investigate the nsFrame problem.
Assignee: pierre → davidm
Assignee: davidm → troy
Component: Viewer App → Layout
Hardware: Macintosh → All
Summary: [PP] Mac - Simple Mouse down on page causes page reflow → Simple Mouse down on page causes page reflow
Windows also flickers like crazy on Mouse down if you turn off double buffering. I am going to reassign to whoever owns the layout component. I removed PP and changed platform to all.
Summary: Simple Mouse down on page causes page reflow → Simple Mouse down on page causes page redraw
Pierre's referring to a simple change in nsToolkit::SetFocus(). It's checked in, and does not have any impact on this redraw issue.
Assignee: troy → mjudge
Looks like selection code... NTDLL! 77f7624f() nsViewManager::Composite(nsViewManager * const 0x00f9a510) line 596 nsViewManager::UpdateView(nsViewManager * const 0x00f9a510, nsIView * 0x00fbcd30, const nsRect & {x=0 y=0 width=6270 height=32265}, unsigned int 0) line 701 ForceDrawFrame(nsFrame * 0x00fbc3e0) line 2064 nsFrame::SetSelected(nsFrame * const 0x00fbc3e0, int 1, int -1, int -1, int 0) line 1751 + 9 bytes nsRangeList::TakeFocus(nsIFocusTracker * 0x00f9a1ec, nsIFrame * 0x00fbc3e0, unsigned int 4294967295, int 0, int 0) line 417 nsFrame::HandlePress(nsFrame * const 0x00fbc3e0, nsIPresContext & {...}, nsGUIEvent * 0x0012fdb4, nsEventStatus & nsEventStatus_eIgnore) line 668 nsFrame::HandleEvent(nsFrame * const 0x00fbc3e0, nsIPresContext & {...}, nsGUIEvent * 0x0012fdb4, nsEventStatus & nsEventStatus_eIgnore) line 638 PresShell::HandleEvent(PresShell * const 0x00f9a1e4, nsIView * 0x00fbc290, nsGUIEvent * 0x0012fdb4, nsEventStatus & nsEventStatus_eIgnore) line 1321 + 33 bytes nsView::HandleEvent(nsView * const 0x00fbc290, nsGUIEvent * 0x0012fdb4, unsigned int 8, nsEventStatus & nsEventStatus_eIgnore) line 789 nsView::HandleEvent(nsView * const 0x00fbb070, nsGUIEvent * 0x0012fdb4, unsigned int 28, nsEventStatus & nsEventStatus_eIgnore) line 772 nsViewManager::DispatchEvent(nsViewManager * const 0x00f9a510, nsGUIEvent * 0x0012fdb4, nsEventStatus & nsEventStatus_eIgnore) line 823 HandleEvent(nsGUIEvent * 0x0012fdb4) line 64 nsWindow::DispatchEvent(nsWindow * const 0x00fbc9f0, nsGUIEvent * 0x0012fdb4, nsEventStatus & nsEventStatus_eIgnore) line 355 + 10 bytes nsWindow::DispatchWindowEvent(nsGUIEvent * 0x0012fdb4) line 371 nsWindow::DispatchMouseEvent(unsigned int 302, nsPoint * 0x00000000 {x=??? y=???}) line 1844 + 15 bytes ChildWindow::DispatchMouseEvent(unsigned int 302, nsPoint * 0x00000000 {x=??? y=???}) line 1993 nsWindow::ProcessMessage(unsigned int 513, unsigned int 1, long 5701862, long * 0x0012fef4) line 1378 + 24 bytes nsWindow::WindowProc(HWND__ * 0x00040b32, unsigned int 513, unsigned int 1, long 5701862) line 414 + 27 bytes USER32! 77e71250() nsCSSMargin::`scalar deleting destructor'(unsigned
Adding selection folks
Status: NEW → ASSIGNED
Should be fixed, I will investigate
Don't forget to turn off double buffering to verify if it still exists.
Setting all current Open/Normal to M4.
per leger, assigning QA contacts to all open bugs without QA contacts according to list at http://bugzilla.mozilla.org/describecomponents.cgi?product=Browser
Status: ASSIGNED → RESOLVED
Closed: 26 years ago
Resolution: --- → FIXED
fixed a while back
Status: RESOLVED → VERIFIED
Fixed in April 13th Build.
You need to log in before you can comment on or make changes to this bug.