Bugfix for ERROR: get font messages, particularly with vertical text.
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/trunk/rdesktop@43 423420c4-83ab-492f-b58f-81f9feb106b5
This commit is contained in:
parent
9c0173a1eb
commit
aee17eea87
17
xwin.c
17
xwin.c
@ -870,7 +870,8 @@ ui_draw_text(uint8 font, uint8 flags, int mixmode, int x, int y,
|
|||||||
int bgcolour, int fgcolour, uint8 *text, uint8 length)
|
int bgcolour, int fgcolour, uint8 *text, uint8 length)
|
||||||
{
|
{
|
||||||
FONTGLYPH *glyph;
|
FONTGLYPH *glyph;
|
||||||
int i, offset;
|
short offset;
|
||||||
|
int i;
|
||||||
|
|
||||||
SET_FOREGROUND(bgcolour);
|
SET_FOREGROUND(bgcolour);
|
||||||
|
|
||||||
@ -892,7 +893,19 @@ ui_draw_text(uint8 font, uint8 flags, int mixmode, int x, int y,
|
|||||||
{
|
{
|
||||||
offset = text[++i];
|
offset = text[++i];
|
||||||
if (offset & 0x80)
|
if (offset & 0x80)
|
||||||
offset = ((offset & 0x7f) << 8) | text[++i];
|
{
|
||||||
|
if (offset == 0x80)
|
||||||
|
{
|
||||||
|
/* next two bytes, little-endian */
|
||||||
|
offset = text[++i];
|
||||||
|
offset |= text[++i] << 8;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
offset = (offset & 0x7f) << 8;
|
||||||
|
offset |= text[++i];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (flags & TEXT2_VERTICAL)
|
if (flags & TEXT2_VERTICAL)
|
||||||
y += offset;
|
y += offset;
|
||||||
|
Loading…
Reference in New Issue
Block a user