> The results are the same: Under Windows it works. Under Ubuntu with
> Compiz it works. Under Ubuntu, being tunneled to Windows (using Xming)
> it works. Under Ubuntu using the standard "Visual Appearance" (that
> is, no Compiz) it produces a black area if the window is partially
> occluded.

        Hmm, since this is a double buffered window,
        I wonder if the 'offscreen' drawing stuff is somehow
        "grabbing" the wrong buffer? (ie. the "last one drawn")

        I notice I can make the problem go away if I add:

win->redraw(); Fl::wait();

        ..just after the while(chooser.shown()) loop, ie:

---- snip
void btncb(Fl_Widget*, void *w){
    MyWindow *win = (MyWindow*)w;
    Fl_File_Chooser chooser(".", "*.pnm", Fl_File_Chooser::CREATE, "Save as 
PNM");
    chooser.show();
    while(chooser.shown()) Fl::wait();

    win->redraw(); Fl::wait();  // ADD THIS

    if (chooser.value() != NULL) {
        win->save_pnm(chooser.value());
    }
    return;
}
---- snip

        You probably shouldn't have to do that,
        but it does seem to help on my Ubuntu 8 system.
_______________________________________________
fltk mailing list
[email protected]
http://lists.easysw.com/mailman/listinfo/fltk

Reply via email to