[evolution] Bug 682494 - Add some defensive checks in gal-a11y-e-text.c



commit d629f894c41fdc9c3338c282332bc3d0151ed4e6
Author: Mike Gorse <mgorse suse com>
Date:   Wed Aug 22 15:16:33 2012 -0400

    Bug 682494 - Add some defensive checks in gal-a11y-e-text.c

 widgets/text/gal-a11y-e-text.c |   27 +++++++++++++++++++++------
 1 files changed, 21 insertions(+), 6 deletions(-)
---
diff --git a/widgets/text/gal-a11y-e-text.c b/widgets/text/gal-a11y-e-text.c
index 5632665..6f62ae7 100644
--- a/widgets/text/gal-a11y-e-text.c
+++ b/widgets/text/gal-a11y-e-text.c
@@ -93,11 +93,16 @@ et_get_extents (AtkComponent *component,
 static const gchar *
 et_get_full_text (AtkText *text)
 {
-	EText *etext = E_TEXT (atk_gobject_accessible_get_object (
-		ATK_GOBJECT_ACCESSIBLE (text)));
+	GObject *obj;
+	EText *etext;
 	ETextModel *model;
 	const gchar *full_text;
 
+	obj = atk_gobject_accessible_get_object (ATK_GOBJECT_ACCESSIBLE (text));
+	if (obj == NULL)
+		return "";
+
+	etext = E_TEXT (obj);
 	g_object_get (etext, "model", &model, NULL);
 
 	full_text = e_text_model_get_text (model);
@@ -109,10 +114,15 @@ static void
 et_set_full_text (AtkEditableText *text,
                   const gchar *full_text)
 {
-	EText *etext = E_TEXT (atk_gobject_accessible_get_object (
-		ATK_GOBJECT_ACCESSIBLE (text)));
+	GObject *obj;
+	EText *etext;
 	ETextModel *model;
 
+	obj = atk_gobject_accessible_get_object (ATK_GOBJECT_ACCESSIBLE (text));
+	if (obj == NULL)
+		return;
+
+	etext = E_TEXT (obj);
 	g_object_get (etext, "model", &model, NULL);
 
 	e_text_model_set_text (model, full_text);
@@ -648,8 +658,13 @@ et_get_offset_at_point (AtkText *text,
 static gint
 et_get_n_selections (AtkText *text)
 {
-	EText *etext = E_TEXT (atk_gobject_accessible_get_object (
-		ATK_GOBJECT_ACCESSIBLE (text)));
+	EText *etext;
+	GObject *obj =  atk_gobject_accessible_get_object (ATK_GOBJECT_ACCESSIBLE (text));
+
+	if (obj == NULL)
+		return -1;
+	etext = E_TEXT (obj);
+
 	if (etext->selection_start !=
 	    etext->selection_end)
 		return 1;



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]