diff options
-rw-r--r-- | gtk/PlatGTK.cxx | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/gtk/PlatGTK.cxx b/gtk/PlatGTK.cxx index 20c518fdb..f841a96f0 100644 --- a/gtk/PlatGTK.cxx +++ b/gtk/PlatGTK.cxx @@ -1290,7 +1290,7 @@ void SurfaceImpl::DrawTextBase(PRectangle rc, Font &font_, int ybase, const char int wclen; if (et == UTF8) { wclen = UCS2FromUTF8(s, len, - reinterpret_cast<wchar_t *>(wctext), maxLengthTextRun - 1); + static_cast<wchar_t *>(static_cast<void *>(wctext)), maxLengthTextRun - 1); } else { // dbcs, so convert using current locale char sMeasure[maxLengthTextRun]; memcpy(sMeasure, s, len); @@ -1465,7 +1465,7 @@ void SurfaceImpl::MeasureWidths(Font &font_, const char *s, int len, int *positi int wclen; if (et == UTF8) { wclen = UCS2FromUTF8(s, len, - reinterpret_cast<wchar_t *>(wctext), maxLengthTextRun - 1); + static_cast<wchar_t *>(static_cast<void *>(wctext)), maxLengthTextRun - 1); } else { // dbcsMode, so convert using current locale char sDraw[maxLengthTextRun]; memcpy(sDraw, s, len); @@ -1550,7 +1550,8 @@ int SurfaceImpl::WidthText(Font &font_, const char *s, int len) { #endif if (et == UTF8) { GdkWChar wctext[maxLengthTextRun]; - size_t wclen = UCS2FromUTF8(s, len, (wchar_t *)wctext, sizeof(wctext) / sizeof(GdkWChar) - 1); + size_t wclen = UCS2FromUTF8(s, len, static_cast<wchar_t *>(static_cast<void *>(wctext)), + sizeof(wctext) / sizeof(GdkWChar) - 1); wctext[wclen] = L'\0'; return gdk_text_width_wc(PFont(font_)->pfont, wctext, wclen); } else { |