From 756a51b4bbfd1d9799cdf15eeb11d35857a4aa51 Mon Sep 17 00:00:00 2001 From: i3ym Date: Sat, 23 Jul 2022 00:51:15 +0700 Subject: [PATCH 1/2] Fix loading window icons on X11 --- src/Avalonia.X11/X11IconLoader.cs | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/src/Avalonia.X11/X11IconLoader.cs b/src/Avalonia.X11/X11IconLoader.cs index 36939f4103..e8bc9ac9d7 100644 --- a/src/Avalonia.X11/X11IconLoader.cs +++ b/src/Avalonia.X11/X11IconLoader.cs @@ -48,12 +48,6 @@ namespace Avalonia.X11 _width = Math.Min(bitmap.PixelSize.Width, 128); _height = Math.Min(bitmap.PixelSize.Height, 128); _bdata = new uint[_width * _height]; - fixed (void* ptr = _bdata) - { - var iptr = (int*)ptr; - iptr[0] = _width; - iptr[1] = _height; - } using(var rt = AvaloniaLocator.Current.GetService().CreateRenderTarget(new[]{this})) using (var ctx = rt.CreateDrawingContext(null)) ctx.DrawBitmap(bitmap.PlatformImpl, 1, new Rect(bitmap.Size), @@ -65,7 +59,7 @@ namespace Avalonia.X11 { var r = y * _width; for (var x = 0; x < _width; x++) - Data[r + x] = new UIntPtr(_bdata[r + x]); + Data[r + x + 2] = new UIntPtr(_bdata[r + x]); } _bdata = null; From 8ebcd4982a49e6b27b93a1cf4b9f94fe98c170d6 Mon Sep 17 00:00:00 2001 From: i3ym Date: Sat, 23 Jul 2022 16:37:45 +0700 Subject: [PATCH 2/2] Fix saving window icons on X11 --- src/Avalonia.X11/X11IconLoader.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Avalonia.X11/X11IconLoader.cs b/src/Avalonia.X11/X11IconLoader.cs index e8bc9ac9d7..0357fdd94e 100644 --- a/src/Avalonia.X11/X11IconLoader.cs +++ b/src/Avalonia.X11/X11IconLoader.cs @@ -80,7 +80,7 @@ namespace Avalonia.X11 var r = y * _width; var fbr = y * fb.RowBytes / 4; for (var x = 0; x < _width; x++) - fbp[fbr + x] = Data[r + x].ToUInt32(); + fbp[fbr + x] = Data[r + x + 2].ToUInt32(); } } wr.Save(outputStream);