Ignore:
Timestamp:
Dec 2, 1999, 8:30:41 PM (26 years ago)
Author:
sandervl
Message:

Rewrote EnumThreadWindows/EnumWindows, Fixed GetParent

File:
1 edited

Legend:

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

    r1839 r1949  
    1 /* $Id: window.cpp,v 1.38 1999-11-25 19:22:04 sandervl Exp $ */
     1/* $Id: window.cpp,v 1.39 1999-12-02 19:30:41 sandervl Exp $ */
    22/*
    33 * Win32 window apis for OS/2
     
    13241324BOOL WIN32API EnumThreadWindows(DWORD dwThreadId, WNDENUMPROC lpfn, LPARAM lParam)
    13251325{
    1326  Win32BaseWindow *window;
    1327  BOOL   rc;
    1328  ULONG  henum;
    1329  HWND   hwndNext;
    1330  ULONG  tid;
    1331  ULONG  pid, curpid;
    1332 
    1333   dprintf(("EnumThreadWindows\n"));
    1334 
    1335   curpid = GetCurrentProcessId();
    1336 
    1337   henum = OSLibWinBeginEnumWindows(OSLIB_HWND_DESKTOP);
    1338   while ((hwndNext = OSLibWinGetNextWindow(henum)) != 0)
    1339   {
    1340         OSLibWinQueryWindowProcess(hwndNext, &pid, &tid);
    1341         if(!(curpid == pid && dwThreadId == tid))
    1342                 continue;
    1343 
    1344         window = Win32BaseWindow::GetWindowFromOS2Handle(hwndNext);
    1345         if(window == NULL) {
    1346                 window = Win32BaseWindow::GetWindowFromOS2FrameHandle(hwndNext);
    1347                 if(!window) {
    1348                         //OS/2 window or non-frame window, so skip it
    1349                         continue;
    1350                 }
    1351         }
    1352         if((rc = lpfn(window->getWindowHandle(), lParam)) == FALSE)
    1353                 break;
    1354   }
    1355   OSLibWinEndEnumWindows (henum);
    1356   return TRUE;
     1326  return windowDesktop->EnumThreadWindows(dwThreadId, lpfn, lParam);
    13571327}
    13581328//******************************************************************************
     
    13821352BOOL WIN32API EnumWindows(WNDENUMPROC lpfn, LPARAM lParam)
    13831353{
    1384  Win32BaseWindow *window;
    1385  BOOL   rc;
    1386  ULONG  henum;
    1387  HWND   hwndNext, hwndParent = OSLIB_HWND_DESKTOP;
    1388 
    1389   dprintf(("EnumThreadWindows\n"));
    1390 
    1391   do {
    1392         henum = OSLibWinBeginEnumWindows(hwndParent);
    1393         while ((hwndNext = OSLibWinGetNextWindow(henum)) != 0)
    1394         {
    1395                 window = Win32BaseWindow::GetWindowFromOS2Handle(hwndNext);
    1396                 if(window == NULL) {
    1397                         window = Win32BaseWindow::GetWindowFromOS2FrameHandle(hwndNext);
    1398                         if(!window) {
    1399                             //OS/2 window or non-frame window, so skip it
    1400                             continue;
    1401                         }
    1402                 }
    1403                 if((rc = lpfn(window->getWindowHandle(), lParam)) == FALSE) {
    1404                         goto Abort;
    1405                 }
    1406         }
    1407         if(hwndParent == OSLIB_HWND_OBJECT)
    1408                 break;
    1409         hwndParent = OSLIB_HWND_OBJECT;
    1410         OSLibWinEndEnumWindows(henum);
    1411   }
    1412   while(TRUE);
    1413 
    1414 Abort:
    1415   OSLibWinEndEnumWindows(henum);
    1416   return TRUE;
     1354  return windowDesktop->EnumWindows(lpfn, lParam);
    14171355}
    14181356//******************************************************************************
     
    14531391HWND WIN32API GetLastActivePopup( HWND hWnd)
    14541392{
    1455     dprintf(("USER32:  GetLastActivePopup"));
     1393 HWND hwnd;
     1394
    14561395    hWnd = Win32BaseWindow::Win32ToOS2Handle(hWnd);
    14571396
    1458     return Win32BaseWindow::OS2ToWin32Handle(O32_GetLastActivePopup(hWnd));
     1397    hwnd = Win32BaseWindow::OS2ToWin32Handle(O32_GetLastActivePopup(hWnd));
     1398
     1399    dprintf(("GetLastActivePopup %x returned %x", hWnd, hwnd));
     1400    return hwnd;
    14591401}
    14601402//******************************************************************************
Note: See TracChangeset for help on using the changeset viewer.