]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/tbarbase.cpp
applied Unicode fixes for mingw32 (patch 429654)
[wxWidgets.git] / src / common / tbarbase.cpp
index 526c883fcc35f7f82f86475a2215ebad841e62f0..93e0bab7c7d989db72edcfb6ff2a02016dc074fa 100644 (file)
@@ -53,6 +53,8 @@
     END_EVENT_TABLE()
 #endif
 
+IMPLEMENT_CLASS(wxToolBarBase, wxControl)
+
 #include "wx/listimpl.cpp"
 
 WX_DEFINE_LIST(wxToolBarToolsList);
@@ -468,7 +470,12 @@ bool wxToolBarBase::OnLeftClick(int id, bool toggleDown)
 {
     wxCommandEvent event(wxEVT_COMMAND_TOOL_CLICKED, id);
     event.SetEventObject(this);
-    event.SetExtraLong((long) toggleDown);
+
+    // we use SetInt() to make wxCommandEvent::IsChecked() return toggleDown
+    event.SetInt((int)toggleDown);
+
+    // and SetExtraLong() for backwards compatibility
+    event.SetExtraLong((long)toggleDown);
 
     // Send events to this toolbar instead (and thence up the window hierarchy)
     GetEventHandler()->ProcessEvent(event);
@@ -530,7 +537,11 @@ void wxToolBarBase::DoToolbarUpdates()
     while (parent->GetParent())
         parent = parent->GetParent();
 
+#ifdef __WXMSW__
     wxWindow* focusWin = wxFindFocusDescendant(parent);
+#else
+    wxWindow* focusWin = (wxWindow*) NULL;
+#endif
 
     wxEvtHandler* evtHandler = focusWin ? focusWin->GetEventHandler() : GetEventHandler() ;