Changeset 21340 for trunk/src


Ignore:
Timestamp:
Sep 6, 2009, 12:22:28 PM (16 years ago)
Author:
vladest
Message:

Fixed crash due double free

Location:
trunk/src/user32
Files:
5 edited

Legend:

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

    r10240 r21340  
    397397        // only supposed to be called upon WM_KEYDOWN
    398398        // and WM_KEYUP according to docs.
     399        dprintf(("OSLibWinGetMsg: ProcessKbdHook call"));
    399400        if(ProcessKbdHook(pMsg, TRUE))
    400401            goto continuegetmsg;
     
    519520            // only supposed to be called upon WM_KEYDOWN
    520521            // and WM_KEYUP according to docs.
     522                        dprintf(("OSLibWinPeekMsg: ProcessKbdHook call"));
    521523            if(ProcessKbdHook(pMsg, fRemove))
    522524                goto continuepeekmsg;
  • trunk/src/user32/pmwindow.cpp

    r21308 r21340  
    591591        qmsg.reserved = 0;
    592592
    593         if(OS2ToWinMsgTranslate((PVOID)teb, &qmsg, &winMsg, FALSE, MSG_REMOVE) == FALSE)
     593        /* sometimes MSG_REMOVE here caused to double free of the message */
     594        if(OS2ToWinMsgTranslate((PVOID)teb, &qmsg, &winMsg, FALSE, /*MSG_REMOVE*/0) == FALSE)
    594595        {//message was not translated
    595596            memset(&winMsg, 0, sizeof(MSG));
     
    14391440        break;
    14401441    }
     1442       
     1443        case WM_CHAR:
     1444                {
     1445                        dprintf(("PMFRAME:WM_CHAR"));
     1446                        break;
     1447                }
    14411448
    14421449    case WM_ADJUSTWINDOWPOS:
  • trunk/src/user32/user32rsrc.orc

    r10339 r21340  
    863863#define OCR_ICOCUR          32647
    864864#define OCR_NO              32648
     865#define OCR_HAND            32649
    865866#define OCR_APPSTARTING     32650
    866867#define OCR_HELP            32651  /* only defined in Odin */
    867868
    868 
     869#if 1
     870OCR_HAND CURSOR LOADONCALL DISCARDABLE
     871{
     872        '00 00 02 00 01 00 20 20 02 00 01 00 01 00 30 01'
     873        '00 00 16 00 00 00 28 00 00 00 20 00 00 00 40 00'
     874        '00 00 01 00 01 00 00 00 00 00 00 02 00 00 00 00'
     875        '00 00 00 00 00 00 02 00 00 00 00 00 00 00 00 00'
     876        '00 00 FF FF FF 00 00 00 00 00 00 00 00 00 00 00'
     877        '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
     878        '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
     879        '00 00 00 00 00 00 00 00 00 00 00 C0 00 00 00 C0'
     880        '00 00 01 80 00 00 01 80 00 00 03 00 00 00 43 00'
     881        '00 00 66 00 00 00 76 00 00 00 7E 00 00 00 7F C0'
     882        '00 00 7F 80 00 00 7F 00 00 00 7E 00 00 00 7C 00'
     883        '00 00 78 00 00 00 70 00 00 00 60 00 00 00 40 00'
     884        '00 00 00 00 00 00 FF FF FF FF FF FF FF FF FF FF'
     885        'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF'
     886        'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF'
     887        'FF FF FF FF FF FF FF FF FF FF FF 3F FF FF FF 3F'
     888        'FF FF FE 7F FF FF FE 7F FF FF FC FF FF FF BC FF'
     889        'FF FF 99 FF FF FF 89 FF FF FF 81 FF FF FF 80 3F'
     890        'FF FF 80 7F FF FF 80 FF FF FF 81 FF FF FF 83 FF'
     891        'FF FF 87 FF FF FF 8F FF FF FF 9F FF FF FF BF FF'
     892        'FF FF FF FF FF FF'
     893}
     894#endif
    869895
    870896/////////////////////////////////////////////////////////////////////////////
  • trunk/src/user32/windowmsg.cpp

    r21303 r21340  
    107107#endif
    108108    {
     109        /* TODO: Investigate - is this really invalid parameters? */
    109110        SetLastError(ERROR_INVALID_PARAMETER);
    110111        return FALSE;
  • trunk/src/user32/winkeyboard.cpp

    r21303 r21340  
    16301630UINT WIN32API MapVirtualKeyA(UINT uCode,  UINT uMapType)
    16311631{
    1632   dprintf(("incompletely implemented"));
     1632    dprintf(("MapVirtualKeyA: incompletely implemented"));
    16331633 
    16341634  /* A quick fix for Commandos, very incomplete */
     
    16761676UINT WIN32API MapVirtualKeyW(UINT uCode, UINT uMapType)
    16771677{
    1678   dprintf(("incorrectly implemented"));
     1678    dprintf(("MapVirtualKeyW: incorrectly implemented"));
    16791679 
    16801680  // NOTE: This will not work as is (needs UNICODE support)
     
    17001700UINT WIN32API MapVirtualKeyExA(UINT uCode,  UINT uMapType, HKL dwhkl)
    17011701{
    1702   dprintf(("incompletely implemented"));
     1702    dprintf(("MapVirtualKeyExA: incompletely implemented"));
    17031703
    17041704  return MapVirtualKeyA(uCode, uMapType);
     
    17231723UINT WIN32API MapVirtualKeyExW(UINT uCode, UINT uMapType, HKL dwhkl)
    17241724{
    1725   dprintf(("incompletely implemented"));
     1725    dprintf(("MapVirtualKeyExW: incompletely implemented"));
    17261726
    17271727  return MapVirtualKeyW(uCode, uMapType);
Note: See TracChangeset for help on using the changeset viewer.