Changeset 1831 for trunk/src/user32


Ignore:
Timestamp:
Nov 24, 1999, 8:32:23 PM (26 years ago)
Author:
sandervl
Message:

desktop + misc updates

Location:
trunk/src/user32
Files:
10 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/user32/Makefile

    r1818 r1831  
    1 # $Id: Makefile,v 1.44 1999-11-23 19:34:19 sandervl Exp $
     1# $Id: Makefile,v 1.45 1999-11-24 19:32:21 sandervl Exp $
    22
    33#
     
    141141oslibwin.obj:   oslibwin.cpp oslibwin.h oslibutil.h oslibgdi.h $(PDWIN32_INCLUDE)\winconst.h
    142142oslibutil.obj:  oslibutil.cpp oslibutil.h $(PDWIN32_INCLUDE)\wprocess.h oslibmsg.h
    143 oslibmsg.obj:   oslibmsg.cpp oslibmsg.h timer.h
     143oslibmsg.obj:   oslibmsg.cpp oslibmsg.h timer.h win32wbase.h win32wnd.h
    144144oslibmenu.obj:  oslibmenu.cpp oslibmenu.h
    145145oslibgdi.obj:   oslibgdi.cpp oslibgdi.h win32wbase.h
  • trunk/src/user32/char.cpp

    r1309 r1831  
    1 /* $Id: char.cpp,v 1.8 1999-10-15 11:28:28 phaller Exp $ */
     1/* $Id: char.cpp,v 1.9 1999-11-24 19:32:21 sandervl Exp $ */
    22
    33/*
     
    2929LPSTR WIN32API CharLowerA( LPSTR arg1)
    3030{
    31     dprintf(("USER32:  OS2CharLowerA\n"));
     31    dprintf2(("USER32:  OS2CharLowerA\n"));
    3232    return O32_CharLower(arg1);
    3333}
     
    3636DWORD WIN32API CharLowerBuffA( LPSTR arg1, DWORD  arg2)
    3737{
    38     dprintf(("USER32:  OS2CharLowerBuffA\n"));
     38    dprintf2(("USER32:  OS2CharLowerBuffA\n"));
    3939    return O32_CharLowerBuff(arg1, arg2);
    4040}
     
    4545  DWORD done=0;
    4646
    47   dprintf(("USER32: CharLowerBuffW(%08xh,%08xh)\n",
     47  dprintf2(("USER32: CharLowerBuffW(%08xh,%08xh)\n",
    4848           x,
    4949           buflen));
     
    6565LPWSTR WIN32API CharLowerW( LPWSTR x)
    6666{
    67   dprintf(("USER32: CharLowerW(%08xh)\n",
     67  dprintf2(("USER32: CharLowerW(%08xh)\n",
    6868           x));
    6969
     
    8585LPSTR WIN32API CharNextA( LPCSTR arg1)
    8686{
    87     dprintf(("USER32: OS2CharNextA(%08xh)\n",
     87    dprintf2(("USER32: OS2CharNextA(%08xh)\n",
    8888             arg1));
    8989
     
    9494LPWSTR WIN32API CharNextW(LPCWSTR x)
    9595{
    96   dprintf(("USER32: OS2CharNextW(%08xh)\n",
     96  dprintf2(("USER32: OS2CharNextW(%08xh)\n",
    9797           x));
    9898
     
    106106LPSTR WIN32API CharPrevA( LPCSTR arg1, LPCSTR  arg2)
    107107{
    108     dprintf(("USER32:  OS2CharPrevA\n"));
     108    dprintf2(("USER32:  OS2CharPrevA\n"));
    109109    return O32_CharPrev(arg1, arg2);
    110110}
     
    114114                          LPCWSTR x)
    115115{
    116     dprintf(("USER32: OS2CharPrevW(%08xh,%08xh)\n",
     116    dprintf2(("USER32: OS2CharPrevW(%08xh,%08xh)\n",
    117117             start,
    118118             x));
     
    128128BOOL WIN32API CharToOemA( LPCSTR arg1, LPSTR  arg2)
    129129{
    130     dprintf(("USER32:  OS2CharToOemA\n"));
     130    dprintf2(("USER32:  OS2CharToOemA\n"));
    131131    return O32_CharToOem(arg1, arg2);
    132132}
     
    135135BOOL WIN32API CharToOemBuffA( LPCSTR arg1, LPSTR arg2, DWORD  arg3)
    136136{
    137     dprintf(("USER32:  OS2CharToOemBuffA\n"));
     137    dprintf2(("USER32:  OS2CharToOemBuffA\n"));
    138138    return O32_CharToOemBuff(arg1, arg2, arg3);
    139139}
     
    142142BOOL WIN32API CharToOemBuffW( LPCWSTR arg1, LPSTR arg2, DWORD  arg3)
    143143{
    144     dprintf(("USER32:  OS2CharToOemBuffW DOESN'T WORK\n"));
     144    dprintf2(("USER32:  OS2CharToOemBuffW DOESN'T WORK\n"));
    145145    // NOTE: This will not work as is (needs UNICODE support)
    146146    return 0;
     
    151151BOOL WIN32API CharToOemW( LPCWSTR arg1, LPSTR  arg2)
    152152{
    153     dprintf(("USER32:  OS2CharToOemW DOESN'T WORK\n"));
     153    dprintf2(("USER32:  OS2CharToOemW DOESN'T WORK\n"));
    154154    // NOTE: This will not work as is (needs UNICODE support)
    155155    return 0;
     
    163163
    164164    if((int)arg1 >> 16 != 0) {
    165        dprintf(("USER32:  OS2CharUpperA %s\n", arg1));
     165       dprintf2(("USER32:  OS2CharUpperA %s\n", arg1));
    166166    }
    167167    else {
    168    dprintf(("USER32:  OS2CharUpperA %X\n", arg1));
     168   dprintf2(("USER32:  OS2CharUpperA %X\n", arg1));
    169169    }
    170170
     
    172172
    173173    if((int)rc >> 16 != 0) {
    174        dprintf(("USER32:  OS2CharUpperA %s\n", rc));
     174       dprintf2(("USER32:  OS2CharUpperA %s\n", rc));
    175175    }
    176176    else {
    177     dprintf(("USER32:  OS2CharUpperA %X\n", rc));
     177    dprintf2(("USER32:  OS2CharUpperA %X\n", rc));
    178178    }
    179179
     
    184184DWORD WIN32API CharUpperBuffA( LPSTR arg1, DWORD  arg2)
    185185{
    186     dprintf(("USER32:  OS2CharUpperBuffA\n"));
     186    dprintf2(("USER32:  OS2CharUpperBuffA\n"));
    187187    return O32_CharUpperBuff(arg1, arg2);
    188188}
     
    193193  DWORD done=0;
    194194
    195   dprintf(("USER32: OS2CharUpperBuffW(%08xh,%08xh)\n",
     195  dprintf2(("USER32: OS2CharUpperBuffW(%08xh,%08xh)\n",
    196196           x,
    197197           buflen));
     
    269269                            DWORD  dwFlags)
    270270{
    271   dprintf(("USER32:CharNextExW(%u,%08xh,%08x) not implemented.\n",
     271  dprintf2(("USER32:CharNextExW(%u,%08xh,%08x) not implemented.\n",
    272272          CodePage,
    273273          lpCurrentChar,
     
    299299                            DWORD  dwFlags)
    300300{
    301   dprintf(("USER32:CharPrevExW(%u,%08xh,%08xh,%08x) not implemented.\n",
     301  dprintf2(("USER32:CharPrevExW(%u,%08xh,%08xh,%08x) not implemented.\n",
    302302          CodePage,
    303303          lpStart,
  • trunk/src/user32/oslibmsg.cpp

    r1688 r1831  
    1 /* $Id: oslibmsg.cpp,v 1.10 1999-11-10 14:16:45 sandervl Exp $ */
     1/* $Id: oslibmsg.cpp,v 1.11 1999-11-24 19:32:21 sandervl Exp $ */
    22/*
    33 * Window message translation functions for OS/2
     
    1010 *
    1111 * TODO: Simply copy for now. Need to make a real translation
     12 * TODO: Filter translation isn't correct for posted messages
    1213 *
    1314 */
     
    124125void OS2ToWinMsgTranslate(QMSG *os2Msg, MSG *winMsg, BOOL isUnicode)
    125126{
     127  POSTMSG_PACKET *packet;
    126128  int i;
    127129
     
    129131  winMsg->hwnd = Win32Window::OS2ToWin32Handle(os2Msg->hwnd);
    130132
    131   if(os2Msg->msg >= WIN32APP_USERMSGBASE) {
    132         winMsg->message = os2Msg->msg - WIN32APP_USERMSGBASE;
     133  if(os2Msg->msg == WIN32APP_POSTMSG) {
     134        packet = (POSTMSG_PACKET *)os2Msg->mp2;
     135        if(packet && (ULONG)os2Msg->mp1 == WIN32PM_MAGIC) {
     136                winMsg->message = packet->Msg;
     137                winMsg->wParam  = packet->wParam;
     138                winMsg->lParam  = packet->lParam;
     139        }
    133140        return;
    134141  }
     
    150157ULONG TranslateWinMsg(ULONG msg)
    151158{
     159 POSTMSG_PACKET *packet;
    152160 THDB *thdb;
    153161
     
    157165  }
    158166
    159   if(msg >= WINWM_USER)
    160     return msg + WIN32APP_USERMSGBASE;
     167  if(msg >= WIN32APP_USERMSGBASE)
     168    return WIN32APP_POSTMSG;
    161169
    162170  for(int i=0;i<MAX_MSGTRANSTAB;i++)
  • trunk/src/user32/oslibwin.cpp

    r1801 r1831  
    1 /* $Id: oslibwin.cpp,v 1.46 1999-11-21 17:07:50 cbratschi Exp $ */
     1/* $Id: oslibwin.cpp,v 1.47 1999-11-24 19:32:21 sandervl Exp $ */
    22/*
    33 * Window API wrappers for OS/2
     
    259259//******************************************************************************
    260260//******************************************************************************
     261ULONG OSLibWinBroadcastMsg(ULONG msg, ULONG wParam, ULONG lParam, BOOL fSend)
     262{
     263  return WinBroadcastMsg(HWND_DESKTOP, msg, (MPARAM)wParam, (MPARAM)lParam,
     264                         (fSend) ? BMSG_SEND : BMSG_POST);
     265}
    261266//******************************************************************************
    262267//******************************************************************************
  • trunk/src/user32/oslibwin.h

    r1704 r1831  
    1 /* $Id: oslibwin.h,v 1.25 1999-11-11 13:17:30 sandervl Exp $ */
     1/* $Id: oslibwin.h,v 1.26 1999-11-24 19:32:21 sandervl Exp $ */
    22/*
    33 * Window API wrappers for OS/2
     
    5252BOOL  OSLibPostMessage(HWND hwnd, ULONG msg, ULONG wParam, ULONG lParam);
    5353ULONG OSLibSendMessage(HWND hwnd, ULONG msg, ULONG wParam, ULONG lParam);
     54ULONG OSLibWinBroadcastMsg(ULONG msg, ULONG wParam, ULONG lParam, BOOL fSend);
    5455
    5556#define WAOS_WARNING                 0
  • trunk/src/user32/pmwindow.cpp

    r1818 r1831  
    1 /* $Id: pmwindow.cpp,v 1.55 1999-11-23 19:34:19 sandervl Exp $ */
     1/* $Id: pmwindow.cpp,v 1.56 1999-11-24 19:32:22 sandervl Exp $ */
    22/*
    33 * Win32 Window Managment Code for OS/2
     
    212212        goto RunDefWndProc;
    213213  }
    214   if(msg > WIN32APP_USERMSGBASE) {
    215         //win32 app user message
    216         return (MRESULT)win32wnd->SendMessageA((ULONG)msg-WIN32APP_USERMSGBASE, (ULONG)mp1, (ULONG)mp2);
     214  if(msg == WIN32APP_POSTMSG && (ULONG)mp1 == WIN32PM_MAGIC) {
     215        //win32 app user message     
     216        win32wnd->PostMessage((POSTMSG_PACKET *)mp2);
     217        return (MRESULT)0;
    217218  }
    218219  switch( msg )
  • trunk/src/user32/win32wbase.cpp

    r1814 r1831  
    1 /* $Id: win32wbase.cpp,v 1.92 1999-11-22 21:42:06 cbratschi Exp $ */
     1/* $Id: win32wbase.cpp,v 1.93 1999-11-24 19:32:22 sandervl Exp $ */
    22/*
    33 * Win32 Window Base Class for OS/2
     
    20102010BOOL Win32BaseWindow::PostMessageA(ULONG msg, WPARAM wParam, LPARAM lParam)
    20112011{
    2012   return OSLibPostMessage(OS2Hwnd, WIN32APP_USERMSGBASE+msg, wParam, lParam);
     2012 POSTMSG_PACKET *packet = (POSTMSG_PACKET *)_smalloc(sizeof(POSTMSG_PACKET));
     2013
     2014    packet->Msg = msg;
     2015    packet->wParam = wParam;
     2016    packet->lParam = lParam;
     2017    packet->fUnicode = FALSE;
     2018    return OSLibPostMessage(OS2Hwnd, WIN32APP_POSTMSG, WIN32PM_MAGIC, (DWORD)packet);
    20132019}
    20142020//******************************************************************************
     
    20162022BOOL Win32BaseWindow::PostMessageW(ULONG msg, WPARAM wParam, LPARAM lParam)
    20172023{
    2018   return OSLibPostMessage(OS2Hwnd, WIN32APP_USERMSGBASE+msg, wParam, lParam);
     2024 POSTMSG_PACKET *packet = (POSTMSG_PACKET *)_smalloc(sizeof(POSTMSG_PACKET));
     2025
     2026    packet->Msg = msg;
     2027    packet->wParam = wParam;
     2028    packet->lParam = lParam;
     2029    packet->fUnicode = TRUE;
     2030    return OSLibPostMessage(OS2Hwnd, WIN32APP_POSTMSG, WIN32PM_MAGIC, (DWORD)packet);
     2031}
     2032//******************************************************************************
     2033//******************************************************************************
     2034BOOL Win32BaseWindow::PostThreadMessageA(ULONG threadid, UINT msg, WPARAM wParam, LPARAM lParam)
     2035{
     2036 POSTMSG_PACKET *packet = (POSTMSG_PACKET *)_smalloc(sizeof(POSTMSG_PACKET));
     2037
     2038    packet->Msg = msg;
     2039    packet->wParam = wParam;
     2040    packet->lParam = lParam;
     2041    packet->fUnicode = FALSE;
     2042    return O32_PostThreadMessage(threadid, WIN32APP_POSTMSG, WIN32PM_MAGIC, (DWORD)packet);
     2043}
     2044//******************************************************************************
     2045//******************************************************************************
     2046BOOL Win32BaseWindow::PostThreadMessageW(ULONG threadid, UINT msg, WPARAM wParam, LPARAM lParam)
     2047{
     2048 POSTMSG_PACKET *packet = (POSTMSG_PACKET *)_smalloc(sizeof(POSTMSG_PACKET));
     2049
     2050    packet->Msg = msg;
     2051    packet->wParam = wParam;
     2052    packet->lParam = lParam;
     2053    packet->fUnicode = TRUE;
     2054    return O32_PostThreadMessage(threadid, WIN32APP_POSTMSG, WIN32PM_MAGIC, (DWORD)packet);
     2055}
     2056//******************************************************************************
     2057//******************************************************************************
     2058void Win32BaseWindow::PostMessage(POSTMSG_PACKET *packet)
     2059{
     2060    if(packet == NULL)
     2061        return;
     2062
     2063    if(packet->fUnicode) {
     2064            SendMessageW(packet->Msg, packet->wParam, packet->lParam);
     2065    }
     2066    else    SendMessageA(packet->Msg, packet->wParam, packet->lParam);
     2067
     2068    free(packet);
     2069}
     2070//******************************************************************************
     2071//TODO: Probably not complete compatible with win32 implementation
     2072//******************************************************************************
     2073LRESULT Win32BaseWindow::BroadcastMessageA(int type, UINT msg, WPARAM wParam, LPARAM lParam)
     2074{
     2075 POSTMSG_PACKET *packet = (POSTMSG_PACKET *)_smalloc(sizeof(POSTMSG_PACKET));
     2076
     2077    dprintf(("BroadCastMessageA %x %x %x", msg, wParam, lParam));
     2078    return 0;
     2079
     2080    packet->Msg = msg;
     2081    packet->wParam = wParam;
     2082    packet->lParam = lParam;
     2083    packet->fUnicode = FALSE;
     2084
     2085    return OSLibWinBroadcastMsg(WIN32APP_POSTMSG, WIN32PM_MAGIC, (DWORD)packet, type == BROADCAST_SEND);
     2086}
     2087//******************************************************************************
     2088//TODO: Probably not complete compatible with win32 implementation
     2089//******************************************************************************
     2090LRESULT Win32BaseWindow::BroadcastMessageW(int type, UINT msg, WPARAM wParam, LPARAM lParam)
     2091{
     2092 POSTMSG_PACKET *packet = (POSTMSG_PACKET *)_smalloc(sizeof(POSTMSG_PACKET));
     2093
     2094    dprintf(("BroadCastMessageW %x %x %x", msg, wParam, lParam));
     2095    return 0;
     2096
     2097    packet->Msg = msg;
     2098    packet->wParam = wParam;
     2099    packet->lParam = lParam;
     2100    packet->fUnicode = TRUE;
     2101
     2102    return OSLibWinBroadcastMsg(WIN32APP_POSTMSG, WIN32PM_MAGIC, (DWORD)packet, type == BROADCAST_SEND);
    20192103}
    20202104//******************************************************************************
     
    24412525//******************************************************************************
    24422526HWND Win32BaseWindow::FindWindowEx(HWND hwndParent, HWND hwndChildAfter, LPSTR lpszClass, LPSTR lpszWindow,
    2443                                BOOL fUnicode)
     2527                                   BOOL fUnicode)
    24442528{
    24452529 Win32BaseWindow *parent = GetWindowFromHandle(hwndParent);
     
    28622946 Win32BaseWindow *window;
    28632947
    2864     if(hwnd == NULL && windowDesktop)
    2865          return windowDesktop;
    2866 
    28672948    if(HwGetWindowHandleData(hwnd, (DWORD *)&window) == TRUE) {
    28682949         return window;
  • trunk/src/user32/win32wbase.h

    r1801 r1831  
    1 /* $Id: win32wbase.h,v 1.44 1999-11-21 17:07:52 cbratschi Exp $ */
     1/* $Id: win32wbase.h,v 1.45 1999-11-24 19:32:23 sandervl Exp $ */
    22/*
    33 * Win32 Window Base Class for OS/2
     
    3333#define CheckMagicDword(a)      (a==WIN32PM_MAGIC)
    3434
    35 #define WIN32APP_USERMSGBASE            0x1000
    36 
    3735typedef struct {
    3836        USHORT           cb;
     
    4139} CUSTOMWNDDATA;
    4240
     41#define WIN32APP_USERMSGBASE      0x1000
     42#define WIN32APP_POSTMSG          0x6666
     43
    4344typedef struct
    4445{
     
    4647        ULONG           wParam;
    4748        ULONG           lParam;
     49        ULONG           fUnicode;
    4850} POSTMSG_PACKET;
    4951
    5052#define WM_WIN32_POSTMESSAGEA   0x4000
    5153#define WM_WIN32_POSTMESSAGEW   0x4001
     54
     55#define BROADCAST_SEND          0
     56#define BROADCAST_POST          1
    5257
    5358class Win32BaseWindow : public GenericObject, public ChildWindow
     
    204209       BOOL     PostMessageA(ULONG msg, WPARAM wParam, LPARAM lParam);
    205210       BOOL     PostMessageW(ULONG msg, WPARAM wParam, LPARAM lParam);
     211       void     PostMessage(POSTMSG_PACKET *packet);
     212static BOOL     PostThreadMessageA(ULONG threadid, UINT msg, WPARAM wParam, LPARAM lParam);
     213static BOOL     PostThreadMessageW(ULONG threadid, UINT msg, WPARAM wParam, LPARAM lParam);
     214static LRESULT  BroadcastMessageA(int type, UINT msg, WPARAM wParam, LPARAM lParam);
     215static LRESULT  BroadcastMessageW(int type, UINT msg, WPARAM wParam, LPARAM lParam);
     216
    206217       LRESULT  DefWindowProcA(UINT msg, WPARAM wParam, LPARAM lParam);
    207218       LRESULT  DefWindowProcW(UINT msg, WPARAM wParam, LPARAM lParam);
  • trunk/src/user32/win32wdesktop.cpp

    r1433 r1831  
    1 /* $Id: win32wdesktop.cpp,v 1.5 1999-10-24 22:56:10 sandervl Exp $ */
     1/* $Id: win32wdesktop.cpp,v 1.6 1999-11-24 19:32:23 sandervl Exp $ */
    22/*
    33 * Win32 Desktop Window for OS/2
     
    4747  OS2HwndFrame = OSLIB_HWND_DESKTOP;
    4848  rectClient   = rectWindow;
    49   Win32Hwnd    = 0;
     49
     50  if(HwAllocateWindowHandle(&Win32Hwnd, (ULONG)this) == FALSE)
     51  {
     52        dprintf(("Win32BaseWindow::Init HwAllocateWindowHandle failed!!"));
     53        DebugInt3();
     54  }
    5055
    5156  /* Find the window class */
  • trunk/src/user32/windowmsg.cpp

    r1688 r1831  
    1 /* $Id: windowmsg.cpp,v 1.5 1999-11-10 14:16:45 sandervl Exp $ */
     1/* $Id: windowmsg.cpp,v 1.6 1999-11-24 19:32:23 sandervl Exp $ */
    22/*
    33 * Win32 window message APIs for OS/2
     
    114114}
    115115//******************************************************************************
    116 //TODO: hwnd == HWND_BROADCAST
    117116//******************************************************************************
    118117LRESULT WIN32API SendMessageA(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
    119118{
    120119  Win32BaseWindow *window;
     120
     121    if (hwnd == HWND_BROADCAST|| hwnd == HWND_TOPMOST)
     122    {
     123        Win32BaseWindow::BroadcastMessageA(BROADCAST_SEND, msg, wParam, lParam);
     124        return TRUE;
     125    }
    121126
    122127    window = Win32BaseWindow::GetWindowFromHandle(hwnd);
     
    128133}
    129134//******************************************************************************
    130 //TODO: hwnd == HWND_BROADCAST
    131135//******************************************************************************
    132136LRESULT WIN32API SendMessageW(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
    133137{
    134138  Win32BaseWindow *window;
     139
     140    if (hwnd == HWND_BROADCAST|| hwnd == HWND_TOPMOST)
     141    {
     142        Win32BaseWindow::BroadcastMessageW(BROADCAST_SEND, msg, wParam, lParam);
     143        return TRUE;
     144    }
    135145
    136146    window = Win32BaseWindow::GetWindowFromHandle(hwnd);
     
    142152}
    143153//******************************************************************************
    144 //TODO: hwnd == HWND_BROADCAST
    145154//******************************************************************************
    146155BOOL WIN32API PostMessageA(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
    147156{
    148157  Win32BaseWindow *window;
     158
     159    if (hwnd == HWND_BROADCAST) //Not HWND_TOPMOST???
     160    {
     161        Win32BaseWindow::BroadcastMessageA(BROADCAST_POST, msg, wParam, lParam);
     162        return TRUE;
     163    }
    149164
    150165    if(hwnd == NULL)
     
    160175}
    161176//******************************************************************************
    162 //TODO: hwnd == HWND_BROADCAST
    163177//******************************************************************************
    164178BOOL WIN32API PostMessageW(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
    165179{
    166180  Win32BaseWindow *window;
     181
     182    if (hwnd == HWND_BROADCAST) //Not HWND_TOPMOST???
     183    {
     184        Win32BaseWindow::BroadcastMessageW(BROADCAST_POST, msg, wParam, lParam);
     185        return TRUE;
     186    }
    167187
    168188    if(hwnd == NULL)
     
    208228{
    209229    dprintf(("USER32:  PostThreadMessageA\n"));
    210     return O32_PostThreadMessage(threadid, WIN32APP_USERMSGBASE+msg, wParam, lParam);
     230    return Win32BaseWindow::PostThreadMessageA(threadid, msg, wParam, lParam);
    211231}
    212232//******************************************************************************
     
    215235{
    216236    dprintf(("USER32:  PostThreadMessageW\n"));
    217     return O32_PostThreadMessage(threadid, WIN32APP_USERMSGBASE+msg, wParam, lParam);
     237    return Win32BaseWindow::PostThreadMessageW(threadid, msg, wParam, lParam);
    218238}
    219239//******************************************************************************
Note: See TracChangeset for help on using the changeset viewer.