Mantis Bugtracker
  

Viewing Issue Advanced Details Jump to Notes ] View Simple ] 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 Platform
Status testing   OS
Projection none   OS Version
ETA none Fixed in Version Product Version trunk
  Product Build
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...
Steps To Reproduce
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