Ticket #907 (closed defect: wontfix)
Opened 2011-12-05T15:46:38-06:00
Last modified 2012-07-17T16:10:16-05:00
Some legacy plugins can't harmonize correctly
Reported by: | bdezonia | Owned by: | bdezonia |
---|---|---|---|
Priority: | major | Milestone: |
|
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 2011-12-05T16:14:01-06:00 by bdezonia
comment:2 Changed 2011-12-06T18:59:14-06:00 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 2011-12-07T09:53:28-06:00 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 2011-12-07T10:46:20-06:00 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 2011-12-07T11:32:23-06:00 by bdezonia
- Severity changed from serious to critical
- Milestone changed from imagej-2.0-beta1 to imagej-2.0-beta2
comment:6 Changed 2012-05-14T11:02:36-05:00 by bdezonia
- Milestone changed from imagej-2.0.0-beta3 to imagej-2.0.0-beta4
comment:7 Changed 2012-07-17T16:10:16-05:00 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.
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.