ui,ui/draw: fix decoding of negative integers

Signed-off-by: Elias Naur <mail@eliasnaur.com>
This commit is contained in:
Elias Naur
2019-08-01 10:43:17 +02:00
parent 06cee16c89
commit 69bba3aa4b
2 changed files with 10 additions and 10 deletions
+4 -4
View File
@@ -44,12 +44,12 @@ func (i *ImageOp) Decode(data []byte, refs []interface{}) {
} }
sr := image.Rectangle{ sr := image.Rectangle{
Min: image.Point{ Min: image.Point{
X: int(bo.Uint32(data[1:])), X: int(int32(bo.Uint32(data[1:]))),
Y: int(bo.Uint32(data[5:])), Y: int(int32(bo.Uint32(data[5:]))),
}, },
Max: image.Point{ Max: image.Point{
X: int(bo.Uint32(data[9:])), X: int(int32(bo.Uint32(data[9:]))),
Y: int(bo.Uint32(data[13:])), Y: int(int32(bo.Uint32(data[13:]))),
}, },
} }
*i = ImageOp{ *i = ImageOp{
+6 -6
View File
@@ -105,7 +105,7 @@ func (op *opAux) decode(data []byte) {
} }
bo := binary.LittleEndian bo := binary.LittleEndian
*op = opAux{ *op = opAux{
len: int(bo.Uint32(data[1:])), len: int(int32(bo.Uint32(data[1:]))),
} }
} }
@@ -114,8 +114,8 @@ func (op *opMacroDef) decode(data []byte) {
panic("invalid op") panic("invalid op")
} }
bo := binary.LittleEndian bo := binary.LittleEndian
dataIdx := int(bo.Uint32(data[1:])) dataIdx := int(int32(bo.Uint32(data[1:])))
refsIdx := int(bo.Uint32(data[5:])) refsIdx := int(int32(bo.Uint32(data[5:])))
*op = opMacroDef{ *op = opMacroDef{
endpc: pc{ endpc: pc{
data: dataIdx, data: dataIdx,
@@ -215,9 +215,9 @@ func (m *MacroOp) decode(data []byte, refs []interface{}) {
panic("invalid op") panic("invalid op")
} }
bo := binary.LittleEndian bo := binary.LittleEndian
dataIdx := int(bo.Uint32(data[1:])) dataIdx := int(int32(bo.Uint32(data[1:])))
refsIdx := int(bo.Uint32(data[5:])) refsIdx := int(int32(bo.Uint32(data[5:])))
version := int(bo.Uint32(data[9:])) version := int(int32(bo.Uint32(data[9:])))
*m = MacroOp{ *m = MacroOp{
ops: refs[0].(*Ops), ops: refs[0].(*Ops),
pc: pc{ pc: pc{