]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/evtloop.cpp
setting clipping correctly
[wxWidgets.git] / src / msw / evtloop.cpp
index 805fb95ef4aebd703fdfa5f8717ea7b71dc8b3c1..37b2eba9a4ce179ddbcd9985c85c7ec229383cd2 100644 (file)
@@ -141,11 +141,10 @@ bool wxEventLoop::PreProcessMessage(WXMSG *msg)
     // popup the tooltip bubbles
     if ( msg->message == WM_MOUSEMOVE )
     {
-        wxToolTip *tt = wndThis->GetToolTip();
-        if ( tt )
-        {
-            tt->RelayEvent((WXMSG *)msg);
-        }
+        // we should do it if one of window children has an associated tooltip
+        // (and not just if the window has a tooltip itself)
+        if ( wndThis->HasToolTips() )
+            wxToolTip::RelayEvent((WXMSG *)msg);
     }
 #endif // wxUSE_TOOLTIPS
 
@@ -173,16 +172,14 @@ bool wxEventLoop::PreProcessMessage(WXMSG *msg)
     // now try the other hooks (kbd navigation is handled here)
     for ( wnd = wndThis; wnd; wnd = wnd->GetParent() )
     {
-        if (wnd != wndThis) // Skip the first since wndThis->MSWProcessMessage() was called above
-        {
-            if ( wnd->MSWProcessMessage((WXMSG *)msg) )
-                return true;
-        }
+        if ( wnd->MSWProcessMessage((WXMSG *)msg) )
+            return true;
 
-        // Stop at first top level window (as per comment above).
-        // If we don't do this, pressing ESC on a modal dialog shown as child of a modal
-        // dialog with wxID_CANCEL will cause the parent dialog to be closed, for example
-        if (wnd->IsTopLevel())
+        // also stop at first top level window here, just as above because
+        // if we don't do this, pressing ESC on a modal dialog shown as child
+        // of a modal dialog with wxID_CANCEL will cause the parent dialog to
+        // be closed, for example
+        if ( wnd->IsTopLevel() )
             break;
     }