Bugs item #3265443, was opened at 2011-03-31 21:02
Message generated for change (Tracker Item Submitted) made by nobody
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=478070&aid=3265443&group_id=55736

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: Nobody/Anonymous (nobody)
Assigned to: Nobody/Anonymous (nobody)
Summary: Pd doesn't support Win64 pointers in GUI

Initial Comment:
Pd's GUI internals and GUI externals all do something wrong on Win64, where 
64-bit pointers get cast to long, which is 32-bit, thus the pointers get 
truncated (aka ambiguous). This is not easily fixable in current circumstances 
because it means changing it not only all over Pd's source but also over the 
source of all externals, and they all have to be agreeing on this, to be 
binary-compatible. A fix might replace "%lx" by "%llx" all over pd's source but 
only in Win64's case. Nonstandard "%zx" (with a size_t cast) and "%tx" (with a 
ptrdiff_t cast) are more portable than that (as long as using glibc) because 
then they will do the correct thing without #ifdef.

Another more interesting fix is to get rid of having to use sys_vgui, for 
example by using a wrapper around sys_vgui where this kind of business would be 
centralised. (see desiredata's sys_mgui for one example).



----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=478070&aid=3265443&group_id=55736

_______________________________________________
Pd-dev mailing list
[email protected]
http://lists.puredata.info/listinfo/pd-dev

Reply via email to