Hi Prasanta,

Is just checking for dialog is null fine or we also need to verify 
DocumentProptiesUI in our case? As done in else case when dialog is null at 
http://hg.openjdk.java.net/jdk/client/file/fabf11c3a8ca/src/java.desktop/share/classes/sun/print/ServiceDialog.java#l801
 
<http://hg.openjdk.java.net/jdk/client/file/fabf11c3a8ca/src/java.desktop/share/classes/sun/print/ServiceDialog.java#l801>
 ?

I also see that Win32ServiceUIFactory
.getUI() doesnt return null in some specific DocumentsPropertyUI at 
http://hg.openjdk.java.net/jdk/client/file/754ec520eb4a/src/java.desktop/windows/classes/sun/print/Win32PrintService.java#l1692
 
<http://hg.openjdk.java.net/jdk/client/file/754ec520eb4a/src/java.desktop/windows/classes/sun/print/Win32PrintService.java#l1692>
 

Thanks,
Jay

> On 17-Jul-2020, at 11:22 AM, Prasanta Sadhukhan 
> <prasanta.sadhuk...@oracle.com> wrote:
> 
> Hi Jay,
> 
> I am using the same methodology used to determine whether to show the 
> properties dialog when button-clicked on it (which is not to show if dialog 
> is null) as per
> 
> http://hg.openjdk.java.net/jdk/client/file/fabf11c3a8ca/src/java.desktop/share/classes/sun/print/ServiceDialog.java#l793
>  
> <http://hg.openjdk.java.net/jdk/client/file/fabf11c3a8ca/src/java.desktop/share/classes/sun/print/ServiceDialog.java#l793>
> So, if we cannot show the dialog using that mechanism, we can enable/disable 
> the button itself beforehand using that check.
> 
> Regards
> Prasanta.
> On 16-Jul-20 9:26 PM, Jayathirth D v wrote:
>> Hi Prasanta,
>> 
>> I tested the fix in Mac and Windows and it works as mentioned.
>> 
>> In 
>> http://hg.openjdk.java.net/jdk/client/file/754ec520eb4a/src/java.desktop/windows/classes/sun/print/Win32PrintService.java#l1688
>>  
>> <http://hg.openjdk.java.net/jdk/client/file/754ec520eb4a/src/java.desktop/windows/classes/sun/print/Win32PrintService.java#l1688>
>>  we are returning null when “role <= ServiceUIFactory.MAIN_UIROLE”. So it 
>> covers 3 roles “MAIN_UIROLE”, “ADMIN_UIROLE” and “ABOUT_UIROLE”.
>> 
>> In your webrev we are checking only for “MAIN_UIROLE”. Is creation of 
>> “JDIALOG_UI” restricted only to “MAIN_UIROLE”?
>> 
>> Thanks,
>> Jay
>> 
>>> On 15-Jul-2020, at 6:27 PM, Prasanta Sadhukhan 
>>> <prasanta.sadhuk...@oracle.com <mailto:prasanta.sadhuk...@oracle.com>> 
>>> wrote:
>>> 
>>> Any reviewer for this?
>>> 
>>> On 09-Jul-20 1:10 PM, Prasanta Sadhukhan wrote:
>>>> Hi All,
>>>> 
>>>> Please review a fix for an issue where "Properties" button in 
>>>> ServiceUI.printDialog is enabled in windows but clicking it doesn't show 
>>>> any dialog.
>>>> 
>>>> According to JDK-4673406 
>>>> <https://bugs.openjdk.java.net/browse/JDK-4673406>, the properties dialog 
>>>> isn't supported for direct uses with javax.print.ServiceUI.printDialog, so 
>>>> it makes sense to disable this properies button for this usecase.
>>>> 
>>>> This button is disabled in linux,mac already. This is because, as per
>>>> 
>>>> http://hg.openjdk.java.net/jdk/client/annotate/754ec520eb4a/src/java.desktop/share/classes/sun/print/ServiceDialog.java#l964
>>>>  
>>>> <http://hg.openjdk.java.net/jdk/client/annotate/754ec520eb4a/src/java.desktop/share/classes/sun/print/ServiceDialog.java#l964>
>>>> the button is disabled if ServiceUIFactory is null and for linux/mac, it 
>>>> is null
>>>> 
>>>> http://hg.openjdk.java.net/jdk/client/file/754ec520eb4a/src/java.desktop/unix/classes/sun/print/IPPPrintService.java#l1637
>>>>  
>>>> <http://hg.openjdk.java.net/jdk/client/file/754ec520eb4a/src/java.desktop/unix/classes/sun/print/IPPPrintService.java#l1637>
>>>> http://hg.openjdk.java.net/jdk/client/file/754ec520eb4a/src/java.desktop/share/classes/sun/print/PSStreamPrintService.java#l490
>>>>  
>>>> <http://hg.openjdk.java.net/jdk/client/file/754ec520eb4a/src/java.desktop/share/classes/sun/print/PSStreamPrintService.java#l490>
>>>> but for windows, it created "Win32ServiceUIFactory" but it does not handle 
>>>> the properties dialog if "role" requested to be performed by ServiceUI is 
>>>> <= ServiceUIFactory.MAIN_UIROLE
>>>> 
>>>> [http://hg.openjdk.java.net/jdk/client/file/754ec520eb4a/src/java.desktop/windows/classes/sun/print/Win32PrintService.java#l1688
>>>>  
>>>> <http://hg.openjdk.java.net/jdk/client/file/754ec520eb4a/src/java.desktop/windows/classes/sun/print/Win32PrintService.java#l1688>]
>>>> 
>>>> Proposed fix is to make sure this role is accounted for in the 
>>>> buttonProperties enabling check.
>>>> 
>>>> Bug: https://bugs.openjdk.java.net/browse/JDK-8246742 
>>>> <https://bugs.openjdk.java.net/browse/JDK-8246742>
>>>> webrev: http://cr.openjdk.java.net/~psadhukhan/8246742/webrev.0/ 
>>>> <http://cr.openjdk.java.net/~psadhukhan/8246742/webrev.0/>Regards
>>>> Prasanta
>> 

Reply via email to