]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/tooltip.cpp
Enable variadic macros for VC9 and later.
[wxWidgets.git] / src / msw / tooltip.cpp
index e9e84c7621cd3db8c01ab1c11d06bb814c486fd5..23ad01cbd4c9e07e3a0c2ad016ed14be3722a0e7 100644 (file)
@@ -357,7 +357,7 @@ void wxToolTip::Remove(WXHWND hWnd, unsigned int id, const wxRect& rc)
 
 void wxToolTip::DoRemove(WXHWND hWnd)
 {
-    if ( hWnd == m_window->GetHWND() )
+    if ( m_window && hWnd == m_window->GetHWND() )
     {
         // Remove the tooltip from the main window.
         Remove(hWnd, m_id, m_rect);
@@ -374,17 +374,17 @@ void wxToolTip::Remove()
     DoForAllWindows(&wxToolTip::DoRemove);
 }
 
-void wxToolTip::Add(WXHWND hWnd)
+void wxToolTip::AddOtherWindow(WXHWND hWnd)
 {
     if ( !m_others )
         m_others = new wxToolTipOtherWindows;
 
     m_others->push_back(hWnd);
 
-    DoAddOtherWindow(hWnd);
+    DoAddHWND(hWnd);
 }
 
-void wxToolTip::DoAddOtherWindow(WXHWND hWnd)
+void wxToolTip::DoAddHWND(WXHWND hWnd)
 {
     HWND hwnd = (HWND)hWnd;
 
@@ -502,7 +502,7 @@ void wxToolTip::SetWindow(wxWindow *win)
     // add the window itself
     if ( m_window )
     {
-        Add(m_window->GetHWND());
+        DoAddHWND(m_window->GetHWND());
     }
 #if !defined(__WXUNIVERSAL__)
     // and all of its subcontrols (e.g. radio buttons in a radiobox) as well
@@ -526,7 +526,7 @@ void wxToolTip::SetWindow(wxWindow *win)
             // must have it by now!
             wxASSERT_MSG( hwnd, wxT("no hwnd for subcontrol?") );
 
-            Add((WXHWND)hwnd);
+            AddOtherWindow((WXHWND)hwnd);
         }
     }
 #endif // !defined(__WXUNIVERSAL__)
@@ -567,15 +567,11 @@ void wxToolTip::DoSetTip(WXHWND hWnd)
 
 void wxToolTip::DoForAllWindows(void (wxToolTip::*func)(WXHWND))
 {
-    if ( !m_window )
+    if ( m_window )
     {
-        wxASSERT_MSG( !m_others,
-                      wxS("Can't have other windows without the main one.") );
-        return;
+        (this->*func)(m_window->GetHWND());
     }
 
-    (this->*func)(m_window->GetHWND());
-
     if ( m_others )
     {
         for ( wxToolTipOtherWindows::const_iterator it = m_others->begin();