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

Reply via email to