From e329430d28a1ba22be77f38d36075a497883978c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miskolczi=20Rich=C3=A1rd?= Date: Wed, 17 Sep 2025 09:02:22 +0200 Subject: [PATCH] Packed MainWindow.xml into assembly to prevent runtime modification --- App/App.csproj | 4 +--- App/UI/MainWindow.cs | 8 +++++++- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/App/App.csproj b/App/App.csproj index 31654df..a36c36b 100644 --- a/App/App.csproj +++ b/App/App.csproj @@ -12,9 +12,7 @@ - - PreserveNewest - + diff --git a/App/UI/MainWindow.cs b/App/UI/MainWindow.cs index 86ebf8a..ef26f87 100644 --- a/App/UI/MainWindow.cs +++ b/App/UI/MainWindow.cs @@ -6,7 +6,13 @@ public class MainWindow public MainWindow() { - var builder = Gtk.Builder.NewFromFile("UI/MainWindow.xml"); + var assembly = typeof(MainWindow).Assembly; + using var stream = assembly.GetManifestResourceStream("App.UI.MainWindow.xml"); + if (stream == null) + throw new Exception("Failed to load embedded resource MainWindow.xml"); + using var reader = new System.IO.StreamReader(stream); + var xml = reader.ReadToEnd(); + var builder = Gtk.Builder.NewFromString(xml, -1); var window = builder.GetObject("main_window") as Adw.Window; if (window == null) throw new Exception("Failed to load main_window from MainWindow.ui");