On 2009-12-04, at 11:54 AM, Alexandre Bergel wrote:
> Thanks John!
>
> I did a "RomeDemo drawCar"
> Here is the log:
>
>
> tryLoading /Users/alexandrebergel/Desktop/T/Smalltalk/Squeak
> 4.2.1beta1U.app/Contents/Resources/RomePlugin.bundle/Contents/MacOS/RomePlugin
> ioFindExternalFunctionIn(getModuleName, 2339392)
> ioFindExternalFunctionIn(setInterpreter, 2339392)
> ioFindExternalFunctionIn(initialiseModule, 2339392)
> ioFindExternalFunctionIn(primitivePluginVersion, 2339392)
> ioFindExternalFunctionIn(primitiveCreateFormHandle, 2339392)
> tryLoading /Users/alexandrebergel/Desktop/T/Smalltalk/Squeak
> 4.2.1beta1U.app/Contents/Resources/SurfacePlugin.bundle/Contents/MacOS/SurfacePlugin
> tryLoading /Users/alexandrebergel/Desktop/T/Smalltalk/Squeak
> 4.2.1beta1U.app/Contents/Resources/SurfacePlugin
> tryLoading
> /Users/alexandrebergel/Desktop/T/Smalltalk/Plugins/SurfacePlugin.bundle/Contents/MacOS/SurfacePlugin
> tryLoading /Users/alexandrebergel/Desktop/T/Smalltalk/Plugins/SurfacePlugin
> ioFindExternalFunctionIn(primitiveOpen, 2339392)
> Squeak-Rome: canvas oop invalid!
It does load the plugin, so it's not a problem finding it, loading it and
calling primitivePluginVersion which
checks the rome version then primitiveCreateFormHandle to create a form handle,
then fails in primitiveOpen
EXPORT(sqInt) primitiveOpen(void) {
sqInt handleOop;
sqInt contextIndex;
sqInt canvasOop;
canvasOop = interpreterProxy->stackValue(0);
if (interpreterProxy->failed()) {
return null;
}
contextIndex = createContextFor(canvasOop);
if (!(interpreterProxy->failed())) {
handleOop = interpreterProxy->integerObjectOf(contextIndex);
interpreterProxy->storePointerofObjectwithValue(CanvasHandleIndex, canvasOop,
handleOop);
}
if (interpreterProxy->failed()) {
return null;
}
return null;
}
static sqInt createContextFor(sqInt canvasOop) {
cairo_surface_t* targetSurface;
sqInt contextIndex;
sqInt targetOop;
cairo_t* context;
sqInt i;
sqInt targetID;
if ((interpreterProxy->slotSizeOf(canvasOop)) < CanvasInstSize) {
fail("canvas oop invalid");
return null;
}
where
#define CanvasInstSize 13
You should check to see what primitiveOpen gets passed
--
===========================================================================
John M. McIntosh <[email protected]> Twitter: squeaker68882
Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com
===========================================================================
_______________________________________________
Pharo-project mailing list
[email protected]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project