Module: wine Branch: master Commit: 2a8463b558ab5406e696f96d04fc279cfc7f2833 URL: http://source.winehq.org/git/wine.git/?a=commit;h=2a8463b558ab5406e696f96d04...
Author: Aric Stewart aric@codeweavers.com Date: Fri Mar 30 11:35:12 2007 -0500
comctl32: Unset active page while setting a new active page for a propsheet.
Before calling the PSN_SETACTIVE in PROPSHEET_SetCurSel set the active_page to -1. This prevents crashes and corruption of the property sheet if the application makes any modifications during the PSN_SETACTIVE.
---
dlls/comctl32/propsheet.c | 5 +++++ 1 files changed, 5 insertions(+), 0 deletions(-)
diff --git a/dlls/comctl32/propsheet.c b/dlls/comctl32/propsheet.c index 636b0b2..c84f23a 100644 --- a/dlls/comctl32/propsheet.c +++ b/dlls/comctl32/propsheet.c @@ -2023,6 +2023,11 @@ static BOOL PROPSHEET_SetCurSel(HWND hwndDlg, return FALSE; }
+ /* unset active page while doing this transition. */ + if (psInfo->active_page != -1) + ShowWindow(psInfo->proppage[psInfo->active_page].hwndPage, SW_HIDE); + psInfo->active_page = -1; + while (1) { int result; PSHNOTIFY psn;