|
Quick Lists
|
|
Bug ID:
|
4374079
|
|
Votes
|
75
|
|
Synopsis
|
Win32:Lightweight components do not immediately repaint in response to repaint()
|
|
Category
|
java:classes_2d
|
|
Reported Against
|
1.4
, 1.4.1
, hopper
, mantis
, merlin-rc1
, hopper-beta
, merlin-beta
, merlin-beta2
, merlin-beta3
|
|
Release Fixed
|
1.4.1_02
|
|
State
|
10-Fix Delivered,
bug
|
|
Priority:
|
3-Medium
|
|
Related Bugs
|
4458337
,
4488406
,
4587558
,
4615038
,
4628179
,
4664490
,
4684615
,
4702044
,
4717086
,
4726491
,
4757919
,
4763268
|
|
Submit Date
|
26-SEP-2000
|
|
Description
|
To reproduce this bug, run the regression test located at
test/java/awt/Focus/MixedWeightFocus. While this is indeed a focus regression
test, the bug does *not* appear to be a focus bug. It is reproducible in the
current Windows merlin promotion, even though the promotion does not contain
the new focus implementation.
In 'FocusFrame', focus 'button 1' by clicking on it. Then press TAB. A focus
rectangle should draw around 'lw 1'. That is the behavior in kestrel. However,
the rectangle will not draw until you move the mouse over 'lw 1'.
|
|
Work Around
|
Programmatically, call Toolkit.sync();
or run the applet/application
with java instead of javaw or appletviewer
Use
java sun.applet.AppletViewer *.html
instead of appletviewer.
xxxxx@xxxxx 2002-10-04
|
|
Evaluation
|
Commit to fix in Merlin (regression).
xxxxx@xxxxx 2000-10-03
xxxxx@xxxxx
I was unable to reproduce the bug as it was described in the report.
I tried b35, b46, b47 on Win2000 and WinNT4.0.
On Win2000 I've met the following behaviour: when you click over the
lightweight from the test it receives the focus and redraws but the
place under the mouse remains corrupted. Seems to be the 2D problem.
======================================================================
I am still able to reproduce the bug on merlin build 48 using Windows 2000 SP 1
on a dual-processor Dell 733 Pentium III. Can you retest using a dual-processor
machine?
xxxxx@xxxxx 2001-01-22
xxxxx@xxxxx
The problem with grabage under mouse cursor can be workarounded by setting sun.java2d.noddraw flag to true at start.
======================================================================
commit to hopper and tiger
======================================================================
xxxxx@xxxxx 2002-07-19
The bug is reproducible on win2000 with Hopper b16. The same behavior is observed when
running demo applets. For example with DitherTest if you shrink window horizontaly by
dragging the border the controls aren't redrawn. If you move mouse cursor on the Panel,
the image is fixed up. AWT doesn't redraw at this time. I suggest to recategorize the
bug to java2d.
======================================================================
The problem is that Gdi batches our rendering requests but never executes them.
If the application directly calls Toolkit.sync() (which calls ::GdiFlush()),
the rendering appears as expected.
Note that the problem is limited to javaw, appletviewer and browsers.
Investigation reveals that for some reason the default number of requests
GDI batches is different for appletviewer.exe, javaw.exe and java.exe.
GdiGetBatchLimit reports:
javaw, appletviewer: 20
java : 0 (which means 'default', whatever it is)
This is most likely caused by the way these applications are created/compiled.
For example, appletviewer.exe has batch limit 20, and the problem is clearly
there, but if the same applet is run as
java.exe sun.applet.AppletViewer *.html
the reported limit is 0, and the problem doesn't appear.
If the batch limit is set to 1 using GdiSetBatchLimit (disable batching), the problem goes away.
Another note that supports this theory is that each thread has its own
batch limit setting, so if the applet creates a new thread and
issues rendering from that thread, it appears fine, even if run with
appletviewer.exe.
Continuing the investigation.
xxxxx@xxxxx 2002-10-04
|
|
Comments
|
Submitted On 26-JUL-2002
cforster
Workaround in eval does not help applets targeting the plug-
in because we cannot ask clients to goto JPI control panel &
enter -Dsun.java2d.noddraw=true ! Applet deployers *really*
need per-applet control of this property (until 2D can promise
fault-free ddraw rendering on all desktops:).
Submitted On 26-SEP-2002
jessh
I agree 100% with cforster. There are a number of
workarounds in this category that sound well and good for
server apps, but make no sense for applets intended to be
used by hundreds of end users that have no knowledge of
Java -- and don't want any either, especially of the "Java is
the thing I have to reconfigure to no end on my desktop to
make it function".
The ddraw UI "tearing" bug fits into this category. Java 2
v1.4's inclusion of a broken Xalan (one which throws security
exceptions if used from an applet) is another prime example
[there is another JDC bug on this].
As an applet deployer (or even worse, an applet developer
selling to multiple deployers), we can't tell end users to "edit
ddraw...", find a working Xalan and put it in
{JRE}/lib/endorsed, and.... It has to work immediately as
deployed...
Submitted On 12-NOV-2002
pworth1971
What vm release is mantis? When is it scheduled?
Submitted On 12-NOV-2002
nilin2
"Mantis" is the name for J2SE 1.4.2. Regards, Nick.
Submitted On 12-NOV-2002
nilin2
Oh, I forgot: It is scheduled for release in the beginning of
2003. See http://java.sun.com/features/2002/03/totiger.html
Nick.
PLEASE NOTE: JDK6 is formerly known as Project Mustang
|
|
|
 |