Ignore:
Timestamp:
Jun 11, 2001, 10:08:26 PM (24 years ago)
Author:
sandervl
Message:

bug fixes

File:
1 edited

Legend:

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

    r5964 r5968  
    1 /* $Id: win32wbase.cpp,v 1.263 2001-06-11 14:37:46 sandervl Exp $ */
     1/* $Id: win32wbase.cpp,v 1.264 2001-06-11 20:08:24 sandervl Exp $ */
    22/*
    33 * Win32 Window Base Class for OS/2
     
    29032903
    29042904    dprintf(("EnumChildWindows of %x parameter %x %x (%x)", getWindowHandle(), lpfn, lParam, getFirstChild()));
     2905    lock();
    29052906    for (child = (Win32BaseWindow *)getFirstChild(); child; child = (Win32BaseWindow *)child->getNextChild())
    29062907    {
    29072908        dprintf(("EnumChildWindows: enumerating child %x (owner %x; parent %x)", child->getWindowHandle(), (child->getOwner()) ? child->getOwner()->getWindowHandle() : 0, getWindowHandle()));
    29082909        hwnd = child->getWindowHandle();
    2909         if(child->getOwner()) {
     2910        if(child->IsWindowDestroyed() || child->getOwner()) {
    29102911                continue; //shouldn't have an owner (Wine)
    29112912        }
     2913        child->addRef();
     2914        unlock();
    29122915        if(lpfn(hwnd, lParam) == FALSE)
    29132916        {
    2914                 rc = FALSE;
    2915                 break;
    2916         }
     2917                child->release();
     2918                return FALSE;
     2919        }
     2920        child->release();
     2921        lock();
    29172922        //check if the window still exists
    29182923        if(!::IsWindow(hwnd))
     
    29242929        {
    29252930            dprintf(("EnumChildWindows: Enumerate children of %x", child->getWindowHandle()));
     2931            child->addRef();
     2932            unlock();
    29262933            if(child->EnumChildWindows(lpfn, lParam) == FALSE)
    29272934            {
    2928                 rc = FALSE;
    2929                 break;
    2930             }
     2935                child->release();
     2936                return FALSE;
     2937            }
     2938            child->release();
     2939            lock();
    29312940        }
    29322941        prevchild = child;
    29332942    }
     2943    unlock();
    29342944    return rc;
    29352945}
     
    34763486                }
    34773487                oldval = (LONG)WINPROC_GetProc(win32wndproc, (fUnicode) ? WIN_PROC_32W : WIN_PROC_32A);
    3478                 dprintf(("SetWindowLong GWL_WNDPROC %x old %x new style %x", getWindowHandle(), oldval, value));
     3488                dprintf(("SetWindowLong GWL_WNDPROC %x old %x new wndproc %x", getWindowHandle(), oldval, value));
    34793489                WINPROC_SetProc((HWINDOWPROC *)&win32wndproc, (WNDPROC)value, type, WIN_PROC_WINDOW);
    34803490                break;
Note: See TracChangeset for help on using the changeset viewer.