- // fire button-click event
- wxAuiManagerEvent e(wxEVT_AUI_PANE_BUTTON);
- e.SetManager(this);
- e.SetPane(m_action_part->pane);
- e.SetButton(m_action_part->button->button_id);
- ProcessMgrEvent(e);
+ UpdateButtonOnScreen(m_action_part, event);
+
+ // make sure we're still over the item that was originally clicked
+ if (m_action_part == HitTest(event.GetX(), event.GetY()))
+ {
+ // fire button-click event
+ wxAuiManagerEvent e(wxEVT_AUI_PANE_BUTTON);
+ e.SetManager(this);
+ e.SetPane(m_action_part->pane);
+ e.SetButton(m_action_part->button->button_id);
+ ProcessMgrEvent(e);
+ }