Author: lluis
Date: 2007-07-12 15:30:47 -0400 (Thu, 12 Jul 2007)
New Revision: 81896

Modified:
   trunk/monodevelop/Core/src/MonoDevelop.Ide/ChangeLog
   trunk/monodevelop/Core/src/MonoDevelop.Ide/MonoDevelop.Ide.Gui/HelpViewer.cs
Log:
* MonoDevelop.Ide.Gui/HelpViewer.cs: Don't crash if Gtk.HTML can't be
  loaded. Fixes bug #81989.

Modified: trunk/monodevelop/Core/src/MonoDevelop.Ide/ChangeLog
===================================================================
--- trunk/monodevelop/Core/src/MonoDevelop.Ide/ChangeLog        2007-07-12 
19:27:49 UTC (rev 81895)
+++ trunk/monodevelop/Core/src/MonoDevelop.Ide/ChangeLog        2007-07-12 
19:30:47 UTC (rev 81896)
@@ -1,3 +1,8 @@
+2007-07-12  Lluis Sanchez Gual <[EMAIL PROTECTED]> 
+
+       * MonoDevelop.Ide.Gui/HelpViewer.cs: Don't crash if Gtk.HTML can't be
+         loaded. Fixes bug #81989.
+
 2007-07-12  Mike Krüger <[EMAIL PROTECTED]> 
 
        * MonoDevelop.Ide.Gui/SdiWorkspaceLayout.cs: Worked on Bugzilla Bug

Modified: 
trunk/monodevelop/Core/src/MonoDevelop.Ide/MonoDevelop.Ide.Gui/HelpViewer.cs
===================================================================
--- 
trunk/monodevelop/Core/src/MonoDevelop.Ide/MonoDevelop.Ide.Gui/HelpViewer.cs    
    2007-07-12 19:27:49 UTC (rev 81895)
+++ 
trunk/monodevelop/Core/src/MonoDevelop.Ide/MonoDevelop.Ide.Gui/HelpViewer.cs    
    2007-07-12 19:30:47 UTC (rev 81896)
@@ -12,7 +12,7 @@
 
        public class HelpViewer : AbstractViewContent
        {
-               HTML html_viewer = new HTML ();
+               HTML html_viewer;
 
                ScrolledWindow scroller = new ScrolledWindow ();
 
@@ -30,10 +30,16 @@
 
                public HelpViewer ()
                {
-                       html_viewer.LinkClicked += new LinkClickedHandler 
(LinkClicked);
-                       html_viewer.UrlRequested += new UrlRequestedHandler 
(UrlRequested);
-                       html_viewer.OnUrl += new OnUrlHandler (OnUrl);
-                       scroller.Add (html_viewer);
+                       try {
+                               html_viewer = new HTML ();
+                               html_viewer.LinkClicked += new 
LinkClickedHandler (LinkClicked);
+                               html_viewer.UrlRequested += new 
UrlRequestedHandler (UrlRequested);
+                               html_viewer.OnUrl += new OnUrlHandler (OnUrl);
+                               scroller.Add (html_viewer);
+                       } catch (Exception ex) {
+                               Label lab = new Label (GettextCatalog.GetString 
("The help viewer could not be loaded.") + "\n\n" + ex.GetType() + ": " + 
ex.Message);
+                               scroller.Add (lab);
+                       }
                        Control.ShowAll ();
                }
 
@@ -67,6 +73,9 @@
  
                public void LoadUrl (string url)
                {
+                       if (html_viewer == null)
+                               return;
+                       
                        if (url.StartsWith("#"))
                        {
                                html_viewer.JumpToAnchor(url.Substring(1));
@@ -83,6 +92,9 @@
                
                public void Render (string text, Node matched_node, string url)
                {
+                       if (html_viewer == null)
+                               return;
+                       
                        Gtk.HTMLStream stream = html_viewer.Begin ("text/html");
                        
                        stream.Write ("<html><body>");

_______________________________________________
Mono-patches maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches

Reply via email to