[BEOS] Menubar/Toolbar/bookmarks toolbar repaint incorrectly after popup windows close.

RESOLVED FIXED

Status

()

Firefox
General
RESOLVED FIXED
13 years ago
12 years ago

People

(Reporter: Doug Shelton, Assigned: Sergei Dolgov)

Tracking

({fixed1.8.1})

Firefox Tracking Flags

(Not tracked)

Details

(URL)

Attachments

(2 attachments)

(Reporter)

Description

13 years ago
User-Agent:       Mozilla/5.0 (BeOS; U; BeOS BePC; en-US; rv:1.9a1) Gecko/20051105 Firefox/1.6a1
Build Identifier: Mozilla/5.0 (BeOS; U; BeOS BePC; en-US; rv:1.9a1) Gecko/20051105 Firefox/1.6a1

Recently introduced method in nsViewBeOS to reduce unneeded Draws results in improper repaint.  See attached jpg for picture.  Tested by changing

	if (paintregion.CountRects() == 0 || !paintregion.Frame().IsValid() || !fJustValidated)

to 
	if (paintregion.CountRects() == 0 || !paintregion.Frame().IsValid() /*|| !fJustValidated*/)

in nsViewBeOS::Draw.


Reproducible: Always

Steps to Reproduce:
1.start browser
2.go to url above
3.run benchJS
4.wait for step 2 (pop up windows) to complete


Actual Results:  
if any part of menubar, toolbar or bookmark toolbar is obscured by the popups, they'll be corrupted after the popups close.

Expected Results:  
windows should close and bars should return to normal.
(Reporter)

Comment 1

13 years ago
Created attachment 202268 [details]
view of corrupted display

attachment is .png, not .jpg as mentioned above.
(Reporter)

Comment 2

13 years ago
adding block of 311032 tracking bug
Blocks: 311032
(Assignee)

Comment 3

13 years ago
i think i will fix this in previous bug about scrolling
(Assignee)

Comment 4

13 years ago
tqh, what do you think if it may be related to our Destroy() code?

Comment 5

13 years ago
I'm not going to rule it out, but don't think it's very likely.
(Assignee)

Comment 6

13 years ago
tqh,
look by the way here:
http://www.livejournal.com/community/bezilla/144925.html
(Assignee)

Comment 7

13 years ago
It seems like here is happening what i'm was afraid about for long time.
Our tricks/hacks with event priorities in nsAppShell may broke normal order of events.
Probability isn't too high, but now it happened on modern x64 processor.

As natural solution, looks like 'natv' events must be set to lower priority queue .
Or, as hack, we need additional priority level for ONPAINT, as i don't wish to put it at same level as user-triggered events (keyboard, mouse click, move, wheel)

Comment 8

13 years ago
Also it might be good to set nsAppshell's event-thread to have higher priority than ordinary windows so that it always can process events faster than windows can create new events. Right now they are at same priority.
(Reporter)

Comment 9

13 years ago
Created attachment 202413 [details] [diff] [review]
patch to nsAppShell.cpp fixes problem

solution changes priority of native event queue PLEvents.
Attachment #202413 - Flags: review?
(Reporter)

Updated

13 years ago
Attachment #202413 - Flags: review? → review?(thesuckiestemail)

Comment 10

13 years ago
Comment on attachment 202413 [details] [diff] [review]
patch to nsAppShell.cpp fixes problem

r=thesuckiestemail@yahoo.se
Attachment #202413 - Flags: review?(thesuckiestemail) → review+
(Assignee)

Comment 11

13 years ago
Checking in mozilla/widget/src/beos/nsAppShell.cpp;
/cvsroot/mozilla/widget/src/beos/nsAppShell.cpp,v  <--  nsAppShell.cpp
new revision: 1.30; previous revision: 1.29
done 
Assignee: nobody → sergei_d
(Assignee)

Comment 12

13 years ago
closing for now.
though, it will be interesting to test our appshell at some quad x86-64 5 GHz machines in near future:)
Status: UNCONFIRMED → RESOLVED
Last Resolved: 13 years ago
Resolution: --- → FIXED

Comment 13

12 years ago
Comment on attachment 202413 [details] [diff] [review]
patch to nsAppShell.cpp fixes problem

Requesting permission for the MOZILLA_1_8_BRANCH.

This is a BeOS-only change and does not affect any other platform.
Attachment #202413 - Flags: approval1.8.1?

Updated

12 years ago
Attachment #202413 - Flags: approval1.8.1? → approval1.8.1+
(Assignee)

Comment 14

12 years ago
Checking in mozilla/widget/src/beos/nsAppShell.cpp;
/cvsroot/mozilla/widget/src/beos/nsAppShell.cpp,v  <--  nsAppShell.cpp
new revision: 1.29.8.1; previous revision: 1.29
done 
Keywords: fixed1.8.1
You need to log in before you can comment on or make changes to this bug.