[gxml] Fixed bugs on new Node.set_namespace ()



commit c753def01429fb624ee4774ad57ebd07cd4410a5
Author: Daniel Espinosa <esodan gmail com>
Date:   Fri Feb 6 01:02:02 2015 -0600

    Fixed bugs on new Node.set_namespace ()

 gxml/BackedNode.vala |   22 +++++++++++++---------
 1 files changed, 13 insertions(+), 9 deletions(-)
---
diff --git a/gxml/BackedNode.vala b/gxml/BackedNode.vala
index c681773..53724c6 100644
--- a/gxml/BackedNode.vala
+++ b/gxml/BackedNode.vala
@@ -100,19 +100,23 @@ namespace GXml {
                /**
                 * { inheritDoc}
                 */
-               public virtual bool set_namespace (string uri, string prefix)
+               public override bool set_namespace (string uri, string prefix)
                {
-                       for (Xml.Ns *cur = node->ns_def; cur != null; cur = cur->next) {
-                               if ((string) cur->prefix == prefix && (string) cur->href == uri) {
-                                       node->set_ns (cur);
-                                       return true;
+                       if (node->ns_def != null) {
+                               for (Xml.Ns *cur = node->ns_def; cur != null; cur = cur->next) {
+                                       if ((string) cur->prefix == prefix && (string) cur->href == uri) {
+                                               node->set_ns (cur);
+                                               return true;
+                                       }
                                }
                        }
                        // Not found in this node, searching on root element
-                       for (Xml.Ns *cur = owner_document.document_element.node->ns_def; cur != null; cur = 
cur->next) {
-                               if ((string) cur->prefix == prefix && (string) cur->href == uri) {
-                                       this.node->set_ns (cur);
-                                       return true;
+                       if (owner_document.document_element.node->ns_def != null) {
+                               for (Xml.Ns *cur = owner_document.document_element.node->ns_def; cur != null; 
cur = cur->next) {
+                                       if ((string) cur->prefix == prefix && (string) cur->href == uri) {
+                                               this.node->set_ns (cur);
+                                               return true;
+                                       }
                                }
                        }
                        return false;


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