Hello Krishna,

FYI. Build is failing on OEL7 also.
/workspace/open/src/java.desktop/unix/native/libawt_xawt/awt/multiVis.c:405:5: 
error: 'for' loop initial declarations are only allowed in C99 or C11 mode
jib >      for (image_region_type* reg = (image_region_type *) first_in_list( 
regions); reg;

/workspace/open/src/java.desktop/unix/native/libawt_xawt/awt/multiVis.c:409:17: 
error: 'for' loop initial declarations are only allowed in C99 or C11 mode
jib >                  for (int32_t rect = 0; rect < vis_reg->numRects; rect++)

Thanks,
Jay

-----Original Message-----
From: Sergey Bylokhov 
Sent: Friday, February 09, 2018 5:59 AM
To: Krishna Addepalli; awt-dev@openjdk.java.net
Subject: Re: <AWT Dev> [11][JDK-8171000]Robot.createScreenCapture() crashes in 
wayland mode

Actually it breaks the build on solaris sparc, please fix it:

jib >
"/work_dir/49831a9a-88b9-4acc-a9f6-f21c977aa801/workspace/open/src/java.desktop/unix/native/libawt_xawt/awt/multiVis.c",
line 405: error: declaration statement is not allowed in for-loop 
initialization (E_DECLARATION_IN_FOR) jib > 
"/work_dir/49831a9a-88b9-4acc-a9f6-f21c977aa801/workspace/open/src/java.desktop/unix/native/libawt_xawt/awt/multiVis.c",
line 409: error: declaration statement is not allowed in for-loop 
initialization (E_DECLARATION_IN_FOR) jib > cc: acomp failed for 
/work_dir/49831a9a-88b9-4acc-a9f6-f21c977aa801/workspace/open/src/java.desktop/unix/native/libawt_xawt/awt/multiVis.c
jib > make[3]: ***
[work_dir/49831a9a-88b9-4acc-a9f6-f21c977aa801/workspace/build/solaris-sparcv9/support/native/java.desktop/libawt_xawt/multiVis.o]
Error 1

On 04/02/2018 20:29, Sergey Bylokhov wrote:
> OK, then it looks fine.
> 
> On 03/02/2018 20:13, Krishna Addepalli wrote:
>> 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.
>>
> 
> 


--
Best regards, Sergey.

Reply via email to