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(a)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(a)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(a)iam.unibe.ch
https://www.iam.unibe.ch/mailman/listinfo/moose-dev