Module: wine Branch: master Commit: 0865dc7c8cee2698cb885d2986d55f05a86920dc URL: http://source.winehq.org/git/wine.git/?a=commit;h=0865dc7c8cee2698cb885d2986...
Author: Eric Pouech eric.pouech@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);