Changeset 5935 for trunk/src/user32/window.cpp
- Timestamp:
- Jun 9, 2001, 4:50:26 PM (24 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/user32/window.cpp
r5713 r5935 1 /* $Id: window.cpp,v 1.9 8 2001-05-15 14:31:40sandervl Exp $ */1 /* $Id: window.cpp,v 1.99 2001-06-09 14:50:25 sandervl Exp $ */ 2 2 /* 3 3 * Win32 window apis for OS/2 … … 129 129 { 130 130 dprintf(("Win32BaseWindow error found!!")); 131 RELEASE_WNDOBJ(window); 131 132 delete window; 132 133 return 0; 133 134 } 134 return window->getWindowHandle(); 135 HWND hwnd = window->getWindowHandle(); 136 RELEASE_WNDOBJ(window); 137 return hwnd; 135 138 } 136 139 //****************************************************************************** … … 220 223 { 221 224 dprintf(("Win32BaseWindow error found!!")); 225 RELEASE_WNDOBJ(window); 222 226 delete window; 223 227 return 0; 224 228 } 225 return window->getWindowHandle(); 229 HWND hwnd = window->getWindowHandle(); 230 RELEASE_WNDOBJ(window); 231 return hwnd; 226 232 } 227 233 //****************************************************************************** … … 237 243 return 0; 238 244 } 239 return window->getWindowHandle(); 245 HWND hwnd = window->getWindowHandle(); 246 RELEASE_WNDOBJ(window); 247 return hwnd; 240 248 } 241 249 //****************************************************************************** … … 271 279 else dprintf(("CreateMDIWindowA: class %d parent %x (%d,%d) (%d,%d), %x %x lParam=%x", lpszClassName, hwndParent, x, y, nWidth, nHeight, dwStyle, lParam)); 272 280 273 return window->SendMessageA(WM_MDICREATE, 0, (LPARAM)&cs); 281 hwnd = window->SendMessageA(WM_MDICREATE, 0, (LPARAM)&cs); 282 RELEASE_WNDOBJ(window); 283 return hwnd; 274 284 } 275 285 //****************************************************************************** … … 306 316 else dprintf(("CreateMDIWindowW: class %d parent %x (%d,%d) (%d,%d), %x %x lParam=%x", lpszClassName, hwndParent, x, y, nWidth, nHeight, dwStyle, lParam)); 307 317 308 return window->SendMessageW(WM_MDICREATE, 0, (LPARAM)&cs); 318 hwnd = window->SendMessageW(WM_MDICREATE, 0, (LPARAM)&cs); 319 RELEASE_WNDOBJ(window); 320 return hwnd; 309 321 } 310 322 //****************************************************************************** … … 313 325 { 314 326 Win32BaseWindow *window; 327 BOOL ret; 315 328 316 329 window = Win32BaseWindow::GetWindowFromHandle(hwnd); … … 320 333 return 0; 321 334 } 322 if(window->isDesktopWindow()) { 323 dprintf(("WARNING: Trying to destroy desktop window!")); 324 return FALSE; 325 } 326 return window->DestroyWindow(); 335 ret = window->DestroyWindow(); 336 RELEASE_WNDOBJ(window); 337 return ret; 327 338 } 328 339 //****************************************************************************** … … 331 342 { 332 343 Win32BaseWindow *window; 344 HWND hwndActive; 333 345 334 346 window = Win32BaseWindow::GetWindowFromHandle(hwnd); … … 338 350 return 0; 339 351 } 340 return window->SetActiveWindow(); 352 hwndActive = window->SetActiveWindow(); 353 RELEASE_WNDOBJ(window); 354 return hwndActive; 341 355 } 342 356 //****************************************************************************** … … 346 360 { 347 361 Win32BaseWindow *window; 362 HWND hwndParent; 348 363 349 364 window = Win32BaseWindow::GetWindowFromHandle(hwnd); … … 354 369 } 355 370 dprintf2(("GetParent %x", hwnd)); 356 return window->GetParent(); 371 hwndParent = window->GetParent(); 372 RELEASE_WNDOBJ(window); 373 return hwndParent; 357 374 } 358 375 //****************************************************************************** … … 360 377 HWND WIN32API SetParent( HWND hwndChild, HWND hwndNewParent) 361 378 { 362 Win32BaseWindow *window, *parent; 379 Win32BaseWindow *window; 380 HWND hwndOldParent; 363 381 364 382 window = Win32BaseWindow::GetWindowFromHandle(hwndChild); … … 372 390 } 373 391 else { 374 parent = Win32BaseWindow::GetWindowFromHandle(hwndNewParent);375 if(!window) {392 if(!IsWindow(hwndNewParent)) { 393 RELEASE_WNDOBJ(window); 376 394 dprintf(("SetParent, parent %x not found", hwndNewParent)); 377 395 SetLastError(ERROR_INVALID_WINDOW_HANDLE); … … 380 398 } 381 399 dprintf(("SetParent %x %x", hwndChild, hwndNewParent)); 382 return window->SetParent(hwndNewParent); 400 hwndOldParent = window->SetParent(hwndNewParent); 401 RELEASE_WNDOBJ(window); 402 return hwndOldParent; 383 403 } 384 404 //****************************************************************************** … … 387 407 { 388 408 Win32BaseWindow *window; 409 BOOL fIsChild; 389 410 390 411 window = Win32BaseWindow::GetWindowFromHandle(hwnd); … … 395 416 } 396 417 dprintf(("IsChild %x %x", hwndParent, hwnd)); 397 return window->IsChild(hwndParent); 418 fIsChild = window->IsChild(hwndParent); 419 RELEASE_WNDOBJ(window); 420 return fIsChild; 398 421 } 399 422 //****************************************************************************** … … 405 428 406 429 if(hwnd == HWND_DESKTOP) { 430 windowDesktop->addRef(); 407 431 window = windowDesktop; 408 432 } … … 417 441 hwndTop = window->GetTopWindow(); 418 442 dprintf2(("GetTopWindow %x returned %x", hwnd, hwndTop)); 443 RELEASE_WNDOBJ(window); 419 444 return hwndTop; 420 445 } … … 424 449 { 425 450 Win32BaseWindow *window; 426 BOOL rc;451 BOOL fIsIconic; 427 452 428 453 window = Win32BaseWindow::GetWindowFromHandle(hwnd); … … 432 457 return FALSE; 433 458 } 434 rc = window->IsWindowIconic(); 435 dprintf(("IsIconic %x returned %d", hwnd, rc)); 436 return rc; 459 fIsIconic = window->IsWindowIconic(); 460 dprintf(("IsIconic %x returned %d", hwnd, fIsIconic)); 461 RELEASE_WNDOBJ(window); 462 return fIsIconic; 437 463 } 438 464 //****************************************************************************** … … 441 467 { 442 468 Win32BaseWindow *window; 443 HWND rc;469 HWND hwndRelated; 444 470 445 471 window = Win32BaseWindow::GetWindowFromHandle(hwnd); … … 449 475 return 0; 450 476 } 451 return window->GetWindow(uCmd); 477 hwndRelated = window->GetWindow(uCmd); 478 RELEASE_WNDOBJ(window); 479 return hwndRelated; 452 480 } 453 481 //****************************************************************************** … … 456 484 { 457 485 Win32BaseWindow *window; 486 BOOL fEnabled; 458 487 459 488 window = Win32BaseWindow::GetWindowFromHandle(hwnd); … … 464 493 } 465 494 dprintf(("EnableWindow %x %d", hwnd, fEnable)); 466 return window->EnableWindow(fEnable); 495 fEnabled = window->EnableWindow(fEnable); 496 RELEASE_WNDOBJ(window); 497 return fEnabled; 467 498 } 468 499 //****************************************************************************** … … 539 570 { 540 571 Win32BaseWindow *window; 572 BOOL ret; 541 573 542 574 window = Win32BaseWindow::GetWindowFromHandle(hwnd); … … 546 578 return 0; 547 579 } 548 return window->ShowWindow(nCmdShow); 580 ret = window->ShowWindow(nCmdShow); 581 RELEASE_WNDOBJ(window); 582 return ret; 549 583 } 550 584 /***************************************************************************** … … 589 623 } 590 624 dprintf(("SetWindowPos %x %x x=%d y=%d cx=%d cy=%d %x", hwnd, hwndInsertAfter, x, y, cx, cy, fuFlags)); 591 return window->SetWindowPos(hwndInsertAfter, x, y, cx, cy, fuFlags); 625 BOOL ret = window->SetWindowPos(hwndInsertAfter, x, y, cx, cy, fuFlags); 626 RELEASE_WNDOBJ(window); 627 return ret; 592 628 } 593 629 //****************************************************************************** … … 598 634 Win32BaseWindow *window; 599 635 600 window = Win32BaseWindow::GetWindowFromHandle(hwnd);601 if(!window) {602 dprintf(("SetWindowPlacement, window %x not found", hwnd));603 SetLastError(ERROR_INVALID_WINDOW_HANDLE);604 return FALSE;605 }606 636 if(!winpos || winpos->length != sizeof(WINDOWPLACEMENT)) { 607 637 dprintf(("SetWindowPlacement %x invalid parameter", hwnd)); … … 609 639 return FALSE; 610 640 } 641 window = Win32BaseWindow::GetWindowFromHandle(hwnd); 642 if(!window) { 643 dprintf(("SetWindowPlacement, window %x not found", hwnd)); 644 SetLastError(ERROR_INVALID_WINDOW_HANDLE); 645 return FALSE; 646 } 611 647 dprintf(("USER32: SetWindowPlacement %x %x", hwnd, winpos)); 612 return window->SetWindowPlacement((WINDOWPLACEMENT *)winpos); 648 BOOL ret = window->SetWindowPlacement((WINDOWPLACEMENT *)winpos); 649 RELEASE_WNDOBJ(window); 650 return ret; 613 651 } 614 652 //****************************************************************************** … … 620 658 Win32BaseWindow *window; 621 659 622 window = Win32BaseWindow::GetWindowFromHandle(hwnd);623 if(!window) {624 dprintf(("GetWindowPlacement, window %x not found", hwnd));625 SetLastError(ERROR_INVALID_WINDOW_HANDLE);626 return FALSE;627 }628 660 if(!winpos) { 629 661 dprintf(("GetWindowPlacement %x invalid parameter", hwnd)); … … 631 663 return FALSE; 632 664 } 665 window = Win32BaseWindow::GetWindowFromHandle(hwnd); 666 if(!window) { 667 dprintf(("GetWindowPlacement, window %x not found", hwnd)); 668 SetLastError(ERROR_INVALID_WINDOW_HANDLE); 669 return FALSE; 670 } 633 671 dprintf(("USER32: GetWindowPlacement %x %x", hwnd, winpos)); 634 return window->GetWindowPlacement(winpos); 672 BOOL ret = window->GetWindowPlacement(winpos); 673 RELEASE_WNDOBJ(window); 674 return ret; 635 675 } 636 676 //****************************************************************************** … … 647 687 } 648 688 dprintf2(("IsWindow %x", hwnd)); 649 return window->IsWindow(); 689 BOOL fIsWindow = window->IsWindow(); 690 RELEASE_WNDOBJ(window); 691 return fIsWindow; 650 692 } 651 693 //****************************************************************************** … … 653 695 BOOL WIN32API IsWindowEnabled( HWND hwnd) 654 696 { 655 Win32BaseWindow *window;656 697 DWORD dwStyle; 657 698 658 window = Win32BaseWindow::GetWindowFromHandle(hwnd); 659 if(!window) { 699 if(!IsWindow(hwnd)) { 660 700 dprintf(("IsWindowEnabled, window %x not found", hwnd)); 661 701 SetLastError(ERROR_INVALID_WINDOW_HANDLE); … … 673 713 BOOL WIN32API IsWindowVisible(HWND hwnd) 674 714 { 675 Win32BaseWindow *window;676 715 BOOL ret; 677 716 HWND hwndParent; 678 717 DWORD dwStyle; 679 718 680 if( !hwnd) {//TODO: verify in NT!719 if(hwnd == HWND_DESKTOP) {//TODO: verify in NT! 681 720 dprintf(("IsWindowVisible DESKTOP returned TRUE")); 682 721 return TRUE; //desktop is always visible 683 722 } 684 window = Win32BaseWindow::GetWindowFromHandle(hwnd); 685 686 if(!window) { 723 if(!IsWindow(hwnd)) { 687 724 dprintf(("IsWindowVisible, window %x not found", hwnd)); 688 725 SetLastError(ERROR_INVALID_WINDOW_HANDLE); … … 716 753 HWND WIN32API SetFocus(HWND hwnd) 717 754 { 718 Win32BaseWindow *window , *topparent;755 Win32BaseWindow *window; 719 756 Win32BaseWindow *oldfocuswnd; 720 HWND lastFocus, lastFocus_W, hwnd_O ;757 HWND lastFocus, lastFocus_W, hwnd_O, hwndTopParent; 721 758 BOOL activate; 722 759 TEB *teb; … … 741 778 else lastFocus = OSLibWinQueryFocus (OSLIB_HWND_DESKTOP); 742 779 743 topparent = window->GetTopParent();780 hwndTopParent = window->GetTopParent(); 744 781 activate = FALSE; 745 lastFocus_W = OS2ToWin32Handle 782 lastFocus_W = OS2ToWin32Handle(lastFocus); 746 783 if(lastFocus_W) { 747 784 oldfocuswnd = Win32BaseWindow::GetWindowFromHandle(lastFocus_W); 748 if(lastFocus_W != hwnd && topparent != oldfocuswnd->GetTopParent()) {785 if(lastFocus_W != hwnd && hwndTopParent != oldfocuswnd->GetTopParent()) { 749 786 activate = TRUE; 750 787 } 788 RELEASE_WNDOBJ(oldfocuswnd); 751 789 } 752 790 else activate = TRUE; … … 766 804 //mp1 = win32 window handle 767 805 //mp2 = top parent if activation required 768 OSLibPostMessageDirect(hwnd_O, WIN32APP_SETFOCUSMSG, hwnd, (activate) ? topparent->getWindowHandle(): 0);806 OSLibPostMessageDirect(hwnd_O, WIN32APP_SETFOCUSMSG, hwnd, (activate) ? hwndTopParent : 0); 769 807 return lastFocus_W; 770 808 } 771 809 teb->o.odin.hwndFocus = 0; 772 810 if(activate) { 773 SetActiveWindow( topparent->getWindowHandle());811 SetActiveWindow(hwndTopParent); 774 812 } 775 813 if(!IsWindow(hwnd)) return FALSE; //abort if window destroyed … … 827 865 Win32BaseWindow *window; 828 866 829 if (hwnd) 830 window = Win32BaseWindow::GetWindowFromHandle(hwnd); 831 else 832 window = windowDesktop; 833 867 if(pRect == NULL) { 868 dprintf(("GetWindowRect %x invalid parameter!", hwnd)); 869 SetLastError(ERROR_INVALID_PARAMETER); 870 return FALSE; 871 } 872 873 if(hwnd == HWND_DESKTOP) { 874 windowDesktop->addRef(); 875 window = windowDesktop; 876 } 877 else window = Win32BaseWindow::GetWindowFromHandle(hwnd); 878 834 879 if(!window) { 835 880 dprintf(("GetWindowRect, window %x not found", hwnd)); 836 881 SetLastError(ERROR_INVALID_WINDOW_HANDLE); 837 return FALSE;838 }839 if(pRect == NULL) {840 SetLastError(ERROR_INVALID_PARAMETER);841 882 return FALSE; 842 883 } … … 847 888 MapWindowPoints(window->getParent()->getWindowHandle(), 0, (PPOINT)pRect, 2); 848 889 } 849 890 RELEASE_WNDOBJ(window); 850 891 dprintf(("GetWindowRect %x (%d,%d) (%d,%d)", hwnd, pRect->left, pRect->top, pRect->right, pRect->bottom)); 851 892 return TRUE; … … 864 905 } 865 906 dprintf(("GetWindowTextLengthA %x", hwnd)); 866 return window->GetWindowTextLengthA(); 907 int ret = window->GetWindowTextLengthA(); 908 RELEASE_WNDOBJ(window); 909 return ret; 867 910 } 868 911 //****************************************************************************** … … 881 924 rc = window->GetWindowTextA(lpsz, cch); 882 925 dprintf(("GetWindowTextA %x %s", hwnd, lpsz)); 926 RELEASE_WNDOBJ(window); 883 927 return rc; 884 928 } … … 896 940 } 897 941 dprintf(("GetWindowTextLengthW %x", hwnd)); 898 return window->GetWindowTextLengthW(); 942 int ret = window->GetWindowTextLengthW(); 943 RELEASE_WNDOBJ(window); 944 return ret; 899 945 } 900 946 //****************************************************************************** … … 910 956 return 0; 911 957 } 912 #ifdef DEBUG913 958 int rc = window->GetWindowTextW(lpsz, cch); 959 RELEASE_WNDOBJ(window); 914 960 dprintf(("GetWindowTextW %x %ls", hwnd, lpsz)); 915 961 return rc; 916 #else917 return window->GetWindowTextW(lpsz, cch);918 #endif919 962 } 920 963 //****************************************************************************** … … 931 974 } 932 975 dprintf(("SetWindowTextA %x %s", hwnd, lpsz)); 933 return window->SetWindowTextA((LPSTR)lpsz); 976 BOOL ret = window->SetWindowTextA((LPSTR)lpsz); 977 RELEASE_WNDOBJ(window); 978 return ret; 934 979 } 935 980 //****************************************************************************** … … 946 991 } 947 992 dprintf(("SetWindowTextW %x %ls", hwnd, lpsz)); 948 return window->SetWindowTextW((LPWSTR)lpsz); 993 BOOL ret = window->SetWindowTextW((LPWSTR)lpsz); 994 RELEASE_WNDOBJ(window); 995 return ret; 949 996 } 950 997 /******************************************************************* … … 991 1038 window->getClientRect(pRect); 992 1039 dprintf(("GetClientRect of %X returned (%d,%d) (%d,%d)\n", hwndWin32, pRect->left, pRect->top, pRect->right, pRect->bottom)); 1040 RELEASE_WNDOBJ(window); 993 1041 return TRUE; 994 1042 } … … 1114 1162 return 0; 1115 1163 } 1116 if(hwndFrom) 1117 { 1164 if(hwndTo == hwndFrom) 1165 return 0; //nothing to do 1166 1167 if(hwndFrom == HWND_DESKTOP) 1168 { 1169 windowDesktop->addRef(); 1170 wndfrom = windowDesktop; 1171 } 1172 else { 1118 1173 wndfrom = Win32BaseWindow::GetWindowFromHandle(hwndFrom); 1119 1174 if(!wndfrom) { … … 1123 1178 } 1124 1179 } 1125 else wndfrom = windowDesktop; 1126 1127 if(hwndTo) 1128 { 1180 1181 if(hwndTo == HWND_DESKTOP) 1182 { 1183 windowDesktop->addRef(); 1184 wndto = windowDesktop; 1185 } 1186 else { 1129 1187 wndto = Win32BaseWindow::GetWindowFromHandle(hwndTo); 1130 1188 if(!wndto) { … … 1134 1192 } 1135 1193 } 1136 else wndto = windowDesktop;1137 1138 if(wndto == wndfrom)1139 return 0; //nothing to do1140 1194 1141 1195 dprintf2(("USER32: MapWindowPoints %x to %x (%d,%d) (%d)", hwndFrom, hwndTo, lpPoints->x, lpPoints->y, cPoints)); 1142 1196 WINPOS_GetWinOffset(wndfrom, wndto, &offset); 1143 1197 1198 RELEASE_WNDOBJ(wndto); 1199 RELEASE_WNDOBJ(wndfrom); 1144 1200 for(int i=0;i<cPoints;i++) 1145 1201 { … … 1154 1210 BOOL WIN32API ScreenToClient(HWND hwnd, LPPOINT pt) 1155 1211 { 1156 Win32BaseWindow *wnd;1157 1212 PRECT rcl; 1158 1213 BOOL rc; 1159 1214 1160 if(!hwnd) { 1161 return (TRUE); 1162 } 1163 wnd = Win32BaseWindow::GetWindowFromHandle (hwnd); 1164 if (!wnd) { 1215 if(hwnd == HWND_DESKTOP) { 1216 return (TRUE); //nothing to do 1217 } 1218 if (!IsWindow(hwnd)) { 1165 1219 dprintf(("warning: ScreenToClient: window %x not found!", hwnd)); 1166 1220 SetLastError(ERROR_INVALID_WINDOW_HANDLE); … … 1280 1334 BOOL WIN32API ClientToScreen (HWND hwnd, PPOINT pt) 1281 1335 { 1282 Win32BaseWindow *wnd;1283 1336 PRECT rcl; 1284 1337 1285 if (!hwnd) { 1286 SetLastError(ERROR_INVALID_PARAMETER); 1287 return (FALSE); 1288 } 1289 wnd = Win32BaseWindow::GetWindowFromHandle (hwnd); 1290 if (!wnd) { 1338 if(hwnd == HWND_DESKTOP) { 1339 return(TRUE); //nothing to do 1340 } 1341 if(!IsWindow(hwnd)) { 1291 1342 dprintf(("warning: ClientToScreen window %x not found!", hwnd)); 1292 1343 SetLastError(ERROR_INVALID_WINDOW_HANDLE); … … 1344 1395 int i; 1345 1396 HDWP newhdwp = hdwp,retvalue; 1346 Win32BaseWindow *window;1347 1397 1348 1398 pDWP = (DWP *)hdwp; … … 1355 1405 return 0; 1356 1406 1357 window = Win32BaseWindow::GetWindowFromHandle(hwnd); 1358 if(!window) { 1407 if(!IsWindow(hwnd)) { 1359 1408 dprintf(("DeferWindowPos, window %x not found", hwnd)); 1360 1409 SetLastError(ERROR_INVALID_WINDOW_HANDLE); … … 1550 1599 } 1551 1600 dprintf(("CloseWindow %x\n", hwnd)); 1552 return window->CloseWindow(); 1601 BOOL ret = window->CloseWindow(); 1602 RELEASE_WNDOBJ(window); 1603 return ret; 1553 1604 } 1554 1605 //****************************************************************************** … … 1642 1693 return 0; 1643 1694 } 1644 return window->IsWindowUnicode(); 1695 BOOL ret = window->IsWindowUnicode(); 1696 RELEASE_WNDOBJ(window); 1697 return ret; 1645 1698 } 1646 1699 /*********************************************************************** … … 1655 1708 BOOL WIN32API EnumThreadWindows(DWORD dwThreadId, WNDENUMPROC lpfn, LPARAM lParam) 1656 1709 { 1657 return windowDesktop->EnumThreadWindows(dwThreadId, lpfn, lParam);1710 return windowDesktop->EnumThreadWindows(dwThreadId, lpfn, lParam); 1658 1711 } 1659 1712 //****************************************************************************** … … 1661 1714 BOOL WIN32API EnumChildWindows(HWND hwnd, WNDENUMPROC lpfn, LPARAM lParam) 1662 1715 { 1663 Win32BaseWindow *window;1664 BOOL rc= TRUE;1665 ULONG henum;1666 HWND hwndNext;1667 1668 if(lpfn == NULL) {1669 dprintf(("EnumChildWindows invalid parameter %x %x\n", hwnd, lParam));1716 Win32BaseWindow *window; 1717 BOOL ret = TRUE; 1718 ULONG henum; 1719 HWND hwndNext; 1720 1721 if(lpfn == NULL) { 1722 dprintf(("EnumChildWindows invalid parameter %x %x\n", hwnd, lParam)); 1670 1723 SetLastError(ERROR_INVALID_PARAMETER); 1671 1724 return FALSE; 1672 }1673 window = Win32BaseWindow::GetWindowFromHandle(hwnd);1674 if(!window) {1725 } 1726 window = Win32BaseWindow::GetWindowFromHandle(hwnd); 1727 if(!window) { 1675 1728 dprintf(("EnumChildWindows, window %x not found", hwnd)); 1676 1729 SetLastError(ERROR_INVALID_WINDOW_HANDLE); 1677 1730 return FALSE; 1678 } 1679 return window->EnumChildWindows(lpfn, lParam); 1731 } 1732 ret = window->EnumChildWindows(lpfn, lParam); 1733 RELEASE_WNDOBJ(window); 1734 return ret; 1680 1735 } 1681 1736 //****************************************************************************** … … 1683 1738 BOOL WIN32API EnumWindows(WNDENUMPROC lpfn, LPARAM lParam) 1684 1739 { 1685 return windowDesktop->EnumWindows(lpfn, lParam);1740 return windowDesktop->EnumWindows(lpfn, lParam); 1686 1741 } 1687 1742 //****************************************************************************** … … 1697 1752 BOOL WIN32API OpenIcon(HWND hwnd) 1698 1753 { 1699 dprintf(("USER32: OpenIcon %x", hwnd));1700 1701 if(!IsIconic(hwnd))1754 dprintf(("USER32: OpenIcon %x", hwnd)); 1755 1756 if(!IsIconic(hwnd)) 1702 1757 return FALSE; 1703 ShowWindow(hwnd, SW_SHOWNORMAL);1704 return TRUE;1758 ShowWindow(hwnd, SW_SHOWNORMAL); 1759 return TRUE; 1705 1760 } 1706 1761 //****************************************************************************** … … 1711 1766 BOOL WIN32API ShowOwnedPopups(HWND hwndOwner, BOOL fShow) 1712 1767 { 1713 Win32BaseWindow *window, *owner;1714 HWND hwnd;1715 1716 owner = Win32BaseWindow::GetWindowFromHandle(hwndOwner);1717 if(!owner) {1768 Win32BaseWindow *window, *owner; 1769 HWND hwnd; 1770 1771 owner = Win32BaseWindow::GetWindowFromHandle(hwndOwner); 1772 if(!owner) { 1718 1773 dprintf(("ShowOwnedPopups, window %x not found", hwndOwner)); 1719 1774 SetLastError(ERROR_INVALID_WINDOW_HANDLE); 1720 1775 return FALSE; 1721 }1722 dprintf(("USER32: ShowOwnedPopups %x %d", hwndOwner, fShow));1723 1724 hwnd = GetWindow(GetDesktopWindow(), GW_CHILD);1725 while(hwnd) {1776 } 1777 dprintf(("USER32: ShowOwnedPopups %x %d", hwndOwner, fShow)); 1778 1779 hwnd = GetWindow(GetDesktopWindow(), GW_CHILD); 1780 while(hwnd) { 1726 1781 window = Win32BaseWindow::GetWindowFromHandle(hwnd); 1727 1782 if(window) { … … 1752 1807 } 1753 1808 } 1809 RELEASE_WNDOBJ(window); 1754 1810 } 1755 else 1811 else dprintf(("WARNING: window %x is not valid", hwnd)); 1756 1812 1757 1813 hwnd = GetWindow(hwnd, GW_HWNDNEXT); 1758 } 1759 return TRUE; 1814 } 1815 RELEASE_WNDOBJ(owner); 1816 return TRUE; 1760 1817 } 1761 1818 //****************************************************************************** … … 1803 1860 } 1804 1861 dprintf(("GetWindowContextHelpId %x", hwnd)); 1805 return window->getWindowContextHelpId(); 1862 DWORD ret = window->getWindowContextHelpId(); 1863 RELEASE_WNDOBJ(window); 1864 return ret; 1806 1865 } 1807 1866 //****************************************************************************** … … 1819 1878 dprintf(("SetWindowContextHelpId %x %d", hwnd, dwContextHelpId)); 1820 1879 window->setWindowContextHelpId(dwContextHelpId); 1880 RELEASE_WNDOBJ(window); 1821 1881 return(TRUE); 1822 1882 } … … 1833 1893 return 0; 1834 1894 } 1835 return window->getProp(str); 1895 HANDLE ret = window->getProp(str); 1896 RELEASE_WNDOBJ(window); 1897 return ret; 1836 1898 } 1837 1899 //****************************************************************************** … … 1860 1922 return FALSE; 1861 1923 } 1862 return window->setProp(str, handle); 1924 BOOL ret = window->setProp(str, handle); 1925 RELEASE_WNDOBJ(window); 1926 return ret; 1863 1927 } 1864 1928 //****************************************************************************** … … 1888 1952 return 0; 1889 1953 } 1890 return window->removeProp(str); 1954 HANDLE ret = window->removeProp(str); 1955 RELEASE_WNDOBJ(window); 1956 return ret; 1891 1957 } 1892 1958 //****************************************************************************** … … 1928 1994 return -1; 1929 1995 } 1930 return window->enumPropsExA(func, lParam); 1996 INT ret = window->enumPropsExA(func, lParam); 1997 RELEASE_WNDOBJ(window); 1998 return ret; 1931 1999 } 1932 2000 //****************************************************************************** … … 1942 2010 return -1; 1943 2011 } 1944 return window->enumPropsExW(func, lParam); 1945 } 1946 //****************************************************************************** 1947 //****************************************************************************** 2012 INT ret = window->enumPropsExW(func, lParam); 2013 RELEASE_WNDOBJ(window); 2014 return ret; 2015 } 2016 //****************************************************************************** 2017 //******************************************************************************
Note:
See TracChangeset
for help on using the changeset viewer.