- fixed: Since no DrawText calls actually use the non-functional DTA_DestWidth, DTA_DestHeight or DTA_Translation and GCC cannot handle the fudging of the varargs, these will now trigger an assertion. No need to try to make something work that's always a programming error.

This commit is contained in:
Christoph Oelckers 2014-12-25 21:08:31 +01:00
parent a5a17e45cf
commit 14d7b8b777

View file

@ -128,7 +128,6 @@ void DCanvas::DrawTextV(FFont *font, int normalcolor, int x, int y, const char *
{ {
va_list *more_p; va_list *more_p;
DWORD data; DWORD data;
void *ptrval;
switch (tag) switch (tag)
{ {
@ -150,15 +149,9 @@ void DCanvas::DrawTextV(FFont *font, int normalcolor, int x, int y, const char *
// We don't handle these. :( // We don't handle these. :(
case DTA_DestWidth: case DTA_DestWidth:
case DTA_DestHeight: case DTA_DestHeight:
*(DWORD *)tags = TAG_IGNORE;
data = va_arg (tags, DWORD);
break;
// Translation is specified explicitly by the text.
case DTA_Translation: case DTA_Translation:
*(DWORD *)tags = TAG_IGNORE; assert("Bad parameter for DrawText" && false);
ptrval = va_arg (tags, void*); return;
break;
case DTA_CleanNoMove_1: case DTA_CleanNoMove_1:
boolval = va_arg (tags, INTBOOL); boolval = va_arg (tags, INTBOOL);