53b8734
It's just bad to de-couple state and NULL ptrs.
53b8734
53b8734
diff -Nur audacious-plugins-fedora-2.2-neon1/src/neon/neon.c audacious-plugins-fedora-2.2-neon2/src/neon/neon.c
53b8734
--- audacious-plugins-fedora-2.2-neon1/src/neon/neon.c	2010-01-25 09:46:23.000000000 +0100
53b8734
+++ audacious-plugins-fedora-2.2-neon2/src/neon/neon.c	2010-01-25 09:51:17.000000000 +0100
53b8734
@@ -727,11 +727,13 @@
53b8734
             _LEAVE 0;
53b8734
         } else if (-1 == ret) {
53b8734
             ne_session_destroy(handle->session);
53b8734
+            handle->session = NULL;
53b8734
             _LEAVE -1;
53b8734
         }
53b8734
 
53b8734
         _DEBUG("<%p> Following redirect...", handle);
53b8734
         ne_session_destroy(handle->session);
53b8734
+        handle->session = NULL;
53b8734
     }
53b8734
 
53b8734
     /*
53b8734
@@ -945,7 +947,9 @@
53b8734
     }
53b8734
 
53b8734
     _DEBUG("<%p> Destroying session", h);
53b8734
-    ne_session_destroy(h->session);
53b8734
+    if (NULL != h->session) {
53b8734
+        ne_session_destroy(h->session);
53b8734
+    }
53b8734
 
53b8734
     handle_free(h);
53b8734
 
53b8734
@@ -1359,7 +1363,10 @@
53b8734
     if (NULL != h->request) {
53b8734
         ne_request_destroy(h->request);
53b8734
     }
53b8734
-    ne_session_destroy(h->session);
53b8734
+    if (NULL != h->session) {
53b8734
+        ne_session_destroy(h->session);
53b8734
+        h->session = NULL;
53b8734
+    }
53b8734
     reset_rb(&h->rb);
53b8734
 
53b8734
     if (0 != open_handle(h, newpos)) {