comctl32: disable owner of modal property sheets before creating the dialog

Vincent Povirk vincent at codeweavers.com
Tue Jul 8 16:43:03 CDT 2008


---
 dlls/comctl32/propsheet.c       |    8 ++++++--
 dlls/comctl32/tests/propsheet.c |    2 +-
 2 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/dlls/comctl32/propsheet.c b/dlls/comctl32/propsheet.c
index 84b1b7f..f33bd54 100644
--- a/dlls/comctl32/propsheet.c
+++ b/dlls/comctl32/propsheet.c
@@ -2784,17 +2784,21 @@ static INT do_loop(const PropSheetInfo *psInfo)
 static INT_PTR PROPSHEET_PropertySheet(PropSheetInfo* psInfo, BOOL unicode)
 {
   INT_PTR bRet = 0;
+  HWND parent = NULL;
   if (psInfo->active_page >= psInfo->nPages) psInfo->active_page = 0;
   TRACE("startpage: %d of %d pages\n", psInfo->active_page, psInfo->nPages);
 
   psInfo->unicode = unicode;
   psInfo->ended = FALSE;
 
-  bRet = PROPSHEET_CreateDialog(psInfo);
   if(!psInfo->isModeless)
   {
-      HWND parent = GetParent(psInfo->hwnd);
+      parent = psInfo->ppshheader.hwndParent;
       if (parent) EnableWindow(parent, FALSE);
+  }
+  bRet = PROPSHEET_CreateDialog(psInfo);
+  if(!psInfo->isModeless)
+  {
       bRet = do_loop(psInfo);
       if (parent) EnableWindow(parent, TRUE);
   }
diff --git a/dlls/comctl32/tests/propsheet.c b/dlls/comctl32/tests/propsheet.c
index e272a03..95371b2 100644
--- a/dlls/comctl32/tests/propsheet.c
+++ b/dlls/comctl32/tests/propsheet.c
@@ -140,7 +140,7 @@ static int CALLBACK disableowner_callback(HWND hwnd, UINT msg, LPARAM lparam)
     {
     case PSCB_INITIALIZED:
       {
-        todo_wine ok(IsWindowEnabled(parent) == 0, "parent window should be disabled\n");
+        ok(IsWindowEnabled(parent) == 0, "parent window should be disabled\n");
         PostQuitMessage(0);
         return FALSE;
       }
-- 
1.5.4.3


--=-a0o7nL5YVxTCHG5uMvWF--




More information about the wine-patches mailing list