From 9db7e667ac92531b135104167832c74d30d99ef3 Mon Sep 17 00:00:00 2001
From: Přemysl Janouch 
Date: Sun, 9 Jan 2011 08:10:20 +0100
Subject: Add hide_terminals() to LdCanvas.
---
 src/ld-canvas.c | 14 +++++++++++---
 1 file changed, 11 insertions(+), 3 deletions(-)
(limited to 'src')
diff --git a/src/ld-canvas.c b/src/ld-canvas.c
index c12c2c2..5df3438 100644
--- a/src/ld-canvas.c
+++ b/src/ld-canvas.c
@@ -210,6 +210,7 @@ static gboolean get_object_area (LdCanvas *self, LdDiagramObject *object,
 static gboolean object_hit_test (LdCanvas *self, LdDiagramObject *object,
 	gdouble x, gdouble y);
 static void check_terminals (LdCanvas *self, gdouble x, gdouble y);
+static void hide_terminals (LdCanvas *self);
 static void queue_draw (LdCanvas *self, LdRectangle *rect);
 static void queue_object_draw (LdCanvas *self, LdDiagramObject *object);
 static void queue_terminal_draw (LdCanvas *self, LdPoint *terminal);
@@ -984,8 +985,7 @@ check_terminals (LdCanvas *self, gdouble x, gdouble y)
 		}
 	}
 
-	if (self->priv->terminal_highlighted)
-		queue_terminal_draw (self, &self->priv->terminal);
+	hide_terminals (self);
 
 	if (closest_symbol)
 	{
@@ -993,8 +993,16 @@ check_terminals (LdCanvas *self, gdouble x, gdouble y)
 		self->priv->terminal = closest_terminal;
 		queue_terminal_draw (self, &closest_terminal);
 	}
-	else
+}
+
+static void
+hide_terminals (LdCanvas *self)
+{
+	if (self->priv->terminal_highlighted)
+	{
 		self->priv->terminal_highlighted = FALSE;
+		queue_terminal_draw (self, &self->priv->terminal);
+	}
 }
 
 static void
-- 
cgit v1.2.3-70-g09d2