Incorrect(?) sanity check in DynamicSignal.cs
I may have found a clerical mistake in DynamicSignal.cs, line 406 ...
Before emitting a signal, there is a sanity check that makes sure the passed args have the correct type for the signal.
If an arg's type matches exactly, everything is fine. If an arg's type is a subclass of the expected type, an exception gets thrown; I don't think this is intended?
Shouldn't it be something like this?
--- a/sources/custom/DynamicSignal.cs
+++ b/sources/custom/DynamicSignal.cs
@@ -403,7 +403,7 @@ namespace Gst
Type expected_type = (Type)query.param_types [i];
Type given_type = parameters [i].GetType ();
- if (expected_type != given_type && !given_type.IsSubclassOf (given_type))
+ if (expected_type != given_type && !given_type.IsSubclassOf (expected_type))
throw new ApplicationException (String.Format ("Invalid parameter type: expected {0}, got {1}", expected_type, given_type));
signal_parameters [i + 1] = new GLib.Value (parameters [i]);