From e3bef33b525eea7ec5da5cb876f47e7d40b82e70 Mon Sep 17 00:00:00 2001 From: regeszter Date: Wed, 22 Oct 2014 08:37:48 +0200 Subject: [PATCH] MP1-2538 : When_selected_skin_is_incompatible,_no_warning_is_given --- .../Dialogs/Dialogs/GUIDialogOldSkin.cs | 6 ++++-- mediaportal/MediaPortal.Application/D3D.cs | 4 ++-- .../MediaPortal.Application/MediaPortal.cs | 21 +++++-------------- 3 files changed, 11 insertions(+), 20 deletions(-) diff --git a/mediaportal/Dialogs/Dialogs/GUIDialogOldSkin.cs b/mediaportal/Dialogs/Dialogs/GUIDialogOldSkin.cs index 938685ea542..146af3c1cf6 100644 --- a/mediaportal/Dialogs/Dialogs/GUIDialogOldSkin.cs +++ b/mediaportal/Dialogs/Dialogs/GUIDialogOldSkin.cs @@ -153,13 +153,15 @@ public void RevertSkin() GUIGraphicsContext.Skin = _userSkin; GUITextureManager.Clear(); GUITextureManager.Init(); - GUIFontManager.LoadFonts(GUIGraphicsContext.Skin + @"\fonts.xml"); + SkinSettings.Load(); + GUIFontManager.LoadFonts(GUIGraphicsContext.GetThemedSkinFile(@"\fonts.xml")); GUIFontManager.InitializeDeviceObjects(); GUIExpressionManager.ClearExpressionCache(); GUIControlFactory.ClearReferences(); - GUIControlFactory.LoadReferences(GUIGraphicsContext.Skin + @"\references.xml"); + GUIControlFactory.LoadReferences(GUIGraphicsContext.GetThemedSkinFile(@"\references.xml")); GUIWindowManager.OnResize(); //GUIWindowManager.ActivateWindow(ActiveWindowID); + using (Settings xmlreader = new MPSettings()) { xmlreader.SetValue("general", "skinobsoletecount", 0); diff --git a/mediaportal/MediaPortal.Application/D3D.cs b/mediaportal/MediaPortal.Application/D3D.cs index 95cfb3be771..99704d6620e 100644 --- a/mediaportal/MediaPortal.Application/D3D.cs +++ b/mediaportal/MediaPortal.Application/D3D.cs @@ -2087,8 +2087,8 @@ protected override void OnPaint(PaintEventArgs e) { Thread.Sleep(20); } while (!SplashScreen.IsStopped()); - SplashScreen = null; - + SplashScreen = null; + MediaPortalApp.ShowStartupWarningDialogs(); } if (MinimizeOnStartup && _firstTimeWindowDisplayed) diff --git a/mediaportal/MediaPortal.Application/MediaPortal.cs b/mediaportal/MediaPortal.Application/MediaPortal.cs index 44f1df14766..547f24f5797 100644 --- a/mediaportal/MediaPortal.Application/MediaPortal.cs +++ b/mediaportal/MediaPortal.Application/MediaPortal.cs @@ -111,7 +111,7 @@ public class MediaPortalApp : D3D, IRender private static string _alternateConfig; private static string _safePluginsList; private string _dateFormat; - private string _outdatedSkinName; + private static string _outdatedSkinName; private static DateTime _lastOnresume; private DateTime _updateTimer; private DateTime _lastContextMenuAction; @@ -2669,10 +2669,6 @@ protected override void OnStartup() Log.Error("MediaPortalApp: Error setting date and time properties - {0}", ex.Message); } - if (_outdatedSkinName != null || PluginManager.IncompatiblePluginAssemblies.Count > 0 || PluginManager.IncompatiblePlugins.Count > 0) - { - GUIWindowManager.SendThreadCallback(ShowStartupWarningDialogs, 0, 0, null); - } Log.Debug("Main: Auto play start listening"); AutoPlay.StartListening(); @@ -2737,15 +2733,7 @@ private void RegisterForDeviceNotifications() } } - - /// - /// - /// - /// - /// - /// - /// - private int ShowStartupWarningDialogs(int param1, int param2, object data) + public static void ShowStartupWarningDialogs() { // If skin is outdated it may not have a skin file for this dialog but user may choose to use it anyway // So show incompatible plugins dialog first (possibly using default skin) @@ -2758,14 +2746,15 @@ private int ShowStartupWarningDialogs(int param1, int param2, object data) if (_outdatedSkinName != null) { var dlg = (GUIDialogOldSkin)GUIWindowManager.GetWindow((int)GUIWindow.Window.WINDOW_DIALOG_OLD_SKIN); + dlg.UserSkin = _outdatedSkinName; + _outdatedSkinName = null; dlg.DoModal(GUIWindowManager.ActiveWindow); } - return 0; + return; } - /// /// Load string_xx.xml based on config ///