Browse Source

Use correct CharSet for WNDCLASSEX

And prepend `Avalonia-` to window class. Looking in Spy++ I noticed that our window class name was garbage because the `CharSet` on `WNDCLASSEX` was wrong. Fix that and include "Avalonia" in our window classes.
pull/1355/head
Steven Kirk 8 years ago
parent
commit
79f35161be
  1. 1
      src/Windows/Avalonia.Win32/Embedding/EmbeddedWindowImpl.cs
  2. 2
      src/Windows/Avalonia.Win32/Interop/UnmanagedMethods.cs
  3. 2
      src/Windows/Avalonia.Win32/WindowImpl.cs

1
src/Windows/Avalonia.Win32/Embedding/EmbeddedWindowImpl.cs

@ -4,7 +4,6 @@
using System;
using System.ComponentModel;
using System.Runtime.InteropServices;
using System.Windows.Forms;
using Avalonia.Platform;
using Avalonia.Win32.Interop;

2
src/Windows/Avalonia.Win32/Interop/UnmanagedMethods.cs

@ -1098,7 +1098,7 @@ namespace Avalonia.Win32.Interop
}
}
[StructLayout(LayoutKind.Sequential)]
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
public struct WNDCLASSEX
{
public int cbSize;

2
src/Windows/Avalonia.Win32/WindowImpl.cs

@ -641,7 +641,7 @@ namespace Avalonia.Win32
// Ensure that the delegate doesn't get garbage collected by storing it as a field.
_wndProcDelegate = new UnmanagedMethods.WndProc(WndProc);
_className = Guid.NewGuid().ToString();
_className = "Avalonia-" + Guid.NewGuid();
UnmanagedMethods.WNDCLASSEX wndClassEx = new UnmanagedMethods.WNDCLASSEX
{

Loading…
Cancel
Save