<AWT Dev> RFR: 8210776: Upgrade X Window System 6.8.2 to the latest XWD 1.0.7

Phil Race philip.race at oracle.com
Fri Nov 2 19:50:33 UTC 2018

Bug: https://bugs.openjdk.java.net/browse/JDK-8210776
Webrev: http://cr.openjdk.java.net/~prr/8210776/

These changes are prompted by a mandate to use 'current' versions of 
imported sources.
In this case we have been importing mostly header files from X11 and 
under other
bugs (listed  in the JBS for this bug) they have been removed leaving 
just 5 files
that are all from 'xwd' (X Window Dump) utility, which is now 
distributed standalone,
as the X.org sources have been split up.

These remaining files are all used exclusively by the java.awt.Robot API 
implementation for X11.

Things to note:

Since we don't seem to have updated these files in a long, long time, 
the change
in some of these files is relatively large.

The license file is renamed to reflect it is just for xwd. The build 
still picks this
up since it will copy any file it finds.

A statically declared function QueryColorMap was actually moved into a
separate file called robot_common.c so it could be used by some data 

It turns out that such other usage was removed a very long time ago.
Somewhere around JDK 1.5, and certainly before JDK 1.6.
Not even the referenced file exists but the usage was removed even 
before then.
So I was able to delete robot_common.[ch]

There were a number of JDK modifications in multiVis.c, most of which appear
to be related to preventing memory leaks. Freeing resources did not 
matter to
'xwd' because it just captures a window and exits.
I have restored these and added a "JDK modifications" to each of them
to remove any doubt that they are needed for subsequent updates.

I also reported them 'up stream' - maybe they'll get taken there so we 
don't have
to do that again.

As well as building I ran all our automated tests on Ubuntu which makes 
a lot of
use of the Robot API. So I am reasonably confident this all works as before.
We do still have failures due to unstable tests, but the ones I saw I 
was able to
reproduce without these changes.

And there's no new regression test since we have that coverage and this
is just implementation.


More information about the awt-dev mailing list