Eric Pouech : winhelp: Don' t reset window position when reusing the current window.

Alexandre Julliard julliard at winehq.org
Mon Jun 7 10:02:20 CDT 2010


Module: wine
Branch: master
Commit: 0865dc7c8cee2698cb885d2986d55f05a86920dc
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=0865dc7c8cee2698cb885d2986d55f05a86920dc

Author: Eric Pouech <eric.pouech at orange.fr>
Date:   Fri Jun  4 21:27:23 2010 +0200

winhelp: Don't reset window position when reusing the current window.

---

 programs/winhlp32/winhelp.c |   33 ++++++++++++++++++---------------
 1 files changed, 18 insertions(+), 15 deletions(-)

diff --git a/programs/winhlp32/winhelp.c b/programs/winhlp32/winhelp.c
index 1f92514..f4742b0 100644
--- a/programs/winhlp32/winhelp.c
+++ b/programs/winhlp32/winhelp.c
@@ -712,10 +712,6 @@ BOOL WINHELP_CreateHelpWindow(WINHELP_WNDPAGE* wpage, int nCmdShow, BOOL remembe
         {
             if (!lstrcmpi(win->info->name, wpage->wininfo->name))
             {
-                POINT   pt = {0, 0};
-                SIZE    sz = {0, 0};
-                DWORD   flags = SWP_NOSIZE | SWP_NOMOVE;
-
                 if (win->page == wpage->page && win->info == wpage->wininfo)
                 {
                     /* see #22979, some hlp files have a macro (run at page opening), which
@@ -727,19 +723,26 @@ BOOL WINHELP_CreateHelpWindow(WINHELP_WNDPAGE* wpage, int nCmdShow, BOOL remembe
                 WINHELP_DeleteButtons(win);
                 bReUsed = TRUE;
                 SetWindowText(win->hMainWnd, WINHELP_GetCaption(wpage));
-                if (wpage->wininfo->origin.x != CW_USEDEFAULT &&
-                    wpage->wininfo->origin.y != CW_USEDEFAULT)
-                {
-                    pt = wpage->wininfo->origin;
-                    flags &= ~SWP_NOSIZE;
-                }
-                if (wpage->wininfo->size.cx != CW_USEDEFAULT &&
-                    wpage->wininfo->size.cy != CW_USEDEFAULT)
+                if (win->info != wpage->wininfo)
                 {
-                    sz = wpage->wininfo->size;
-                    flags &= ~SWP_NOMOVE;
+                    POINT   pt = {0, 0};
+                    SIZE    sz = {0, 0};
+                    DWORD   flags = SWP_NOSIZE | SWP_NOMOVE;
+
+                    if (wpage->wininfo->origin.x != CW_USEDEFAULT &&
+                        wpage->wininfo->origin.y != CW_USEDEFAULT)
+                    {
+                        pt = wpage->wininfo->origin;
+                        flags &= ~SWP_NOSIZE;
+                    }
+                    if (wpage->wininfo->size.cx != CW_USEDEFAULT &&
+                        wpage->wininfo->size.cy != CW_USEDEFAULT)
+                    {
+                        sz = wpage->wininfo->size;
+                        flags &= ~SWP_NOMOVE;
+                    }
+                    SetWindowPos(win->hMainWnd, HWND_TOP, pt.x, pt.y, sz.cx, sz.cy, flags);
                 }
-                SetWindowPos(win->hMainWnd, HWND_TOP, pt.x, pt.y, sz.cx, sz.cy, flags);
 
                 if (wpage->page && win->page && wpage->page->file != win->page->file)
                     WINHELP_DeleteBackSet(win);




More information about the wine-cvs mailing list