Removed ambiguous OpenGL overloads, because they confuse languages that don't distinguish between pass-by-reference and pass-by-value in the call-site (e.g. VB.Net). This affects functions that can take a single parameter either by reference or by value.

This commit is contained in:
the_fiddler 2009-05-21 23:34:20 +00:00
parent 7c95a25c52
commit 11fbdbf403
3 changed files with 10 additions and 3550 deletions

View file

@ -357,6 +357,7 @@ namespace Bind.Structures
{
foreach (List<Function> wrappers in Function.Wrappers.Values)
{
restart:
for (int i = 0; i < wrappers.Count; i++)
{
for (int j = i + 1; j < wrappers.Count; j++)
@ -382,9 +383,14 @@ namespace Bind.Structures
if (k == wrappers[i].Parameters.Count)
{
if (function_i_is_problematic)
wrappers[i].CLSCompliant = false;
wrappers.RemoveAt(i);
//wrappers[i].CLSCompliant = false;
if (function_j_is_problematic)
wrappers[j].CLSCompliant = false;
wrappers.RemoveAt(j);
//wrappers[j].CLSCompliant = false;
if (function_i_is_problematic || function_j_is_problematic)
goto restart;
}
}
}

File diff suppressed because it is too large Load diff

View file

@ -661,7 +661,7 @@ namespace OpenTK.Graphics
public static void Material(MaterialFace face, MaterialParameter pname, Vector4 @params)
{
Material(face, pname, ref @params.X);
unsafe { Material(face, pname, (float*)&@params.X); }
}
public static void Material(MaterialFace face, MaterialParameter pname, Color4 @params)
@ -675,7 +675,7 @@ namespace OpenTK.Graphics
public static void Light(LightName name, LightParameter pname, Vector4 @params)
{
GL.Light(name, pname, ref @params.X);
unsafe { GL.Light(name, pname, (float*)&@params.X); }
}
public static void Light(LightName name, LightParameter pname, Color4 @params)