diff --git a/src/gui/about_window.cpp b/src/gui/about_window.cpp index f6b0bd8e..738b6d23 100644 --- a/src/gui/about_window.cpp +++ b/src/gui/about_window.cpp @@ -100,6 +100,10 @@ void HoverButtonBase::onLeftUp(wxMouseEvent&) { onClick(); } } +void HoverButtonBase::onLoseCapture(wxMouseCaptureLostEvent&) { + // We already test for wrong release with HasCapture() + // but stupid wxWidget people decided to throw assertion failures +} void HoverButtonBase::onKeyDown(wxKeyEvent& ev) { int code = ev.GetKeyCode(); if (code == WXK_RETURN || code == WXK_SPACE) { @@ -147,6 +151,7 @@ BEGIN_EVENT_TABLE(HoverButtonBase, wxControl) EVT_LEFT_UP (HoverButtonBase::onLeftUp) EVT_KEY_DOWN (HoverButtonBase::onKeyDown) EVT_KEY_UP (HoverButtonBase::onKeyUp) + EVT_MOUSE_CAPTURE_LOST(HoverButtonBase::onLoseCapture) END_EVENT_TABLE () // ----------------------------------------------------------------------------- : Button with image and hover effect diff --git a/src/gui/about_window.hpp b/src/gui/about_window.hpp index ab0b6cc6..63778dbc 100644 --- a/src/gui/about_window.hpp +++ b/src/gui/about_window.hpp @@ -50,6 +50,7 @@ class HoverButtonBase : public wxControl { void onKillFocus (wxFocusEvent& ev); void onLeftUp (wxMouseEvent&); void onLeftDown (wxMouseEvent&); + void onLoseCapture(wxMouseCaptureLostEvent&); void onKeyDown (wxKeyEvent&); void onKeyUp (wxKeyEvent&); void onPaint (wxPaintEvent&);