- Changed TAG_MORE to pass a va_list pointer instead of a va_list because it's a

non-POD type when targeting several non-ix86 targets with GCC. Hopefully this works.


SVN r80 (trunk)
This commit is contained in:
Randy Heit 2006-05-06 00:54:41 +00:00
commit fd0c5a6db6
6 changed files with 40 additions and 14 deletions

View file

@ -73,7 +73,7 @@ void STACK_ARGS DCanvas::DrawChar (int normalcolor, int x, int y, byte character
const BYTE *range = Font->GetColorTranslation ((EColorRange)normalcolor);
va_list taglist;
va_start (taglist, character);
DrawTexture (pic, x, y, DTA_Translation, range, TAG_MORE, taglist);
DrawTexture (pic, x, y, DTA_Translation, range, TAG_MORE, &taglist);
va_end (taglist);
}
}
@ -125,7 +125,7 @@ void STACK_ARGS DCanvas::DrawText (int normalcolor, int x, int y, const char *st
while (tag != TAG_DONE)
{
va_list more_p;
va_list *more_p;
DWORD data;
void *ptrval;
@ -137,10 +137,10 @@ void STACK_ARGS DCanvas::DrawText (int normalcolor, int x, int y, const char *st
break;
case TAG_MORE:
more_p = va_arg (tags, va_list);
more_p = va_arg (tags, va_list*);
va_end (tags);
tags = more_p;
break;;
tags = *more_p;
break;
case DTA_DestWidth:
case DTA_DestHeight:
@ -228,7 +228,7 @@ void STACK_ARGS DCanvas::DrawText (int normalcolor, int x, int y, const char *st
{
va_list taglist;
va_start (taglist, string);
DrawTexture (pic, cx, cy, DTA_Translation, range, TAG_MORE, taglist);
DrawTexture (pic, cx, cy, DTA_Translation, range, TAG_MORE, &taglist);
va_end (taglist);
}
cx += (w + kerning) * scalex;