[PATCH] [WinHelp]: properly quit winhelp when no file are given on command line
Eric Pouech
eric.pouech at orange.fr
Sat Jun 21 03:50:26 CDT 2008
Fix for #13873
A+
---
programs/winhlp32/winhelp.c | 10 ++++++++++
1 files changed, 10 insertions(+), 0 deletions(-)
diff --git a/programs/winhlp32/winhelp.c b/programs/winhlp32/winhelp.c
index 3b8f173..f5d512b 100644
--- a/programs/winhlp32/winhelp.c
+++ b/programs/winhlp32/winhelp.c
@@ -376,6 +376,13 @@ typedef struct
WORD ofsData;
} WINHELP,*LPWINHELP;
+static BOOL WINHELP_HasWorkingWindow(void)
+{
+ if (!Globals.active_win) return FALSE;
+ if (Globals.active_win->next || Globals.win_list != Globals.active_win) return TRUE;
+ return Globals.active_win->page != NULL && Globals.active_win->page->file != NULL;
+}
+
/******************************************************************
* WINHELP_HandleCommand
*
@@ -407,6 +414,7 @@ static LRESULT WINHELP_HandleCommand(HWND hSrcWnd, LPARAM lParam)
{
MACRO_JumpContext(ptr, "main", wh->data);
}
+ if (!WINHELP_HasWorkingWindow()) MACRO_Exit();
break;
case HELP_QUIT:
MACRO_Exit();
@@ -416,9 +424,11 @@ static LRESULT WINHELP_HandleCommand(HWND hSrcWnd, LPARAM lParam)
{
MACRO_JumpContents(ptr, "main");
}
+ if (!WINHELP_HasWorkingWindow()) MACRO_Exit();
break;
case HELP_HELPONHELP:
MACRO_HelpOn();
+ if (!WINHELP_HasWorkingWindow()) MACRO_Exit();
break;
/* case HELP_SETINDEX: */
case HELP_SETCONTENTS:
More information about the wine-patches
mailing list