From 6072177888cf5cad55bb843a88e80b493e8fd60c Mon Sep 17 00:00:00 2001
From: fluxgen <fluxgen>
Date: Fri, 10 Jan 2003 02:16:29 +0000
Subject: fixed bad pointer check

---
 src/FbTk/Button.cc | 19 ++++++++++---------
 1 file changed, 10 insertions(+), 9 deletions(-)

diff --git a/src/FbTk/Button.cc b/src/FbTk/Button.cc
index 0c568a2..4a9063f 100644
--- a/src/FbTk/Button.cc
+++ b/src/FbTk/Button.cc
@@ -19,7 +19,7 @@
 // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
 // DEALINGS IN THE SOFTWARE.
 
-// $Id: Button.cc,v 1.3 2002/12/25 11:27:29 fluxgen Exp $
+// $Id: Button.cc,v 1.4 2003/01/10 02:16:29 fluxgen Exp $
 
 #include "Button.hh"
 
@@ -57,11 +57,11 @@ Button::~Button() {
 }
 
 void Button::setOnClick(RefCount<Command> &cmd, int button) {
-	// we only handle buttons 1 to 5
-	if (button > 5 || button == 0)
-		return;
-	//set on click command for the button
-	m_onclick[button - 1] = cmd;
+    // we only handle buttons 1 to 5
+    if (button > 5 || button == 0)
+        return;
+    //set on click command for the button
+    m_onclick[button - 1] = cmd;
 }
 
 void Button::move(int x, int y) {
@@ -124,7 +124,7 @@ void Button::buttonReleaseEvent(XButtonEvent &event) {
 
         if (m_gc == 0) // get default gc
             m_gc = DefaultGC(disp, m_win.screenNumber());
-    
+
         XCopyArea(disp, m_foreground_pm, m_win.window(), m_gc, 0, 0, width(), height(), 0, 0);
     }
 
@@ -132,8 +132,9 @@ void Button::buttonReleaseEvent(XButtonEvent &event) {
         event.x > width() || event.y > height())
         return;
 
-	if (event.button > 0 && event.button <= 5)
-		m_onclick[event.button - 1]->execute();
+    if (event.button > 0 && event.button <= 5 &&
+        m_onclick[event.button -1].get() != 0)
+        m_onclick[event.button - 1]->execute();
    
 }
 
-- 
cgit v0.11.2