Can anyone (Bert?) provide the intended effect and limits of ioSetCursorARGB() ? This is a new one on me and the implementations I see in the SVN tree mean very little.
Can anyone explain why totally inappropriate and highly OS dependant code like push/popOutputFile() are in CROSS/sqVirtualMachine.c? The definition of stdin/out/err is not a safe one to assume everywhere. Not every OS trivially maps a FILE* to a number.
It looks like the primitiveFunctionPointer global got changed fro mvoid* in 4.0 to void(*)() in 4.4. This is a good thing *if* the matching usages are correctly modified; which they aren't. For example in primitiveExecuteMethodArgsArray(). On my compiler that is a fatal error - as it should be. Is anyone currently fixing that or shall I? Possibly as a side effect primitiveFunctionPointer is no longer in the global struct, which may well adversely impact performance.
tim -- tim Rowledge; tim@rowledge.org; http://www.rowledge.org/tim Nice computers don't go down.
On 11-02-2013, at 5:53 PM, tim Rowledge tim@rowledge.org wrote:
Can anyone (Bert?) provide the intended effect and limits of ioSetCursorARGB() ? This is a new one on me and the implementations I see in the SVN tree mean very little.
Oh, I should add that the function is not declared in sq.h as delivered by SVN yesterday.
tim -- tim Rowledge; tim@rowledge.org; http://www.rowledge.org/tim "How many Trinoc does it take to change a lightbulb?" "Why do you want to know about our maintenance schedules? Are you planning to attack us in the dark?"
On Mon, Feb 11, 2013 at 05:54:08PM -0800, tim Rowledge wrote:
On 11-02-2013, at 5:53 PM, tim Rowledge tim@rowledge.org wrote:
Can anyone (Bert?) provide the intended effect and limits of ioSetCursorARGB() ? This is a new one on me and the implementations I see in the SVN tree mean very little.
Oh, I should add that the function is not declared in sq.h as delivered by SVN yesterday.
Background on ioSetSursorARGB is at http://bugs.squeak.org/view.php?id=7224
This was for OLPC large cursor support, see the email thread at http://lists.squeakfoundation.org/pipermail/vm-dev/2008-November/002084.html
Yes we still need to add the function prototype to sq.h.
Dave
On 2013-02-12, at 04:17, "David T. Lewis" lewis@mail.msen.com wrote:
On Mon, Feb 11, 2013 at 05:54:08PM -0800, tim Rowledge wrote:
On 11-02-2013, at 5:53 PM, tim Rowledge tim@rowledge.org wrote:
Can anyone (Bert?) provide the intended effect and limits of ioSetCursorARGB() ? This is a new one on me and the implementations I see in the SVN tree mean very little.
Oh, I should add that the function is not declared in sq.h as delivered by SVN yesterday.
Background on ioSetSursorARGB is at http://bugs.squeak.org/view.php?id=7224
This was for OLPC large cursor support, see the email thread at http://lists.squeakfoundation.org/pipermail/vm-dev/2008-November/002084.html
Yes we still need to add the function prototype to sq.h.
Dave
For testing, try
CursorWithAlpha biggerNormal showWhile: [Sensor waitButton]
or, if you have an updated trunk image (or less than 5 year old Etoys image), try the neat
CursorWithAlpha fromUser showWhile: [Sensor waitButton]
- Bert -
On Mon, Feb 11, 2013 at 05:53:14PM -0800, tim Rowledge wrote:
Can anyone (Bert?) provide the intended effect and limits of ioSetCursorARGB() ? This is a new one on me and the implementations I see in the SVN tree mean very little.
Can anyone explain why totally inappropriate and highly OS dependant code like push/popOutputFile() are in CROSS/sqVirtualMachine.c? The definition of stdin/out/err is not a safe one to assume everywhere. Not every OS trivially maps a FILE* to a number.
I think it is from the oscog branch, and some better review of things like this would be helpful. But we should take that discussion over to the vm-dev list for follow up as required.
BTW those stdin/out/err file numbers are not safe to assume for unix either because dup() can change them.
It looks like the primitiveFunctionPointer global got changed fro mvoid* in 4.0 to void(*)() in 4.4. This is a good thing *if* the matching usages are correctly modified; which they aren't. For example in primitiveExecuteMethodArgsArray(). On my compiler that is a fatal error - as it should be. Is anyone currently fixing that or shall I? Possibly as a side effect primitiveFunctionPointer is no longer in the global struct, which may well adversely impact performance.
I'm not sure. It might be something that is detected by your compiler, in which case you should probably go ahead and fix it. Please update the minor version number in VMMaker class>>versionString for each such update.
Dave
Tim, ask again on vm-dev. This is all VM stuff.
On Mon, Feb 11, 2013 at 5:53 PM, tim Rowledge tim@rowledge.org wrote:
Can anyone (Bert?) provide the intended effect and limits of ioSetCursorARGB() ? This is a new one on me and the implementations I see in the SVN tree mean very little.
Can anyone explain why totally inappropriate and highly OS dependant code like push/popOutputFile() are in CROSS/sqVirtualMachine.c? The definition of stdin/out/err is not a safe one to assume everywhere. Not every OS trivially maps a FILE* to a number.
It looks like the primitiveFunctionPointer global got changed fro mvoid* in 4.0 to void(*)() in 4.4. This is a good thing *if* the matching usages are correctly modified; which they aren't. For example in primitiveExecuteMethodArgsArray(). On my compiler that is a fatal error - as it should be. Is anyone currently fixing that or shall I? Possibly as a side effect primitiveFunctionPointer is no longer in the global struct, which may well adversely impact performance.
tim
tim Rowledge; tim@rowledge.org; http://www.rowledge.org/tim Nice computers don't go down.
squeak-dev@lists.squeakfoundation.org