I've wedded FLTK 1.3 to the Photoshop plug-in (CS5 SDK) and have been extremely happy with write-once, use-many. Coding on the Mac has been straightforward and I've just ported my UI to the PC. (Win7).
Here's the problem -- the plug-in (DLL) will run once. (64-bit or 32-bit doesn't matter) The second time I invoke it, the UI fails to come up and I'm stuck in some kind of infinite loop waiting for events that I cannot get because there is no window. I tried replacing Fl::run() with this construct: Fl::flush(); //allow dialog to appear prior to event loop while(window->visible()) Fl::wait(); Fl::flush(); It hasn't appeared to help. :( It appears that the w->show() function on my window (and it can be as primitive as an empty Fl_Window) simply fails. Fl_Double_Window fails, too. As you can see above, I've added an Fl::flush() call after the w->show(), and it still fails most of the time. Yet the w->shown() flag is TRUE at that point. I can't tell if this is because of a w->hide() that puts the window down from the previous execution or what. Other tidbits -- Adobe loads the DLL and then leaves it open, so it isn't clear that my environment is getting reinitialized. I've taken care to reinitialize all of MY static initialization variables, but that hasn't made a difference. Adobe's MessageBox function still works -- I can put up one of their windows even when the w->show() function fails (and that is how I figured out that it hadn't crashed at this point and that it didn't make it past the while-loop or Fl:run().) Is there some kind of cleanup call I should make on the way out from the first time through? I'm inside of a DLL at this point and have been called by someone else's app (Photoshop), so we can't leave with exit(); Please help. _______________________________________________ fltk-bugs mailing list fltk-bugs@easysw.com http://lists.easysw.com/mailman/listinfo/fltk-bugs