Changeset 10379 for trunk/src/user32/win32wbase.cpp
- Timestamp:
- Jan 11, 2004, 1:04:44 PM (22 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/user32/win32wbase.cpp
r10332 r10379 1 /* $Id: win32wbase.cpp,v 1.38 2 2003-11-17 13:15:03sandervl Exp $ */1 /* $Id: win32wbase.cpp,v 1.383 2004-01-11 12:03:18 sandervl Exp $ */ 2 2 /* 3 3 * Win32 Window Base Class for OS/2 … … 68 68 #include "timer.h" 69 69 #include "user32api.h" 70 #include "callwrap.h" 70 71 71 72 #define DBG_LOCALLOG DBG_win32wbase … … 144 145 DebugInt3(); 145 146 } 147 Win32HwndOrg = Win32Hwnd; 146 148 147 149 posx = posy = 0; … … 249 251 } 250 252 251 /* Decrement class window counter */ 253 // Decrement class window counter 254 // NOTE: Must be done before ReleaseDC call for ownDC! 252 255 if(windowClass) { 253 256 RELEASE_CLASSOBJ(windowClass); 254 257 } 255 258 256 if( isOwnDC())257 releaseOwnDC(ownDC);259 if(ownDC) 260 ReleaseDC(Win32HwndOrg, ownDC); 258 261 259 262 if(Win32Hwnd) … … 670 673 //DC among different windows... DevOpenDC apparently can't be used 671 674 //for window DCs and WinOpenWindowDC must be associated with a window 672 ownDC = GetDCEx(getWindowHandle(), NULL, DCX_USESTYLE);675 ownDC = 0; //GetDCEx(getWindowHandle(), NULL, DCX_USESTYLE); 673 676 } 674 677 /* Set the window menu */ … … 888 891 HwFreeWindowHandle(Win32Hwnd); 889 892 Win32Hwnd = 0; 893 } 894 // Decrement class window counter 895 // NOTE: Must be done before ReleaseDC call for ownDC! 896 if(windowClass) { 897 RELEASE_CLASSOBJ(windowClass); 898 } 899 900 if(ownDC) { 901 ReleaseDC(Win32Hwnd, ownDC); 902 ownDC = 0; 890 903 } 891 904 } … … 2351 2364 2352 2365 case SW_SHOWNOACTIVATE: 2353 swp |= SWP_NOZORDER; 2354 if (GetActiveWindow()) 2355 swp |= SWP_NOACTIVATE; 2366 swp |= SWP_NOZORDER | SWP_NOACTIVATE; 2356 2367 /* fall through */ 2357 2368 case SW_SHOWNORMAL: /* same as SW_NORMAL: */ … … 2539 2550 dprintf(("new window rectangle (%d,%d)(%d,%d)", rectWindow.left, rectWindow.top, rectWindow.right, rectWindow.bottom)); 2540 2551 } 2552 } 2553 2554 // Hack alert: This makes sure the tooltips windows in OpenOffice don't 2555 // activate the owner windows too. 2556 // First condition takes care of SetWindowPos during window 2557 // creation. The 2nd one for calls made by OpenOffice 2558 if(((getStyle() & WS_POPUP) && (getExStyle() & WS_EX_TOPMOST)) || (fuFlags & SWP_NOOWNERZORDER)) 2559 { 2560 //SWP_NOOWNERZORDER means only the z-order of this window changes; it 2561 //should not affect the owner 2562 //PM doesn't support this feature, so this hack might work 2563 wpos.flags |= SWP_NOZORDER; 2541 2564 } 2542 2565 … … 3123 3146 child->addRef(); 3124 3147 unlock(); 3125 if( lpfn(hwnd, lParam) == FALSE)3148 if(WrapCallback2((WNDPROC)lpfn, hwnd, lParam) == FALSE) 3126 3149 { 3127 3150 child->release(); … … 3189 3212 if(dwThreadId == tid) { 3190 3213 dprintf(("EnumThreadWindows: Found Window %x", hwndWin32)); 3191 if((rc = lpfn(hwndWin32, lParam)) == FALSE) {3214 if((rc = WrapCallback2((WNDPROC)lpfn, hwndWin32, lParam)) == FALSE) { 3192 3215 break; 3193 3216 } … … 3223 3246 { 3224 3247 dprintf2(("EnumWindows: Found Window %x", hwnd)); 3225 if((rc = lpfn(hwnd, lParam)) == FALSE) {3248 if((rc = WrapCallback2((WNDPROC)lpfn, hwnd, lParam)) == FALSE) { 3226 3249 break; 3227 3250 }
Note:
See TracChangeset
for help on using the changeset viewer.