Closed
Bug 126578
Opened 23 years ago
Closed 22 years ago
Excessive redrawing starting and leaving page with applet
Categories
(Core Graveyard :: Java: OJI, defect)
Tracking
(Not tracked)
VERIFIED
FIXED
mozilla1.0
People
(Reporter: wilmot, Assigned: bnesse)
References
()
Details
Attachments
(1 file, 2 obsolete files)
4.71 KB,
patch
|
sdagley
:
review+
beard
:
superreview+
asa
:
approval+
|
Details | Diff | Splinter Review |
From Bugzilla Helper: User-Agent: Mozilla/4.0 (compatible; MSIE 5.12; Mac_PowerPC) BuildID: Netscape 6.2 For any applet, the entire applet gets redrawn when you click on it, and redraws three times when you attempt to leave the page. You can try http:// goldbug.com/mrj/properties as an example. This happens with both the 1.0d7 and 1.0d8 versions of the Java plug-in for Mac OS X. Reproducible: Always Steps to Reproduce: To reproduce the bug: 1) Launch Netscape 6.2 with the 1.0d8 Java plug-in on Mac OS X 2) Go to http://goldbug.com/mrj/properties ==> Notice that it redraws twice 3) Click on the applet ==> Notice that the entire applet redraws once 4) Click the "back" button in the browser ==> Notice that the applet redraws _three_times_ before ==> you leave the page. This is the worst of the redraw problems Actual Results: The entire applet area redraws excessively Expected Results: I would expect it to draw once, not multiple times.
Reporter | ||
Comment 2•23 years ago
|
||
I verified that this bug also occurs in Mozilla build 2002022008. The redrawing when leaving the page is not quite as bad, but still excessive. You can try using /Developer/Examples/Quartz Debug and turning on "Flash screen updates" to get a better idea of where the unnecessary redraws are happening..
Assignee | ||
Comment 3•22 years ago
|
||
The checkin for bug 129168 went a long way towards fixing this. Following the steps listed above, the only excess redraw I see now is #3. I assume this is probably a focus issue of some sort, but don't know for certain.
Status: UNCONFIRMED → NEW
Ever confirmed: true
Assignee | ||
Comment 4•22 years ago
|
||
It appears that the remainder of the updating issues we are seeing come from the Event Manager biting us in the rear. At various places in nsObjectFrame on OS 9 we prepare event records for the plugin by calling OSEventAvail(0, &event); and then plugging in our event info (i.e. updateEvt, nullEvent, or a mozilla event). Under OS X we remap the OSEventAvail() call to an EventAvail() call. This is bad because, yes you've guessed it, EventAvail() gives the system time. What the system does with this time, unfortunately, is erase the window... Changing the definition of OSEventAvail from: inline Boolean OSEventAvail(EventMask mask, EventRecord* event) { return EventAvail(mask, event); } to: inline void OSEventAvail(EventMask mask, EventRecord* event) { memset(event, 0, sizeof(EventRecord)); } eliminates about 98% of the inappropriate screen redrawing.
Assignee | ||
Comment 5•22 years ago
|
||
A slightly more well rounded patch which initializes the EventRecord using other means.
Assignee | ||
Comment 6•22 years ago
|
||
Going forward on the assumption that this is the right direction... Here is complete patch that also covers the full page plugin code. Also includes some whitespace cleanup and an if check that was added to nsObjectFrame, but not pluginviewer, in bug 129151.
Attachment #73763 -
Attachment is obsolete: true
Assignee | ||
Comment 7•22 years ago
|
||
This patch makes it more obvious what we are doing.
Attachment #73931 -
Attachment is obsolete: true
Comment 8•22 years ago
|
||
Comment on attachment 73980 [details] [diff] [review] Better patch (ignoring whitespace) r=sdagley
Attachment #73980 -
Flags: review+
Assignee | ||
Updated•22 years ago
|
Comment 9•22 years ago
|
||
Comment on attachment 73980 [details] [diff] [review] Better patch (ignoring whitespace) sr=beard
Attachment #73980 -
Flags: superreview+
Comment 10•22 years ago
|
||
Comment on attachment 73980 [details] [diff] [review] Better patch (ignoring whitespace) a=asa (on behalf of drivers) for checkin to the 1.0 trunk
Attachment #73980 -
Flags: approval+
Assignee | ||
Comment 11•22 years ago
|
||
Fix checked in.
Status: ASSIGNED → RESOLVED
Closed: 22 years ago
Resolution: --- → FIXED
Comment 12•22 years ago
|
||
Verified on mac os 10.1.3 (2002-03-28-08-TRUNK)
Status: RESOLVED → VERIFIED
You need to log in
before you can comment on or make changes to this bug.
Description
•