Uploaded image for project: 'Apache Hop (Retired)'
  1. Apache Hop (Retired)
  2. HOP-4485

SWTException: Graphic is disposed when open ContextDialog a second time

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Blocker
    • Resolution: Fixed
    • None
    • Not applicable
    • None
    • None

    Description

      Since the HOP-4469 fix, when you close a ContextDialog, the Item.dispose() method disposes of the image that was keep in a cache and the second time you open it you get an exception.

      Before the fix this was not a problem because a new image is recreated each time without using the cache.

      I think we should not dispose the images in the context dialog.

      org.eclipse.swt.SWTException: Graphic is disposed
          at org.eclipse.swt.SWT.error(SWT.java:4918)
          at org.eclipse.swt.SWT.error(SWT.java:4833)
          at org.eclipse.swt.SWT.error(SWT.java:4804)
          at org.eclipse.swt.graphics.Image.getBounds(Image.java:1245)
          at org.apache.hop.ui.core.dialog.ContextDialog.onPaint(ContextDialog.java:871)
          at org.apache.hop.ui.core.dialog.ContextDialog.lambda$open$8(ContextDialog.java:495)
          at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)
          at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4251)
          at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1066)
          at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1090)
          at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1075)
          at org.eclipse.swt.widgets.Composite.WM_PAINT(Composite.java:1536)
          at org.eclipse.swt.widgets.Control.windowProc(Control.java:4802)
          at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:340)
          at org.eclipse.swt.widgets.Display.windowProc(Display.java:5036)
          at org.eclipse.swt.internal.win32.OS.DispatchMessage(Native Method)
          at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3643)
          at org.apache.hop.ui.core.dialog.ContextDialog.open(ContextDialog.java:539)
          at org.apache.hop.ui.hopgui.context.GuiContextUtil.handleActionSelection(GuiContextUtil.java:167)
          at org.apache.hop.ui.hopgui.file.pipeline.HopGuiPipelineGraph.showActionDialog(HopGuiPipelineGraph.java:1281)
          at org.apache.hop.ui.hopgui.file.pipeline.HopGuiPipelineGraph.mouseUp(HopGuiPipelineGraph.java:1084)
          at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:224)
          at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)
          at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4251)
          at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1066)
          at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4068)
          at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3645)
          at org.apache.hop.ui.hopgui.HopGui.open(HopGui.java:415)
          at org.apache.hop.ui.hopgui.HopGui.main(HopGui.java:307)

      Attachments

        Issue Links

          Activity

            People

              mcasters Matt Casters
              nadment Nicolas Adment
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: