Skip to content

Commit a88c1be

Browse files
authored
Ensure we allocate enough bytes for non-ASCII strings (#736) (#761)
* Ensure we allocate enough bytes for non-ASCII strings (#736) * Add lab project to solution
1 parent 9ef3457 commit a88c1be

File tree

4 files changed

+35
-1
lines changed

4 files changed

+35
-1
lines changed

Silk.NET.sln

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -472,6 +472,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PrototypeStructChaining.Tes
472472
EndProject
473473
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Silk.NET.Vulkan.Tests", "src\Vulkan\Silk.NET.Vulkan.Tests\Silk.NET.Vulkan.Tests.csproj", "{225BA79C-36FE-421A-85E4-D15F8B61869B}"
474474
EndProject
475+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NonAsciiWindow", "src\Lab\Experiments\NonAsciiWindow\NonAsciiWindow.csproj", "{2517B906-4B93-4B5F-8D18-AFB2BAB26121}"
476+
EndProject
475477
Global
476478
GlobalSection(SolutionConfigurationPlatforms) = preSolution
477479
Debug|Any CPU = Debug|Any CPU
@@ -2833,6 +2835,18 @@ Global
28332835
{225BA79C-36FE-421A-85E4-D15F8B61869B}.Release|x64.Build.0 = Release|Any CPU
28342836
{225BA79C-36FE-421A-85E4-D15F8B61869B}.Release|x86.ActiveCfg = Release|Any CPU
28352837
{225BA79C-36FE-421A-85E4-D15F8B61869B}.Release|x86.Build.0 = Release|Any CPU
2838+
{2517B906-4B93-4B5F-8D18-AFB2BAB26121}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
2839+
{2517B906-4B93-4B5F-8D18-AFB2BAB26121}.Debug|Any CPU.Build.0 = Debug|Any CPU
2840+
{2517B906-4B93-4B5F-8D18-AFB2BAB26121}.Debug|x64.ActiveCfg = Debug|Any CPU
2841+
{2517B906-4B93-4B5F-8D18-AFB2BAB26121}.Debug|x64.Build.0 = Debug|Any CPU
2842+
{2517B906-4B93-4B5F-8D18-AFB2BAB26121}.Debug|x86.ActiveCfg = Debug|Any CPU
2843+
{2517B906-4B93-4B5F-8D18-AFB2BAB26121}.Debug|x86.Build.0 = Debug|Any CPU
2844+
{2517B906-4B93-4B5F-8D18-AFB2BAB26121}.Release|Any CPU.ActiveCfg = Release|Any CPU
2845+
{2517B906-4B93-4B5F-8D18-AFB2BAB26121}.Release|Any CPU.Build.0 = Release|Any CPU
2846+
{2517B906-4B93-4B5F-8D18-AFB2BAB26121}.Release|x64.ActiveCfg = Release|Any CPU
2847+
{2517B906-4B93-4B5F-8D18-AFB2BAB26121}.Release|x64.Build.0 = Release|Any CPU
2848+
{2517B906-4B93-4B5F-8D18-AFB2BAB26121}.Release|x86.ActiveCfg = Release|Any CPU
2849+
{2517B906-4B93-4B5F-8D18-AFB2BAB26121}.Release|x86.Build.0 = Release|Any CPU
28362850
EndGlobalSection
28372851
GlobalSection(SolutionProperties) = preSolution
28382852
HideSolutionNode = FALSE
@@ -3061,6 +3075,7 @@ Global
30613075
{EEFF37DA-E4F2-406E-AF97-8615BB7BC34C} = {B15922CB-815C-4038-B635-EE2D8A8F700B}
30623076
{BD19250B-E143-4F4E-9E1D-18829CCB3642} = {B15922CB-815C-4038-B635-EE2D8A8F700B}
30633077
{225BA79C-36FE-421A-85E4-D15F8B61869B} = {E2ABDF45-C329-47B2-8E09-B7298E2557F7}
3078+
{2517B906-4B93-4B5F-8D18-AFB2BAB26121} = {39B598E9-44BA-4A61-A1BB-7C543734DBA6}
30643079
EndGlobalSection
30653080
GlobalSection(ExtensibilityGlobals) = postSolution
30663081
SolutionGuid = {F5273D7F-3334-48DF-94E3-41AE6816CD4D}

src/Core/Silk.NET.Core/Native/SilkMarshal.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,7 @@ public static GlobalMemory StringToMemory
134134
return BStrToMemory(Marshal.StringToBSTR(input), input.Length);
135135
}
136136

137-
var memory = GlobalMemory.Allocate(GetMaxSizeOf(input));
137+
var memory = GlobalMemory.Allocate(GetMaxSizeOf(input, encoding));
138138
StringIntoSpan(input, memory.AsSpan<byte>(), encoding);
139139
return memory;
140140
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
<Project Sdk="Microsoft.NET.Sdk">
2+
3+
<PropertyGroup>
4+
<OutputType>Exe</OutputType>
5+
<TargetFramework>net6.0</TargetFramework>
6+
<ImplicitUsings>enable</ImplicitUsings>
7+
<Nullable>enable</Nullable>
8+
</PropertyGroup>
9+
10+
<ItemGroup>
11+
<ProjectReference Include="..\..\..\Windowing\Silk.NET.Windowing\Silk.NET.Windowing.csproj" />
12+
</ItemGroup>
13+
14+
</Project>
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+

2+
using Silk.NET.Windowing;
3+
4+
using var window = Window.Create(WindowOptions.Default with {Title = "ꞵ"});
5+
window.Run();

0 commit comments

Comments
 (0)