Alex is working on many things in Mondrian, in particular to improve its speed, so I dont know which fix did break the code. I will let him answer or we will investigate this afternoon if we have time.
On 16 mars 09, at 10:47, Lukas Renggli wrote:
The Balloon engine does not like Floats or Fractions passed into its primitives. In my experience this is the cause of problems in most cases.
Also it could be related to the size of the canvas, but I don't remember if you get a primitive failure there:
http://bugs.squeak.org/view.php?id=5222
Lukas
On Mon, Mar 16, 2009 at 12:23 AM, Tudor Girba girba@iam.unibe.ch wrote:
Hi,
I am trying to reproduce the diagram with the FAMIX meta-model. I found the script in MOFameView>>openOn:, but there is a problem with the rendering.
I use Pharo 10250.
I attached the error report. What am I doing wrong?
Cheers, Doru
-- www.tudorgirba.com
"Every thing has its own flow."
'16 March 2009 12:18:44 am
VM: Mac OS - a SmalltalkImage Image: Pharo0.1 [Latest update: #10250]
SecurityManager state: Restricted: false FileAccess: true SocketAccess: true Working Dir /Users/girba/Desktop/pharo0.1-10250dev09.03.2 Trusted Dir /foobar/tooBar/forSqueak/bogus Untrusted Dir /Users/girba/Library/Preferences/Squeak/Internet/My Squeak
BalloonEngine(Object)>>error: Receiver: a BalloonEngine Arguments and temporary variables: aString: ''Error: a primitive has failed'' Receiver''s instance variables: workBuffer: a BalloonBuffer span: a Bitmap of length 2048 bitBlt: a GrafPort forms: #() clipRect: 459@167 corner: 1184@499 destOffset: 462@167 externals: an OrderedCollection() aaLevel: 4 edgeTransform: nil colorTransform: nil deferred: false postFlushNeeded: false
[] in WorldState>>displayWorldSafely: {[:err :rcvr | errCtx := thisContext. [errCtx := errCtx sender. [errCtx no...]} Arguments and temporary variables: aWorld: a PasteUpMorph(1622) [world] err: ''Error: a primitive has failed'' rcvr: a BalloonEngine errCtx: MOCanvas>>drawOn: errMorph: a MOCanvas(3824)
BlockContext>>valueWithPossibleArgs: Receiver: [] in WorldState>>displayWorldSafely: {[:err :rcvr | errCtx := thisContext. [errCtx := e...etc... Arguments and temporary variables: anArray: an Array(''Error: a primitive has failed'' a BalloonEngine) Receiver''s instance variables: sender: BlockContext>>valueWithPossibleArgs: pc: 121 stackp: 0 nargs: 2 startpc: 74 home: WorldState>>displayWorldSafely:
[] in BlockContext>>ifError: {[:ex | errorHandlerBlock valueWithPossibleArgs: {ex description. ex receiver}]} Arguments and temporary variables: errorHandlerBlock: [] in WorldState>>displayWorldSafely: {[:err :rcvr | errCtx...etc... ex: Error: a primitive has failed
--- The full stack --- BalloonEngine(Object)>>error: [] in WorldState>>displayWorldSafely: {[:err :rcvr | errCtx := thisContext. [errCtx := errCtx sender. [errCtx no...]} BlockContext>>valueWithPossibleArgs: [] in BlockContext>>ifError: {[:ex | errorHandlerBlock valueWithPossibleArgs: {ex description. ex receiver}]}
BlockContext>>valueWithPossibleArgs: [] in MethodContext(ContextPart)>>handleSignal: {[(self tempAt: 2) valueWithPossibleArgs: {exception}]} BlockContext>>ensure: MethodContext(ContextPart)>>handleSignal: Error(Exception)>>signal Error(Exception)>>signal: BalloonEngine(Object)>>error: BalloonEngine(Object)>>primitiveFailed BalloonEngine>>primAddPolygon:segments:fill:lineWidth:lineFill: BalloonEngine>>drawPolygon:fill:borderWidth:borderColor:transform: BalloonCanvas>>drawPath:borderWidth:borderColor: MOOrthoHorizontalLineShape>>display:on: MOEdge>>displayOn: [] in MORoot(MOGraphElement)>>display:on: {[:each | each displayOn: canvas]} OrderedCollection>>do: [] in MORoot(MOGraphElement)>>display:on: {[:canvas | self nodes do: [:each | each displayOn: canvas]. self edges ...]} BalloonCanvas(FormCanvas)>>translateBy:during: MORoot(MOGraphElement)>>display:on: MORoot>>display:on: UndefinedObject>>display:on: MORoot(MOGraphElement)>>displayOn: MOCanvas>>drawOn: FormCanvas(Canvas)>>draw: FormCanvas(Canvas)>>drawMorph: [] in MOCanvas(Morph)>>fullDrawOn: {[(aCanvas isVisible: self bounds) ifTrue: [aCanvas drawMorph: self]. self...]} FormCanvas>>roundCornersOf:in:during: FormCanvas(Canvas)>>roundCornersOf:during: MOCanvas(Morph)>>fullDrawOn: FormCanvas(Canvas)>>fullDraw: FormCanvas(Canvas)>>fullDrawMorph: [] in TransformMorph>>drawSubmorphsOn: {[:m | myCanvas fullDrawMorph: m]} Array(SequenceableCollection)>>reverseDo: [] in TransformMorph>>drawSubmorphsOn: {[:myCanvas | (self angle ~= 0.0 or: [self scale ~= 1.0]) ifTrue: [FreeT...]} FormCanvas>>transformBy:clippingTo:during:smoothing: TransformMorph>>drawSubmorphsOn: [] in TransformMorph(Morph)>>fullDrawOn: {[(aCanvas isVisible: self bounds) ifTrue: [aCanvas drawMorph: self]. self...]} FormCanvas>>roundCornersOf:in:during: FormCanvas(Canvas)>>roundCornersOf:during: TransformMorph(Morph)>>fullDrawOn: FormCanvas(Canvas)>>fullDraw: FormCanvas(Canvas)>>fullDrawMorph: [] in ScrollPane(Morph)>>drawSubmorphsOn: {[:m | canvas fullDrawMorph: m]} Array(SequenceableCollection)>>reverseDo: [] in ScrollPane(Morph)>>drawSubmorphsOn: {[:canvas | submorphs reverseDo: [:m | canvas fullDrawMorph: m]]} ...etc...' _______________________________________________ Moose-dev mailing list Moose-dev@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev
-- Lukas Renggli http://www.lukas-renggli.ch
Moose-dev mailing list Moose-dev@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev
-- Simon