#if wxUSE_HELP
 
 #ifndef WX_PRECOMP
+    #include "wx/app.h"
 #endif
 
 #include "wx/tipwin.h"
-#include "wx/app.h"
 #include "wx/module.h"
 #include "wx/cshelp.h"
 
     bool eventProcessed = false;
     while (subjectOfHelp && !eventProcessed)
     {
-        wxHelpEvent helpEvent(wxEVT_HELP, subjectOfHelp->GetId(), pt) ;
+        wxHelpEvent helpEvent(wxEVT_HELP, subjectOfHelp->GetId(), pt,
+                              wxHelpEvent::Origin_HelpButton);
         helpEvent.SetEventObject(subjectOfHelp);
 
         eventProcessed = win->GetEventHandler()->ProcessEvent(helpEvent);
 
 wxString wxSimpleHelpProvider::GetHelp(const wxWindowBase *window)
 {
-    wxLongToStringHashMap::iterator it = m_hashWindows.find(WINHASH_KEY(window));
+    wxSimpleHelpProviderHashMap::iterator it = m_hashWindows.find(WINHASH_KEY(window));
 
     if ( it == m_hashWindows.end() )
     {
 
 void wxSimpleHelpProvider::AddHelp(wxWindowID id, const wxString& text)
 {
-    wxLongToStringHashMap::key_type key = (wxLongToStringHashMap::key_type)id;
+    wxSimpleHelpProviderHashMap::key_type key = (wxSimpleHelpProviderHashMap::key_type)id;
     m_hashIds.erase(key);
     m_hashIds[key] = text;
 }