PatchSet 5723
Date: 2005/04/19 18:12:04
Author: robilad
Branch: HEAD
Tag: (none)
Log:
Resynced with gnu classpath: mediatracker fixes
2005-04-19 Dalibor Topic <[EMAIL PROTECTED]>
Resynced with GNU Classpath.
2005-04-13 Roman Kennke <[EMAIL PROTECTED]>
* java/awt/MediaTracker.java:
Reindented tabs to spaces.
2005-04-13 Roman Kennke <[EMAIL PROTECTED]>
* java/awt/MediaTracker.java
(MediaEntry.imageUpdate): Removed check for SOMEBITS, this
confused the media tracker and lead to lockups. The LOADING
bit is handled on other places.
(addImage): Removed the 'start image tracking' stuff. This
is not necessary and could confuse the media tracker.
(checkAll): Improved the check for image status so that
images that already complete images are detected. Also now
are really all images checked and if necessary loaded. Before
the method bailed out after the first incomplete image.
(statusAll): Detect images that are complete after the
call to Component.prepareImage(..).
(checkID): The same as in checkAll.
(statusID): The same as in statusAll.
Members:
libraries/javalib/java/awt/MediaTracker.java:1.17->1.18
ChangeLog:1.3890->1.3891
Index: kaffe/libraries/javalib/java/awt/MediaTracker.java
diff -u kaffe/libraries/javalib/java/awt/MediaTracker.java:1.17
kaffe/libraries/javalib/java/awt/MediaTracker.java:1.18
--- kaffe/libraries/javalib/java/awt/MediaTracker.java:1.17 Tue Apr 19
18:04:43 2005
+++ kaffe/libraries/javalib/java/awt/MediaTracker.java Tue Apr 19 18:12:04 2005
@@ -126,7 +126,7 @@
* @see [EMAIL PROTECTED] java.awt.image.ImageObserver}
*/
public boolean imageUpdate(Image img, int flags, int x, int y,
- int width, int height)
+ int width, int height)
{
if ((flags & ABORT) != 0)
status = ABORTED;
@@ -134,13 +134,11 @@
status = ERRORED;
else if ((flags & ALLBITS) != 0)
status = COMPLETE;
- else if ((flags & SOMEBITS) != 0)
- status = LOADING;
else
status = 0;
synchronized (MediaTracker.this)
- {
+ {
MediaTracker.this.notifyAll();
}
@@ -176,9 +174,6 @@
e.next = head;
head = e;
}
- // Start tracking image status.
- int flags = target.checkImage(image, e);
- e.imageUpdate(image, flags, -1, -1, -1, -1);
}
/**
@@ -203,9 +198,6 @@
e.next = head;
head = e;
}
- // Start tracking image status.
- int flags = target.checkImage(image, width, height, e);
- e.imageUpdate(image, flags, -1, -1, width, height);
}
/**
@@ -245,21 +237,23 @@
while (e != null)
{
- if ((e.status & (COMPLETE | ERRORED | ABORTED)) == 0)
- {
- if (load)
- {
- result = false;
- if (e.status == 0)
- {
- target.prepareImage(e.image, e);
- e.status = LOADING;
- }
- }
- else
- return false;
- }
- e = e.next;
+ if ((e.status & (COMPLETE | ERRORED | ABORTED)) == 0)
+ {
+ if (load && ((e.status & LOADING) == 0))
+ {
+ e.status = LOADING;
+ result = false;
+ boolean complete = target.prepareImage(e.image, e);
+ if (complete)
+ {
+ e.status = COMPLETE;
+ result = true;
+ }
+ }
+ else
+ result = false;
+ }
+ e = e.next;
}
return result;
}
@@ -278,7 +272,7 @@
while (e != null)
{
if ((e.status & ERRORED) != 0)
- return true;
+ return true;
e = e.next;
}
return false;
@@ -297,11 +291,11 @@
while (e != null)
{
if ((e.status & ERRORED) != 0)
- {
- if (result == null)
- result = new ArrayList();
- result.add(e.image);
- }
+ {
+ if (result == null)
+ result = new ArrayList();
+ result.add(e.image);
+ }
e = e.next;
}
if (result == null)
@@ -350,12 +344,12 @@
synchronized (this)
{
while (result == false)
- {
- wait(ms);
- result = checkAll(true);
- if ((System.currentTimeMillis() - start) > ms)
- break;
- }
+ {
+ wait(ms);
+ result = checkAll(true);
+ if ((System.currentTimeMillis() - start) > ms)
+ break;
+ }
}
return result;
@@ -378,12 +372,15 @@
while (e != null)
{
if (load && e.status == 0)
- {
- target.prepareImage(e.image, e);
- e.status = LOADING;
- }
+ {
+ boolean complete = target.prepareImage(e.image, e);
+ if (complete)
+ e.status = COMPLETE;
+ else
+ e.status = LOADING;
+ }
result |= e.status;
- e = e.next;
+ e = e.next;
}
return result;
}
@@ -420,21 +417,23 @@
while (e != null)
{
- if (e.id == id && ((e.status & (COMPLETE | ABORTED | ERRORED)) == 0))
- {
- if (load)
- {
- result = false;
- if (e.status == 0)
- {
- target.prepareImage(e.image, e);
- e.status = LOADING;
- }
- }
- else
- return false;
- }
- e = e.next;
+ if (e.id == id && ((e.status & (COMPLETE | ABORTED | ERRORED)) == 0))
+ {
+ if (load && ((e.status & LOADING) == 0))
+ {
+ e.status = LOADING;
+ result = false;
+ boolean complete = target.prepareImage(e.image, e);
+ if (complete)
+ {
+ e.status = COMPLETE;
+ result = true;
+ }
+ }
+ else
+ result = false;
+ }
+ e = e.next;
}
return result;
}
@@ -454,7 +453,7 @@
while (e != null)
{
if (e.id == id && ((e.status & ERRORED) != 0))
- return true;
+ return true;
e = e.next;
}
return false;
@@ -476,11 +475,11 @@
while (e != null)
{
if (e.id == id && ((e.status & ERRORED) != 0))
- {
- if (result == null)
- result = new ArrayList();
- result.add(e.image);
- }
+ {
+ if (result == null)
+ result = new ArrayList();
+ result.add(e.image);
+ }
e = e.next;
}
if (result == null)
@@ -535,12 +534,12 @@
synchronized (this)
{
while (result == false)
- {
- wait(ms);
- result = checkID(id, true);
- if ((System.currentTimeMillis() - start) > ms)
- break;
- }
+ {
+ wait(ms);
+ result = checkID(id, true);
+ if ((System.currentTimeMillis() - start) > ms)
+ break;
+ }
}
return result;
@@ -565,15 +564,18 @@
while (e != null)
{
if (e.id == id)
- {
+ {
if (load && e.status == 0)
- {
- target.prepareImage(e.image, e);
- e.status = LOADING;
- }
+ {
+ boolean complete = target.prepareImage(e.image, e);
+ if (complete)
+ e.status = COMPLETE;
+ else
+ e.status = LOADING;
+ }
result |= e.status;
- }
- e = e.next;
+ }
+ e = e.next;
}
return result;
}
Index: kaffe/ChangeLog
diff -u kaffe/ChangeLog:1.3890 kaffe/ChangeLog:1.3891
--- kaffe/ChangeLog:1.3890 Tue Apr 19 18:08:03 2005
+++ kaffe/ChangeLog Tue Apr 19 18:11:54 2005
@@ -2,6 +2,32 @@
Resynced with GNU Classpath.
+ 2005-04-13 Roman Kennke <[EMAIL PROTECTED]>
+
+ * java/awt/MediaTracker.java:
+ Reindented tabs to spaces.
+
+ 2005-04-13 Roman Kennke <[EMAIL PROTECTED]>
+
+ * java/awt/MediaTracker.java
+ (MediaEntry.imageUpdate): Removed check for SOMEBITS, this
+ confused the media tracker and lead to lockups. The LOADING
+ bit is handled on other places.
+ (addImage): Removed the 'start image tracking' stuff. This
+ is not necessary and could confuse the media tracker.
+ (checkAll): Improved the check for image status so that
+ images that already complete images are detected. Also now
+ are really all images checked and if necessary loaded. Before
+ the method bailed out after the first incomplete image.
+ (statusAll): Detect images that are complete after the
+ call to Component.prepareImage(..).
+ (checkID): The same as in checkAll.
+ (statusID): The same as in statusAll.
+
+2005-04-19 Dalibor Topic <[EMAIL PROTECTED]>
+
+ Resynced with GNU Classpath.
+
2005-04-12 Roman Kennke <[EMAIL PROTECTED]>
* javax/swing/plaf/basic/BasicMenuUI.java
_______________________________________________
kaffe mailing list
[email protected]
http://kaffe.org/cgi-bin/mailman/listinfo/kaffe