<AWT Dev> [11][JDK-8171000]Robot.createScreenCapture() crashes in wayland mode

Krishna Addepalli krishna.addepalli at oracle.com
Sun Feb 4 04:13:42 UTC 2018

Hi Sergey,

I'm aware of the C99 thing, so I looked around in the file before making those changes. For example, within the same function that I modified, I found variable declarations inside the for loop:
    for (reg = (image_region_type *) first_in_list( regions); reg;
          reg = (image_region_type *) next_in_list( regions))
                 int32_t rect;
                 struct my_XRegion *vis_reg;

And also, in couple of other places within the same file, the some variables were declared within if blocks. That's when I moved the variable declarations to the point of use.

-----Original Message-----
From: Sergey Bylokhov 
Sent: Saturday, February 3, 2018 1:27 PM
To: Krishna Addepalli <krishna.addepalli at oracle.com>; awt-dev at openjdk.java.net
Subject: Re: <AWT Dev> [11][JDK-8171000]Robot.createScreenCapture() crashes in wayland mode

Hi, Krishna.
The change of local types declarations looks reasonable, but I am not sure that C99 will be supported by all compilers which will be used to build jdk where this fix will be used.
I suggest to simplify the fix and add only one null check to it.

On 01/02/2018 04:06, Krishna Addepalli wrote:
> Hi All,
> Please review a fix for JDK-8171000: 
> https://bugs.openjdk.java.net/browse/JDK-8171000
> Webrev: http://cr.openjdk.java.net/~kaddepalli/8171000/webrev00/
> The crash happens since XGetImage can return NULL in case of Wayland, 
> which doesnot permit reading screen pixels outside the owning window.
> Added a null check to prevent the same, and also refactored and 
> removed unnecessary code to make the function simpler.
> Thanks,
> Krishna

Best regards, Sergey.

More information about the awt-dev mailing list