From 8b998861e17c544bc4cb62b3f002158e6e7bd929 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9s=20G=2E=20Aragoneses?= Date: Sat, 12 Oct 2013 22:04:25 +0200 Subject: [PATCH] Convert some dynamic casts to static casts There is no null check after these casts so if they fail they would generate a NullReferenceException. By changing them to static casts we would get a InvalidCastException which are much less misleading. --- generator/GObjectVM.cs | 2 +- glib/ToggleRef.cs | 4 ++-- glib/Value.cs | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/generator/GObjectVM.cs b/generator/GObjectVM.cs index 00ae03428..07dc2f43d 100644 --- a/generator/GObjectVM.cs +++ b/generator/GObjectVM.cs @@ -81,7 +81,7 @@ namespace GtkSharp.Generation { VMCodeType CodeType { get { - if (!(container_type as ObjectBase).CanGenerateClassStruct || force_glue_generation) { + if (!((ObjectBase)container_type).CanGenerateClassStruct || force_glue_generation) { if (BlockGlue) return VMCodeType.None; else diff --git a/glib/ToggleRef.cs b/glib/ToggleRef.cs index d133a0218..477dea26b 100644 --- a/glib/ToggleRef.cs +++ b/glib/ToggleRef.cs @@ -52,7 +52,7 @@ namespace GLib { else if (reference is GLib.Object) return reference as GLib.Object; - WeakReference weak = reference as WeakReference; + WeakReference weak = (WeakReference)reference; return weak.Target as GLib.Object; } } @@ -108,7 +108,7 @@ namespace GLib { { try { GCHandle gch = (GCHandle) data; - ToggleRef tref = gch.Target as ToggleRef; + ToggleRef tref = (ToggleRef)gch.Target; tref.Toggle (is_last_ref); } catch (Exception e) { ExceptionManager.RaiseUnhandledException (e, false); diff --git a/glib/Value.cs b/glib/Value.cs index 9b8b93745..c3a39d19d 100755 --- a/glib/Value.cs +++ b/glib/Value.cs @@ -534,7 +534,7 @@ namespace GLib { if(value is GLib.Object) g_value_set_object (ref this, (value as GLib.Object).Handle); else - g_value_set_object (ref this, (value as GLib.GInterfaceAdapter).Handle); + g_value_set_object (ref this, ((GInterfaceAdapter)value).Handle); else if (GType.Is (type, GType.Boxed)) { if (value is IWrapper) { g_value_set_boxed (ref this, ((IWrapper)value).Handle);