<AWT Dev> Taking screenshots on x11 composite desktop produce wrong result

Mario Torre neugens at redhat.com
Thu Jun 16 16:47:29 UTC 2016

On Wed, Jun 1, 2016 at 1:52 PM, Semyon Sadetsky
<semyon.sadetsky at oracle.com> wrote:
> On 6/1/2016 2:39 PM, Mario Torre wrote:
>> On Wed, Jun 1, 2016 at 1:23 PM, Semyon Sadetsky
>> <semyon.sadetsky at oracle.com> wrote:
>>> I ran JPRT build. It seems that the build server does not have the
>>> requested
>>> header:
>>> /opt/jprt/T/P1/102200.ssadetsk/s/jdk/src/java.desktop/unix/native/libawt_xawt/awt/awt_Robot.c:40:39:
>>> fatal error: X11/extensions/Xcomposite.h: No such file or directory
>>>   #include <X11/extensions/Xcomposite.h>
>>> someone need to install Xcomposite library there
>> Should this be made optional?
>> I can do some dlsym hack if necessary (I would prefer to avoid that
>> though).
> Apparently dlsym is the shortest way to fix that issue and you don't need to
> modify the makefile in that case.

Well, to be honest, I think Xcomposite should just be a requirement, I
believe all the systems that OpenJDK 9 targets as "supported" have
that library, it just needs to be installed.

Anyway, this is the patch with the dl-stuff hacks:


The only question I have is where to unload the library, I gave a look
at what the XToolkit code does with GTK, and it seems that it's just
never unloaded (there's a method to unload the library, but looks like
it's never used anywhere, except, of course, if some functions fail to
load in the first place, which is what I also do here). I think this
is not a real problem though, so rather than making the whole code a
lot more complex I would keep it that way, YMMV.

I believe I need again two approvals now.


More information about the awt-dev mailing list