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. Thanks, Krishna -----Original Message----- From: Sergey Bylokhov Sent: Saturday, February 3, 2018 1:27 PM To: Krishna Addepalli <krishna.addepa...@oracle.com>; awt-dev@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.