X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=otk%2Fbutton.cc;h=313d8acfcf52751e0b56162444763cba6a84ec4b;hb=e9a7fc91bc4485a7fc3f9542dbba86b8d3823c7d;hp=f068d5a5edd03a38cde7a3432df9a7cb24c73b03;hpb=7a41f7730dfa7e5733720f98f89c5a5906f1e786;p=chaz%2Fopenbox diff --git a/otk/button.cc b/otk/button.cc index f068d5a5..313d8acf 100644 --- a/otk/button.cc +++ b/otk/button.cc @@ -38,8 +38,6 @@ void Button::release(unsigned int mouse_button) styleChanged(*RenderStyle::style(screen())); refresh(); - - clickHandler(_mouse_button); } void Button::buttonPressHandler(const XButtonEvent &e) @@ -51,7 +49,11 @@ void Button::buttonPressHandler(const XButtonEvent &e) void Button::buttonReleaseHandler(const XButtonEvent &e) { Widget::buttonReleaseHandler(e); + bool p = _pressed; release(e.button); + if (p && !_pressed && e.x > 0 && e.y > 0 && + e.x < area().width() && e.y < area().height()) + clickHandler(_mouse_button); } void Button::styleChanged(const RenderStyle &style)