FELIX-2635 Apply patch by Victor Antonovich (slightly modified to explicitly assign null after destroyal and adding try-catch around the destroy calls)

git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@1002635 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/webconsole/src/main/java/org/apache/felix/webconsole/internal/servlet/PluginHolder.java b/webconsole/src/main/java/org/apache/felix/webconsole/internal/servlet/PluginHolder.java
index e69a8fc..f4188da 100644
--- a/webconsole/src/main/java/org/apache/felix/webconsole/internal/servlet/PluginHolder.java
+++ b/webconsole/src/main/java/org/apache/felix/webconsole/internal/servlet/PluginHolder.java
@@ -270,11 +270,10 @@
      */
     void setServletContext( ServletContext servletContext )
     {
-        this.servletContext = servletContext;
-
         final Plugin[] plugin = getPlugins();
         if ( servletContext != null )
         {
+            this.servletContext = servletContext;
             for ( int i = 0; i < plugin.length; i++ )
             {
                 try
@@ -291,8 +290,13 @@
         {
             for ( int i = 0; i < plugin.length; i++ )
             {
-                plugin[i].destroy();
+                try {
+                    plugin[i].destroy();
+                } catch (Throwable t) {
+                    // TODO: log !!
+                }
             }
+            this.servletContext = null;
         }
     }