From: SourceForge.net <no...@so...> - 2012-07-08 04:26:32
|
Bugs item #3541305, was opened at 2012-07-07 21:26 Message generated for change (Tracker Item Submitted) made by nijtmans You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=112997&aid=3541305&group_id=12997 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: None Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: Jan Nijtmans (nijtmans) Assigned to: Nobody/Anonymous (nobody) Summary: Xfree/Xsync... shoulc not be macros Initial Comment: In order to allow win32 extensions that use Xfree/Xsync ... to run under Cygwin as well (See presentation Eurotcl 2012), they should not be macro's but functions. In Tk 8.6 that's already done, but in 8.4/8.5 it's possible to do the same thing, only the macro should detect whether the related stub functions are available or not. (Tk8.5.12+ has it, but not earlier versions) The stub entry tkIntStubsPtr->tkBindDeadWindow can be used for that. If it's NULL, then the stub functions are available (This stub entry is purposely removed on Cygwin 8.4/8.5, and completely in 8.6, just because it serves no purpose) Solution: #ifdef USE_TK_STUBS #define XFree(data) (tkIntStubsPtr->tkBindDeadWindow? ((data)? (ckfree((char *) (data)), 0): 0): tkIntXlibStubsPtr->xFree(data)) #else .... original definition #elseif ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=112997&aid=3541305&group_id=12997 |