diff --git a/Plugins/API/Rainmeter.cs b/Plugins/API/Rainmeter.cs index 8ae96cc0..1da56d12 100644 --- a/Plugins/API/Rainmeter.cs +++ b/Plugins/API/Rainmeter.cs @@ -56,13 +56,6 @@ namespace Rainmeter [DllImport("Rainmeter.dll", CharSet = CharSet.Auto, CallingConvention = CallingConvention.Cdecl)] private extern static unsafe int LSLog(int type, char* unused, char* message); - private enum RmGetType - { - MeasureName = 0, - Skin = 1, - SettingsFile = 2 - } - public enum LogType { Error = 1, @@ -92,18 +85,25 @@ namespace Rainmeter public unsafe int ReadInt(string option, int defValue) { string value = ReadString(option, ""); - return Convert.ToInt32(value); + try + { + return Convert.ToInt32(value); + } + catch + { + return defValue; + } } public unsafe string GetMeasureName() { - char* value = (char*)RmGet((void*)m_Rm, (int)RmGetType.MeasureName); + char* value = (char*)RmGet((void*)m_Rm, 0); return new string(value); } public unsafe IntPtr GetSkin() { - return (IntPtr)RmGet((void*)m_Rm, (int)RmGetType.Skin); + return (IntPtr)RmGet((void*)m_Rm, 1); } public static unsafe void Execute(IntPtr skin, string command) diff --git a/Plugins/PluginExampleCS/Plugin.cs b/Plugins/PluginExampleCS/Plugin.cs index 11d98573..fa8fbf85 100644 --- a/Plugins/PluginExampleCS/Plugin.cs +++ b/Plugins/PluginExampleCS/Plugin.cs @@ -53,7 +53,7 @@ namespace ExampleCS /// /// Called when the measure settings must be (re)read. /// - internal void Reload(Rainmeter.API rm) + internal void Reload(Rainmeter.API rm, ref double maxValue) { // Examples: // string value = rm.ReadString("TestOption", "DefaultValue"); @@ -118,7 +118,7 @@ namespace ExampleCS public unsafe static void Reload(void* data, void* rm, double* maxValue) { IntPtr dataPtr = (IntPtr)data; - Measures[dataPtr].Reload(new Rainmeter.API((IntPtr)rm)); + Measures[dataPtr].Reload(new Rainmeter.API((IntPtr)rm), ref *maxValue); } #if ExportUpdate