Changeset 10122 for trunk/src


Ignore:
Timestamp:
May 27, 2003, 12:52:25 PM (22 years ago)
Author:
sandervl
Message:

PeekMessage fix (regression from 5-16)

File:
1 edited

Legend:

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

    r10104 r10122  
    1 /* $Id: oslibmsg.cpp,v 1.69 2003-05-16 10:59:26 sandervl Exp $ */
     1/* $Id: oslibmsg.cpp,v 1.70 2003-05-27 10:52:25 sandervl Exp $ */
    22/*
    33 * Window message translation functions for OS/2
     
    307307    if(hwnd) {
    308308        filtermin = TranslateWinMsg(uMsgFilterMin, TRUE);
    309             filtermax = TranslateWinMsg(uMsgFilterMax, FALSE);
    310             if(filtermin > filtermax) {
    311                 ULONG tmp = filtermin;
    312                     filtermin = filtermax;
    313                     filtermax = filtermin;
    314             }
     309        filtermax = TranslateWinMsg(uMsgFilterMax, FALSE);
     310        if(filtermin > filtermax) {
     311            ULONG tmp = filtermin;
     312            filtermin = filtermax;
     313            filtermax = filtermin;
     314        }
    315315        do {
    316                 WinWaitMsg(teb->o.odin.hab, filtermin, filtermax);
    317                 rc = OSLibWinPeekMsg(pMsg, hwnd, uMsgFilterMin, uMsgFilterMax, PM_REMOVE_W, isUnicode);
     316            WinWaitMsg(teb->o.odin.hab, filtermin, filtermax);
     317            rc = OSLibWinPeekMsg(pMsg, hwnd, uMsgFilterMin, uMsgFilterMax, PM_REMOVE_W, isUnicode);
    318318        }
    319319        while(rc == FALSE);
     
    471471        ULONG ulPMFilter;
    472472
    473         for(int i=0;i<uMsgFilterMax-uMsgFilterMin+1;i++) {
     473        for(int i=0;i<uMsgFilterMax-uMsgFilterMin+1;i++)
     474        {
    474475            rc = 0;
    475476
    476477            ulPMFilter = TranslateWinMsg(uMsgFilterMin+i, TRUE, TRUE);
    477478            if(ulPMFilter) {
    478                 do {
    479                     rc = WinPeekMsg(teb->o.odin.hab, &os2msg, hwndOS2, ulPMFilter, ulPMFilter,
    480                                     (fRemove & PM_REMOVE_W) ? PM_REMOVE : PM_NOREMOVE);
    481                     //Sadly indeed WinPeekMsg sometimes does not filter well!
    482                     if (rc && (os2msg.msg != ulPMFilter)) {// drop this message
    483                        dprintf(("WARNING: WinPeekMsg returns %x even though we filter for %x", os2msg.msg, ulPMFilter));
    484                        rc = 0;
    485                     }
     479                rc = WinPeekMsg(teb->o.odin.hab, &os2msg, hwndOS2, ulPMFilter, ulPMFilter,
     480                                (fRemove & PM_REMOVE_W) ? PM_REMOVE : PM_NOREMOVE);
     481                //Sadly indeed WinPeekMsg sometimes does not filter well!
     482                if (rc && (os2msg.msg != ulPMFilter)) {// drop this message
     483                   dprintf(("WARNING: WinPeekMsg returns %x even though we filter for %x", os2msg.msg, ulPMFilter));
     484                   rc = 0;
    486485                }
    487                 while (rc);
    488486            }
    489487            if(rc) {
Note: See TracChangeset for help on using the changeset viewer.