Ignore:
Timestamp:
Sep 28, 2010, 10:10:19 PM (15 years ago)
Author:
dmik
Message:

Fixed: Title bar in OS/2 look and feel mode displayed text with national characters in wrong encoding.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/user32/oslibwin.cpp

    r10549 r21461  
    562562LONG OSLibWinQueryWindowText(HWND hwnd, LONG length, LPSTR lpsz)
    563563{
    564   return WinQueryWindowText(hwnd, length, lpsz);
     564    LONG retLen = WinQueryWindowText(hwnd, length, lpsz);
     565    OemToCharBuffA(lpsz, lpsz, retLen);
     566    lpsz[retLen] = '\0';
     567    return retLen;
    565568}
    566569//******************************************************************************
     
    568571BOOL OSLibWinSetWindowText(HWND hwnd, LPSTR lpsz)
    569572{
    570   return WinSetWindowText(hwnd, lpsz);
     573    PSZ psz = NULL;
     574    if(lpsz) {
     575        psz = (PSZ)_smalloc(strlen(lpsz) + 1);
     576        CharToOemA(lpsz, psz);
     577    }
     578    BOOL rc = WinSetWindowText(hwnd, psz);
     579    if (psz) {
     580        _sfree(psz);
     581    }
     582    return rc;
    571583}
    572584//******************************************************************************
     
    574586BOOL OSLibWinSetTitleBarText(HWND hwnd, LPSTR lpsz)
    575587{
    576   return WinSetWindowText(WinWindowFromID(hwnd, FID_TITLEBAR), lpsz);
     588    PSZ psz = NULL;
     589    if(lpsz) {
     590        psz = (PSZ)_smalloc(strlen(lpsz) + 1);
     591        CharToOemA(lpsz, psz);
     592    }
     593    BOOL rc = WinSetWindowText(WinWindowFromID(hwnd, FID_TITLEBAR), psz);
     594    if (psz) {
     595        _sfree(psz);
     596    }
     597    return rc;
    577598}
    578599//******************************************************************************
Note: See TracChangeset for help on using the changeset viewer.