diff options
Diffstat (limited to 'main/src/core/MonoDevelop.Ide/MonoDevelop.Components/Control.cs')
-rw-r--r-- | main/src/core/MonoDevelop.Ide/MonoDevelop.Components/Control.cs | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Components/Control.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Components/Control.cs index dda73fc351..2cd9d466c5 100644 --- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Components/Control.cs +++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Components/Control.cs @@ -43,6 +43,8 @@ namespace MonoDevelop.Components public Control (object widget) { + if (widget == null) + throw new ArgumentNullException ("widget"); this.nativeWidget = widget; } @@ -63,7 +65,9 @@ namespace MonoDevelop.Components if (!(w is T)) w = ConvertToType (typeof(T), w); if (w is Gtk.Widget) { - var c = new CommandRouterContainer ((Gtk.Widget)w, this, true); + var gtkWidget = (Gtk.Widget)w; + var c = new CommandRouterContainer (gtkWidget, this, true); + c.FocusChain = new [] { gtkWidget }; c.Show (); nativeWidget = c; c.Destroyed += delegate { |