Code

Additional null pointer checking
authorjoncruz <joncruz@users.sourceforge.net>
Fri, 6 Apr 2007 20:12:18 +0000 (20:12 +0000)
committerjoncruz <joncruz@users.sourceforge.net>
Fri, 6 Apr 2007 20:12:18 +0000 (20:12 +0000)
src/inkscape.cpp
src/sp-style-elem-test.h

index 829aacdc989166f99afac3b7f6beaef68b88351e..c167be493c0900a05a12b9560472da180c80b6a8 100644 (file)
@@ -731,7 +731,12 @@ inkscape_get_repr (Inkscape::Application *inkscape, const gchar *key)
         return NULL;
     }
 
-    Inkscape::XML::Node *repr = Inkscape::Preferences::get()->root();
+    Inkscape::XML::Node *prefs = Inkscape::Preferences::get();
+    if ( !prefs ) {
+        return NULL;
+    }
+
+    Inkscape::XML::Node *repr = prefs->root();
     if (!repr) return NULL;
     g_assert (!(strcmp (repr->name(), "inkscape")));
 
index 8f52e8afda9fded5892eced58320e4bbe01002a4..755fe4418af9295cf9b89f59bf1300fa56ae8f34 100644 (file)
@@ -73,6 +73,12 @@ public:
 
     void testWrite()
     {
+        TS_ASSERT( _doc );
+        TS_ASSERT( sp_document_repr_doc(_doc) );
+        if ( !sp_document_repr_doc(_doc) ) {
+            return; // evil early return
+        }
+
         SPStyleElem *style_elem = SP_STYLE_ELEM(g_object_new(SP_TYPE_STYLE_ELEM, NULL));
         SP_OBJECT(style_elem)->document = _doc;
 
@@ -93,6 +99,12 @@ public:
 
     void testBuild()
     {
+        TS_ASSERT( _doc );
+        TS_ASSERT( sp_document_repr_doc(_doc) );
+        if ( !sp_document_repr_doc(_doc) ) {
+            return; // evil early return
+        }
+
         SPStyleElem &style_elem = *SP_STYLE_ELEM(g_object_new(SP_TYPE_STYLE_ELEM, NULL));
         Inkscape::XML::Node *const repr = sp_document_repr_doc(_doc)->createElement("svg:style");
         repr->setAttribute("type", "text/css");
@@ -115,6 +127,12 @@ public:
 
     void testReadContent()
     {
+        TS_ASSERT( _doc );
+        TS_ASSERT( sp_document_repr_doc(_doc) );
+        if ( !sp_document_repr_doc(_doc) ) {
+            return; // evil early return
+        }
+
         SPStyleElem &style_elem = *SP_STYLE_ELEM(g_object_new(SP_TYPE_STYLE_ELEM, NULL));
         Inkscape::XML::Node *const repr = sp_document_repr_doc(_doc)->createElement("svg:style");
         repr->setAttribute("type", "text/css");