Skip to content

Commit 61faba2

Browse files
committed
protocol/request: fix XGetImage/XPutImage support
The image data is not a string.
1 parent bc133a5 commit 61faba2

4 files changed

Lines changed: 21 additions & 21 deletions

File tree

Xlib/protocol/request.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1066,7 +1066,7 @@ class PutImage(rq.Request):
10661066
rq.Card8('left_pad'),
10671067
rq.Card8('depth'),
10681068
rq.Pad(2),
1069-
rq.String8('data'),
1069+
rq.Binary('data'),
10701070
)
10711071

10721072
class GetImage(rq.ReplyRequest):
@@ -1089,7 +1089,7 @@ class GetImage(rq.ReplyRequest):
10891089
rq.ReplyLength(),
10901090
rq.Card32('visual'),
10911091
rq.Pad(20),
1092-
rq.String8('data'),
1092+
rq.Binary('data'),
10931093
)
10941094

10951095
class PolyText8(rq.Request):

test/gen/genprottest.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -585,7 +585,7 @@ def rand(x, rmin = rmin, rmax = rmax):
585585
#
586586
# byte-char string
587587
#
588-
elif isinstance(f, rq.String8):
588+
elif isinstance(f, (rq.String8, rq.Binary)):
589589
vfstr = vardefs[i]
590590
vflen = len(vfstr)
591591

@@ -933,7 +933,7 @@ def build_bin(bin):
933933
'FillPoly': (('Point', 3), ),
934934
'PolyFillRectangle': (('Rectangle', 2), ),
935935
'PolyFillArc': (('Arc', 1), ),
936-
'PutImage': ('bit map data', ),
936+
'PutImage': (b'\xe9\x10\xf2o\x7f{\xae-\xe6\x18\xce\x83', ),
937937
'ImageText8': ('showme', ),
938938
'ImageText16': ('showmore', ),
939939
'AllocNamedColor': ('octarin', ),
@@ -967,7 +967,7 @@ def build_bin(bin):
967967
'ListFontsWithInfo': (('FontProp', 1), 'fontfont'),
968968
'GetFontPath': [(['path1', 'path2232'], ),
969969
([], ) ],
970-
'GetImage': ('this is real ly imag e b-map', ),
970+
'GetImage': (b'\xeb?:\xa7\xc6\x8b\xc2\x96o-S\xe6\xd6z6\x94\xd7v\xd2R.\xa2\xeaw\t\x13\x95\x85',),
971971
'ListInstalledColormaps': (2, ),
972972
'AllocColorCells': [(17, 3),
973973
(0, 0) ],

