On Tuesday 29 November 2005 14:12, Victor Lazzarini wrote: > If I delete libwidgets.dylib, csPlay works. Would it be something > to do with the setting of the yield callback in winFLTK.cpp? Possibly, although it is still not clear how. I see this code in winFLTK.c: void set_display_callbacks(CSOUND *csound) { #ifdef LINUX Display *dpy = XOpenDisplay(NULL); if (dpy == NULL) return; XCloseDisplay(dpy); #endif #ifdef NO_FLTK_THREADS csound->SetYieldCallback(csound, CsoundYield_FLTK); #endif if (csound->SetIsGraphable(csound, 1) != 0) return; if (!csound->oparms->displays) return; if (csound->oparms->graphsoff || csound->oparms->postscript) return; #ifndef NO_FLTK_THREADS csound->SetYieldCallback(csound, CsoundYield_FLTK); #endif ... and this one in FL_graph.cpp: int CsoundYield_FLTK(CSOUND *csound) { #ifndef NO_FLTK_THREADS /* nothing to do, unless no widget thread is running */ if (csound->QueryGlobalVariable(csound, "_widgets_globals") != NULL) return 1; #endif lock(csound); Fl::wait(0.0); unlock(csound); return 1; } Is it possible that calling Fl::lock(), Fl::wait(), and Fl::unlock() causes the problem ? Other than that, there seems to be no important difference (that is, as long as you do not actually use graphs or widget opcodes), unless your code also sets a yield callback which may be replaced by the widgets plugin. ------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Do you grep through log files for problems? Stop! Download the new AJAX search engine that makes searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click _______________________________________________ Csound-devel mailing list Csound-devel@lists.sourceforge.net