ICEpdf
  1. ICEpdf
  2. PDF-33

ICEpdf Bugs in Eclipse SWT JRE 6 (update 14)

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 3.0
    • Fix Version/s: 4.0
    • Component/s: Unknown
    • Labels:
      None
    • Environment:
      Eclipse RCP platform, SWT_AWT bridge, JDK 1.6+.
    • Assignee Priority:
      P2
    • Affects:
      Compatibility/Configuration

      Description

      IcePDF works fine in an Eclipse RCP application using SWT that has an SWT<->AWT bridge with JRE 5 (tested update 9 and update 14) and Early Release JRE 7.

      However, with JRE 1.6 update 14 (did not test earlier releases bc of known bug in the JRE for their 2d libraries) the following bugs occur:

      1. You can't enter any text in the search box
      2. You can't print on a Vista computer
      3. The scroll wheel does not scroll the PDF

      These bugs do not exist in the native swing world, just when encapsulated in an Eclipse Rich Client Platform with SWT (Standard Widget Toolkit) and bridging to AWT/Swing.

        Activity

        Hide
        Ken Fyten added a comment -

        These seem highly likely to be straight-up SWT or SWT AWT bridge bugs.

        I'd recommend getting the latest patch release (Eclipse/SWT 3.5.1, Sept. 2009) and trying that: http://download.eclipse.org/eclipse/downloads/drops/R-3.5.1-200909170800/index.php#swt.

        Show
        Ken Fyten added a comment - These seem highly likely to be straight-up SWT or SWT AWT bridge bugs. I'd recommend getting the latest patch release (Eclipse/SWT 3.5.1, Sept. 2009) and trying that: http://download.eclipse.org/eclipse/downloads/drops/R-3.5.1-200909170800/index.php#swt .
        Hide
        Ken Fyten added a comment -

        Also, JDK 1.6 is up to Update 17, so get customer to retest with latest JDK 1.6 and latest SWT, etc.

        Show
        Ken Fyten added a comment - Also, JDK 1.6 is up to Update 17, so get customer to retest with latest JDK 1.6 and latest SWT, etc.
        Hide
        Tyler Johnson added a comment - - edited

        Customer has tested again with an updated version of Eclipse 3.5.1 and JRE 1.6 update 17 but reports that the same exact problems exist.

        Show
        Tyler Johnson added a comment - - edited Customer has tested again with an updated version of Eclipse 3.5.1 and JRE 1.6 update 17 but reports that the same exact problems exist.
        Hide
        Mark Collette added a comment - - edited

        Confirmed that with Java 1.6 you can't enter text in any of the input text fields, and the scroll wheel doesn't work. With Java 1.5 they do work.

        Show
        Mark Collette added a comment - - edited Confirmed that with Java 1.6 you can't enter text in any of the input text fields, and the scroll wheel doesn't work. With Java 1.5 they do work.
        Hide
        Mark Collette added a comment -

        Found the issue. It's not an ICEpdf bug, it's just that the integration code was missing an SWT/Swing best practice, where you're supposed to have a heavy-weight component in-between.

        ...
        SWT_AWT_container = new Composite(ourparent, SWT.EMBEDDED);
        awt = SWT_AWT.new_Frame(SWT_AWT_container);

        // NEED this heavy-weight container in-between the SWT frame and the ICEpdf JPanel
        java.awt.Panel p = new java.awt.Panel();
        p.setLayout(new java.awt.GridLayout(1,1));
        awt.add(p);

        controller = new SwingController();
        factory = new SwingViewBuilder(controller);
        viewerComponentPanel = factory.buildViewerPanel();
        p.add(viewerComponentPanel);
        ...

        Show
        Mark Collette added a comment - Found the issue. It's not an ICEpdf bug, it's just that the integration code was missing an SWT/Swing best practice, where you're supposed to have a heavy-weight component in-between. ... SWT_AWT_container = new Composite(ourparent, SWT.EMBEDDED); awt = SWT_AWT.new_Frame(SWT_AWT_container); // NEED this heavy-weight container in-between the SWT frame and the ICEpdf JPanel java.awt.Panel p = new java.awt.Panel(); p.setLayout(new java.awt.GridLayout(1,1)); awt.add(p); controller = new SwingController(); factory = new SwingViewBuilder(controller); viewerComponentPanel = factory.buildViewerPanel(); p.add(viewerComponentPanel); ...

          People

          • Assignee:
            Mark Collette
            Reporter:
            Tyler Johnson
          • Votes:
            1 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: