Ticket #907 (closed defect: wontfix)

Opened 7 years ago

Last modified 7 years ago

Some legacy plugins can't harmonize correctly

Reported by: bdezonia Owned by: bdezonia
Priority: major Milestone: imagej2-b4-plugins
Component: Legacy Compatibility Version:
Severity: critical Keywords:
Cc: Blocked By:
Blocking:

Description

During experiments with supporting fg/bg value (as opposed to IJ1's fg/bg color) I ran into a problem that might point out a problem for some classes of legacy plugins.

When you run the Color Picker legacy plugin any choice of FG/BG is not recorded by IJ2. This is because even though the plugin opens a frame IJ2 is somehow not detecting it as a new thread.

So waitForThreads() returns immediately and options synchronization happens before the user changes values using the plugin. Any choice the user makes has no effect on IJ2.

Change History

comment:1 Changed 7 years ago by bdezonia

It looks like ColorPicker doesn't hatch any threads. It creates a new Window that it adds to WindowManager's list. Maybe we need to save window state and only continue in LegacyPlugin::run() after plugin windows are closed. This might be problematic though. Investigate.

comment:2 Changed 7 years ago by bdezonia

The Show Info command hatches a window (that might go in WindowManager's list). Thus if we waited until window went away then the plugin could run for a very long time.

comment:3 Changed 7 years ago by bdezonia

Also I think all created images in IJ1 still have a window in the window manager list. They're just never displayed. So any plugin that creates an image would cause the "window list watcher" method to fail.

This seems to say we need a pure IJ2 version of the ColorPicker. And that there are a class of plugins (those that hatch a UI) that we just can't fully support.

comment:4 Changed 7 years ago by bdezonia

I have a workaround for the ColorPicker case in particular. It generates an event when it closes. So listen for that in LegacyService and update IJ2 settings. This eventually will provide some compatibility.

Note other UI support will still be limited.

comment:5 Changed 7 years ago by bdezonia

  • Severity changed from serious to critical
  • Milestone changed from imagej-2.0-beta1 to imagej-2.0-beta2

comment:6 Changed 7 years ago by bdezonia

  • Milestone changed from imagej-2.0.0-beta3 to imagej-2.0.0-beta4

comment:7 Changed 7 years ago by bdezonia

  • Status changed from new to closed
  • Resolution set to wontfix

For quite some time the IJ1 Color Picker has no longer been supported in IJ2. There are tickets related to better color support in IJ2 that describe the need for new functionality.

The rest of this ticket is just description that problematic plugins exist and have no workaround.

Note: See TracTickets for help on using tickets.