This patch is possibly controversial so rather than just commit it, I wanted to provide an opportunity for others to review it first. It is posted on sf.net as patch "[ 1405925 ] New SCF: ParticleSys"
https://sourceforge.net/tracker/index.php?func=detail&aid=1405925&group_id=649&atid=300649 (For you convenience, I have pasted the summary of the patch below.) iMeshObject and iParticleSystem define for functions with the same names: GetColor, SetColor, GetMaterialWrapper, and SetMaterialWrapper. This makes converting anything that implemented both interfaces dificult under the New SCF. This patch shows what is nessisary to make it work with the New SCF. The extent that one has to go to work around this issue is rather far as seen in this patch. So we may want to explore other options including renaming the function names in iParticleSystem. As far as I can see, options for the next step are: 1. Go ahead and apply this patch, and hope there are only a few others that have this problem; 2. Don't apply this patch, and instead rename the functions in iParticleSystem (or iMeshObject) with the appropriate version number bump; 3. Wait until more of CS is converted to the New SCF to see if this is a common problem, but at least this patch is on record so in future we will know exactly what has to be done. I am on the fence about which step to take. A note about efficiency: Because the patch requires stub/indirection functions it may be complained that it will make things slower. However, it will only make QueryInterface, GetColor, SetColor, GetMaterialWrapper, and SetMaterialWrapper slower. However, each of these will only be one function call shower. (Which isn't much on modern compilers.) Also, QueryInterface is already a slow function so it doesn't matter. The only question is whether the remaining functions are called in a performance sensitive section. ------------------------------------------------------- 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_idv37&alloc_id865&op=click _______________________________________________ Crystal-main mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/crystal-main Unsubscribe: mailto:[EMAIL PROTECTED]
