]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/helpwin.cpp
don't crash when trying to dump struct members which are NULL pointers
[wxWidgets.git] / src / msw / helpwin.cpp
index 74d9160f7fd2e583a8e7fb460ffe006b2b260ab1..464ea1025a502d15319d2f51974dc1c962c37556 100644 (file)
@@ -5,11 +5,11 @@
 // Modified by:
 // Created:     04/01/98
 // RCS-ID:      $Id$
-// Copyright:   (c) Julian Smart and Markus Holzem
-// Licence:    wxWindows license
+// Copyright:   (c) Julian Smart
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
 #pragma implementation "helpwin.h"
 #endif
 
@@ -50,62 +50,68 @@ IMPLEMENT_DYNAMIC_CLASS(wxWinHelpController, wxHelpControllerBase)
 bool wxWinHelpController::Initialize(const wxString& filename)
 {
     m_helpFile = filename;
-    return TRUE;
+    return true;
 }
 
 bool wxWinHelpController::LoadFile(const wxString& file)
 {
     if (!file.IsEmpty())
         m_helpFile = file;
-    return TRUE;
+    return true;
 }
 
 bool wxWinHelpController::DisplayContents(void)
 {
-    if (m_helpFile.IsEmpty()) return FALSE;
-    
+    if (m_helpFile.IsEmpty()) return false;
+
     wxString str = GetValidFilename(m_helpFile);
-    
+
 #if defined(__WIN95__)
-    WinHelp(GetSuitableHWND(), (const wxChar*) str, HELP_FINDER, 0L);
+    return (WinHelp(GetSuitableHWND(), (const wxChar*) str, HELP_FINDER, 0L) != 0);
 #else
-    WinHelp(GetSuitableHWND(), (const wxChar*) str, HELP_CONTENTS, 0L);
+    return (WinHelp(GetSuitableHWND(), (const wxChar*) str, HELP_CONTENTS, 0L) != 0);
 #endif
-    return TRUE;
 }
 
 bool wxWinHelpController::DisplaySection(int section)
 {
     // Use context number
-    if (m_helpFile.IsEmpty()) return FALSE;
-    
+    if (m_helpFile.IsEmpty()) return false;
+
     wxString str = GetValidFilename(m_helpFile);
 
-    WinHelp((HWND) wxTheApp->GetTopWindow()->GetHWND(), (const wxChar*) str, HELP_CONTEXT, (DWORD)section);
-    return TRUE;
+    return (WinHelp((HWND) wxTheApp->GetTopWindow()->GetHWND(), (const wxChar*) str, HELP_CONTEXT, (DWORD)section) != 0);
+}
+
+bool wxWinHelpController::DisplayContextPopup(int contextId)
+{
+    if (m_helpFile.IsEmpty()) return false;
+
+    wxString str = GetValidFilename(m_helpFile);
+
+    return (WinHelp((HWND) wxTheApp->GetTopWindow()->GetHWND(), (const wxChar*) str, HELP_CONTEXTPOPUP, (DWORD) contextId) != 0);
 }
 
 bool wxWinHelpController::DisplayBlock(long block)
 {
     DisplaySection(block);
-    return TRUE;
+    return true;
 }
 
-bool wxWinHelpController::KeywordSearch(const wxString& k)
+bool wxWinHelpController::KeywordSearch(const wxString& k,
+                                        wxHelpSearchMode WXUNUSED(mode))
 {
-    if (m_helpFile.IsEmpty()) return FALSE;
-    
+    if (m_helpFile.IsEmpty()) return false;
+
     wxString str = GetValidFilename(m_helpFile);
-    
-    WinHelp(GetSuitableHWND(), (const wxChar*) str, HELP_PARTIALKEY, (DWORD)(const wxChar*) k);
-    return TRUE;
+
+    return (WinHelp(GetSuitableHWND(), (const wxChar*) str, HELP_PARTIALKEY, (DWORD)(const wxChar*) k) != 0);
 }
 
 // Can't close the help window explicitly in WinHelp
 bool wxWinHelpController::Quit(void)
 {
-    WinHelp(GetSuitableHWND(), 0, HELP_QUIT, 0L);
-    return TRUE;
+    return (WinHelp(GetSuitableHWND(), 0, HELP_QUIT, 0L) != 0);
 }
 
 // Append extension if necessary.