test/test_requests_be.py

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2368,7 +2368,7 @@ def testUnpackRequest0(self):
23682368
class TestPutImage(EndianTest):
23692369
def setUp(self):
23702370
self.req_args_0 = {
2371-
'data': 'bit map data',
2371+
'data': b'\xe9\x10\xf2o\x7f{\xae-\xe6\x18\xce\x83',
23722372
'depth': 172,
23732373
'drawable': 634980240,
23742374
'dst_x': -18991,
@@ -2382,8 +2382,8 @@ def setUp(self):
23822382
self.req_bin_0 = b'\x48\x02\x00\x09' b'\x25\xd9\x07\x90' \
23832383
b'\x46\xf7\xfc\xfd' b'\x21\x95\x32\x1c' \
23842384
b'\xb5\xd1\xd5\x1c' b'\xe1\xac\x00\x00' \
2385-
b'\x62\x69\x74\x20' b'\x6d\x61\x70\x20' \
2386-
b'\x64\x61\x74\x61'
2385+
b'\xe9\x10\xf2\x6f' b'\x7f\x7b\xae\x2d' \
2386+
b'\xe6\x18\xce\x83'
23872387

23882388

23892389
def testPackRequest0(self):
@@ -2412,7 +2412,7 @@ def setUp(self):
24122412
b'\x24\xba\x96\xb6'
24132413

24142414
self.reply_args_0 = {
2415-
'data': 'this is real ly imag e b-map',
2415+
'data': b'\xeb?:\xa7\xc6\x8b\xc2\x96o-S\xe6\xd6z6\x94\xd7v\xd2R.\xa2\xeaw\t\x13\x95\x85',
24162416
'depth': 181,
24172417
'sequence_number': 28429,
24182418
'visual': 1687469773,
@@ -2421,10 +2421,10 @@ def setUp(self):
24212421
b'\x64\x94\xbe\xcd' b'\x00\x00\x00\x00' \
24222422
b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
24232423
b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
2424-
b'\x74\x68\x69\x73' b'\x20\x69\x73\x20' \
2425-
b'\x72\x65\x61\x6c' b'\x20\x6c\x79\x20' \
2426-
b'\x69\x6d\x61\x67' b'\x20\x65\x20\x62' \
2427-
b'\x2d\x6d\x61\x70'
2424+
b'\xeb\x3f\x3a\xa7' b'\xc6\x8b\xc2\x96' \
2425+
b'\x6f\x2d\x53\xe6' b'\xd6\x7a\x36\x94' \
2426+
b'\xd7\x76\xd2\x52' b'\x2e\xa2\xea\x77' \
2427+
b'\x09\x13\x95\x85'
24282428

24292429

24302430
def testPackRequest0(self):

test/test_requests_le.py

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2368,7 +2368,7 @@ def testUnpackRequest0(self):
23682368
class TestPutImage(EndianTest):
23692369
def setUp(self):
23702370
self.req_args_0 = {
2371-
'data': 'bit map data',
2371+
'data': b'\xe9\x10\xf2o\x7f{\xae-\xe6\x18\xce\x83',
23722372
'depth': 172,
23732373
'drawable': 634980240,
23742374
'dst_x': -18991,
@@ -2382,8 +2382,8 @@ def setUp(self):
23822382
self.req_bin_0 = b'\x48\x02\x09\x00' b'\x90\x07\xd9\x25' \
23832383
b'\xfd\xfc\xf7\x46' b'\x95\x21\x1c\x32' \
23842384
b'\xd1\xb5\x1c\xd5' b'\xe1\xac\x00\x00' \
2385-
b'\x62\x69\x74\x20' b'\x6d\x61\x70\x20' \
2386-
b'\x64\x61\x74\x61'
2385+
b'\xe9\x10\xf2\x6f' b'\x7f\x7b\xae\x2d' \
2386+
b'\xe6\x18\xce\x83'
23872387

23882388

23892389
def testPackRequest0(self):
@@ -2412,7 +2412,7 @@ def setUp(self):
24122412
b'\xb6\x96\xba\x24'
24132413

24142414
self.reply_args_0 = {
2415-
'data': 'this is real ly imag e b-map',
2415+
'data': b'\xeb?:\xa7\xc6\x8b\xc2\x96o-S\xe6\xd6z6\x94\xd7v\xd2R.\xa2\xeaw\t\x13\x95\x85',
24162416
'depth': 181,
24172417
'sequence_number': 28429,
24182418
'visual': 1687469773,
@@ -2421,10 +2421,10 @@ def setUp(self):
24212421
b'\xcd\xbe\x94\x64' b'\x00\x00\x00\x00' \
24222422
b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
24232423
b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
2424-
b'\x74\x68\x69\x73' b'\x20\x69\x73\x20' \
2425-
b'\x72\x65\x61\x6c' b'\x20\x6c\x79\x20' \
2426-
b'\x69\x6d\x61\x67' b'\x20\x65\x20\x62' \
2427-
b'\x2d\x6d\x61\x70'
2424+
b'\xeb\x3f\x3a\xa7' b'\xc6\x8b\xc2\x96' \
2425+
b'\x6f\x2d\x53\xe6' b'\xd6\x7a\x36\x94' \
2426+
b'\xd7\x76\xd2\x52' b'\x2e\xa2\xea\x77' \
2427+
b'\x09\x13\x95\x85'
24282428

24292429

24302430
def testPackRequest0(self):

0 commit comments

Comments
 (0)