Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-5080830

SheetCollate is not handled properly by the cross platform print dlg



    • Type: Bug
    • Status: Resolved
    • Priority: P4
    • Resolution: Fixed
    • Affects Version/s: 1.4.0
    • Fix Version/s: 9
    • Component/s: client-libs
    • Labels:
    • Subcomponent:
    • Resolved In Build:
    • CPU:
      generic, x86
    • OS:
      generic, windows_xp


      I have noticed 2 issues with SheetCollate attribute when printing through PrintService APIs using a cross-platform print dialog.

      1. I am using a PrintService that supports SheetCollate attribute category but not for all doc flavors. When I popup the print dialog with a doc flavor that does not support SheetCollate, I expect the COLLATE checkbox to remain disabled as long as the selected print service does not support it. But currently when no. of copies is increased, the collate checkbox gets enabled regardless of whether it is supported by the printservice or not, for the given doc flavor.

      2. There are 2 print services in the drop-down and one of them does not support SheetCollate. I am first selecting the print service that supports it, choosing 2 copies and clicking COLLATE checkbox. Now when I change my print service to the one that does not support collation, the checkbox gets disabled visually but the attribute continues to exist in the updated PrintReqAttributeSet. This attribute should not be present in the attribute set when it is not supported by the print service.

      3. Another issue is, On WinXP - Tiger, the COLLATE checkbox remains selected by default. When I increase the no. of copies, collate checkbox gets enabled but remains selected. A bug has already been filed on this: 4871070. But the new issue is, even though it remains selected, it is not getting added to the attibute set when no. of copies is increased. To truely enable it, the user has to uncheck the checkbox and select again in order to make print dialog add this option to the given attribute set.

      All the above issues are reproducible since JDK1.4 (except 3) on Win32 as well as Solaris10 (Non-CUPS). This is not reproducible on CUPS since it does not support SheetCollate.

      I have attached a sample test. Execute the sample test. A print dialog would appear. Increase the no. of copies. If COLLATE checkbox gets enabled, the bug is reproduced.

      Run the attached code. A print Dialog would appear. Increase the copy count to 2. Make sure COLLATE gets enabled. Select the Collate option. (On Win32, it will be already selected. So deselect it and select again). Change the PrintService to 'Test Printer'. Make sure it is getting unselected and disabled. Click OK. Watch the console. If it is still present in the attribute set, the bug is reproduced.


          Issue Links



              psadhukhan Prasanta Sadhukhan
              pmohansunw Praveen Mohan (Inactive)
              0 Vote for this issue
              1 Start watching this issue