+ if (ap != null && av != null)
+ {
+ return true;
+ }
+ // we aren't in a desktop environment, so give up now.
+ return false;
+ }
+ // now checks further down the window stack to fix bug
+ // https://mantis.lifesci.dundee.ac.uk/view.php?id=36008
+ JInternalFrame[] frames = Desktop.getDesktopPane().getAllFrames();
+ for (int f = 0; f < frames.length; f++)
+ {
+ JInternalFrame alignFrame = frames[f];
+ if (alignFrame != null && alignFrame instanceof AlignFrame
+ && !alignFrame.isIcon())
+ {
+ av = ((AlignFrame) alignFrame).viewport;
+ ap = ((AlignFrame) alignFrame).alignPanel;
+ return true;
+ }