Index: lib/inspectorObserver.js
===================================================================
--- a/lib/inspectorObserver.js
+++ b/lib/inspectorObserver.js
@@ -1,20 +1,29 @@
 /*
  * This Source Code is subject to the terms of the Mozilla Public License
  * version 2.0 (the "License"). You can obtain a copy of the License at
  * http://mozilla.org/MPL/2.0/.
  */
 
-let {gDevTools} = Cu.import("resource:///modules/devtools/gDevTools.jsm", null);
-
 let InspectorObserver =
 {
   init: function()
   {
+    let gDevTools;
+    try
+    {
+      ({gDevTools}) = Cu.import("resource:///modules/devtools/gDevTools.jsm", null);
+    }
+    catch(e)
+    {
+      // No developer tools or unsupported version - ignore.
+      return;
+    }
+
     gDevTools.on("inspector-ready", this.inspectorReady);
     onShutdown.add(function()
     {
       gDevTools.off("inspector-ready", this.inspectorReady);
     }.bind(this));
   },
 
   get inspectorButtonTooltip()
@@ -22,35 +31,35 @@ let InspectorObserver =
     // Randomize URI to work around bug 719376
     let stringBundle = Services.strings.createBundle("chrome://elemhidehelper/locale/global.properties?" + Math.random());
     let result = stringBundle.GetStringFromName("inspector.button.tooltiptext");
 
     delete this.inspectorButtonTooltip;
     this.__defineGetter__("inspectorButtonTooltip", function() result);
     return this.inspectorButtonTooltip;
   },
-  
+
   inspectorReady: function(eventName, toolbox, panel)
   {
     let panelWindow = panel.panelWin;
     let inspectBtn = panelWindow.document.getElementById("inspector-inspect-toolbutton");
     if (!inspectBtn)
       return;
-    
+
     let tooltiptext = InspectorObserver.inspectorButtonTooltip;
     button = panelWindow.document.createElement("toolbarbutton");
     button.setAttribute("id", "inspector-abp-elemhide-toolbutton");
     button.style.listStyleImage = "url('chrome://adblockplus/skin/abp-status-16.png')";
     button.style.MozImageRegion = "rect(0px, 16px, 16px, 0px)";
     button.style.paddingTop = "4px";
     button.setAttribute("class", "devtools-toolbarbutton");
     button.setAttribute("tooltiptext", tooltiptext);
     button.setAttribute("tabindex", "0");
     button.addEventListener("command", function()
     {
-      panelWindow.openDialog("chrome://elemhidehelper/content/composer.xul", "_blank", 
+      panelWindow.openDialog("chrome://elemhidehelper/content/composer.xul", "_blank",
                              "chrome,centerscreen,resizable,dialog=no", panel.selection.node);
     }, false);
     inspectBtn.parentNode.insertBefore(button, inspectBtn.nextSibling);
   }
 };
 
 InspectorObserver.init();
