Ignore:
Timestamp:
Sep 17, 2001, 3:31:30 PM (24 years ago)
Author:
sandervl
Message:

activation + sc_close fixes

File:
1 edited

Legend:

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

    r6718 r6745  
    1 /* $Id: pmwindow.cpp,v 1.145 2001-09-15 15:23:12 sandervl Exp $ */
     1/* $Id: pmwindow.cpp,v 1.146 2001-09-17 13:31:30 sandervl Exp $ */
    22/*
    33 * Win32 Window Managment Code for OS/2
     
    772772      SWP      swpOld;
    773773      WINDOWPOS wp,wpOld;
     774      ULONG     ulFlags;
     775      ULONG     ret = 0;
    774776      HWND      hParent = NULLHANDLE, hwndAfter;
    775777
    776778        dprintf(("PMFRAME:WM_ADJUSTWINDOWPOS %x %x %x (%d,%d) (%d,%d)", win32wnd->getWindowHandle(), pswp->hwnd, pswp->fl, pswp->x, pswp->y, pswp->cx, pswp->cy));
     779
     780        ulFlags = pswp->fl;
    777781
    778782        if(win32wnd->IsParentChanging()) {
     
    892896            pswp->hwnd = hwnd;
    893897
    894             rc = (MRESULT)0xf;
     898            ret = 0xf;
     899            //Setting these flags is necessary to avoid activation/focus problems
     900            if(ulFlags & SWP_DEACTIVATE) {
     901                ret |= AWP_DEACTIVATE;
     902            }
     903            if(ulFlags & SWP_ACTIVATE) {
     904                ret |= AWP_ACTIVATE;
     905            }
     906            rc = (MRESULT)ret;
    895907            break;
    896908        }
    897         rc = 0;
     909        //Setting these flags is necessary to avoid activation/focus problems
     910        if(ulFlags & SWP_DEACTIVATE) {
     911            ret |= AWP_DEACTIVATE;
     912        }
     913        if(ulFlags & SWP_ACTIVATE) {
     914            ret |= AWP_ACTIVATE;
     915        }
     916        rc = (MRESULT)ret;
    898917        break;
    899918    }
     
    925944                WinShowWindow(win32wnd->getOS2WindowHandle(), 0);
    926945            }
    927 /*
    928             if(pswp->fl & SWP_ACTIVATE)
    929             {
    930                 //Only send PM WM_ACTIVATE to top-level windows (frame windows)
    931                 if(!(WinQueryWindowULong(WinWindowFromID(hwnd,FID_CLIENT), OFFSET_WIN32FLAGS) & WINDOWFLAG_ACTIVE))
    932                 {
    933                     WinSendDlgItemMsg(hwnd, FID_CLIENT, WM_ACTIVATE, (MPARAM)TRUE, (MPARAM)hwnd);
    934 //                    WinSendMsg(hwnd, WM_ACTIVATE, (MPARAM)TRUE, (MPARAM)hwnd);
    935                 }
    936             }
    937             else
    938             if(pswp->fl & SWP_DEACTIVATE)
    939             {
    940                 //Only send PM WM_ACTIVATE to top-level windows (frame windows)
    941                 if(WinQueryWindowULong(WinWindowFromID(hwnd,FID_CLIENT), OFFSET_WIN32FLAGS) & WINDOWFLAG_ACTIVE)
    942                 {
    943                     WinSendDlgItemMsg(hwnd, FID_CLIENT, WM_ACTIVATE, (MPARAM)FALSE, (MPARAM)hwnd);
    944 //                    WinSendMsg(hwnd, WM_ACTIVATE, (MPARAM)FALSE, (MPARAM)hwnd);
    945                 }
    946             }
    947 */
    948 //            goto RunDefWndProc;
    949946            goto RunDefFrameWndProc;
    950947        }
     
    10801077        }
    10811078#endif
    1082 
    1083         if(pswp->fl & SWP_ACTIVATE)
    1084         {
    1085              //Only send PM WM_ACTIVATE to top-level windows (frame windows)
    1086              if(!(WinQueryWindowULong(WinWindowFromID(hwnd,FID_CLIENT), OFFSET_WIN32FLAGS) & WINDOWFLAG_ACTIVE))
    1087              {
    1088 //                WinSendDlgItemMsg(hwnd, FID_CLIENT, WM_ACTIVATE, (MPARAM)TRUE, (MPARAM)hwnd);
    1089                 WinSendMsg(hwnd, WM_ACTIVATE, (MPARAM)TRUE, (MPARAM)hwnd);
    1090              }
    1091         }
    1092         else
    1093         if(pswp->fl & SWP_DEACTIVATE)
    1094         {
    1095             //Only send PM WM_ACTIVATE to top-level windows (frame windows)
    1096             if(WinQueryWindowULong(WinWindowFromID(hwnd,FID_CLIENT), OFFSET_WIN32FLAGS) & WINDOWFLAG_ACTIVE)
    1097             {
    1098 //                WinSendDlgItemMsg(hwnd, FID_CLIENT, WM_ACTIVATE, (MPARAM)FALSE, (MPARAM)hwnd);
    1099                     WinSendMsg(hwnd, WM_ACTIVATE, (MPARAM)FALSE, (MPARAM)hwnd);
    1100             }
    1101         }
    11021079
    11031080PosChangedEnd:
Note: See TracChangeset for help on using the changeset viewer.