Mantis Bugtracker
  

Viewing Issue Simple Details Jump to Notes ] View Advanced ] Issue History ] Print ]
ID Category Severity Reproducibility Date Submitted Last Update
0007794 [Squeak] VM minor always 10-29-13 21:08 12-30-13 18:35
Reporter nicolas cellier View Status public  
Assigned To lewis
Priority normal Resolution open  
Status testing   Product Version trunk
Summary 0007794: BitBltSimulation primitiveDisplayString fails to advance destX
Description BitBlt>>primDisplayString:from:to:map:xTable:kern: regularly fails to increment destX instance variable.

As a consequence, BitBlt>>displayString:on:from:to:at:kern: regularly fall in following fallback protection:

"In some situations BitBlt doesn't return the advance width from the primitive.
Work around the situation"
^aPoint x + (self widthOfString: aString from: startIndex to: stopIndex) + (stopIndex-startIndex+1*kernDelta) @ aPoint y

It's time to change and update the primitive rather than working around...
Additional Information This primitiveDisplayString does change destX which is a global variable known to the VM.
But then it forgets to copy this global destX into BitBlt's inst.var. destX.

It should send this at the end of its job:

interpreterProxy storeInteger: BBDestXIndex ofObject: bbObj withValue: destX.
Attached Files  BitBltSimulation-primitiveDisplayString.st [^] (3,180 bytes) 10-29-13 21:08

- Relationships

- Notes
(0014471 - 105 - 105 - 105 - 105 - 105 - 105)
nicolas cellier
10-29-13 21:09

The provided file was from a COG VM, but should do as well for an interpreter VM (I did not check though)
 
(0014472 - 176 - 176 - 176 - 176 - 176 - 176)
lewis
11-01-13 00:00

The update is included VMMaker-dtl.328 for VMM trunk (interpreter VM). The identical update can be added to oscog for Cog VMs. Will be included in future interpreter VM builds.
 

- Issue History
Date Modified Username Field Change
10-29-13 21:08 nicolas cellier New Issue
10-29-13 21:08 nicolas cellier Status new => assigned
10-29-13 21:08 nicolas cellier Assigned To  => lewis
10-29-13 21:08 nicolas cellier File Added: BitBltSimulation-primitiveDisplayString.st
10-29-13 21:09 nicolas cellier Note Added: 0014471
11-01-13 00:00 lewis Note Added: 0014472
11-01-13 00:00 lewis Status assigned => pending
12-30-13 18:35 lewis Status pending => testing


Mantis 1.0.8[^]
Copyright © 2000 - 2007 Mantis Group
42 total queries executed.
31 unique queries executed.
Powered by Mantis Bugtracker