[conglomerate] Don't replace the line manager of span elements that already have one



commit baab71d3cfdf57dfc201e6428948b35724a858af
Author: Simon South <ssouth simonsouth ca>
Date:   Tue Dec 22 22:18:10 2009 -0500

    Don't replace the line manager of span elements that already have one
    
    Fixes bug #324340 and #172371.

 src/cong-editor-node-element-span.c |   23 +++++++++++++----------
 1 files changed, 13 insertions(+), 10 deletions(-)
---
diff --git a/src/cong-editor-node-element-span.c b/src/cong-editor-node-element-span.c
index 9ef7c9f..8de85f8 100644
--- a/src/cong-editor-node-element-span.c
+++ b/src/cong-editor-node-element-span.c
@@ -127,16 +127,19 @@ cong_editor_node_element_span_create_areas (CongEditorNode *editor_node,
 
 	/* Create no areas; the children will add their areas via our LineManager, and this will create the wrapper areas */
 
-	/* Need to set up the line manager though: */
-	line_manager = cong_editor_line_manager_span_wrapper_new (cong_editor_node_get_widget (editor_node),
-								  editor_node,
-								  creation_info->line_manager,
-								  creation_info->creation_record,
-								  creation_info->line_iter);
-
-	cong_editor_node_set_line_manager_for_children (editor_node,
-							line_manager);
-	g_object_unref (G_OBJECT (line_manager));
+	if (!cong_editor_node_get_line_manager_for_children (editor_node)) {
+		/* Need to set up the line manager though: */
+		line_manager = cong_editor_line_manager_span_wrapper_new
+			(cong_editor_node_get_widget (editor_node),
+			 editor_node,
+			 creation_info->line_manager,
+			 creation_info->creation_record,
+			 creation_info->line_iter);
+
+		cong_editor_node_set_line_manager_for_children (editor_node,
+								line_manager);
+		g_object_unref (G_OBJECT (line_manager));
+	}
 }
 
 static gboolean



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