IDE: fixed catching excepions on load/save editor macros

git-svn-id: trunk@45876 -
This commit is contained in:
mattias 2014-07-15 10:12:04 +00:00
parent 08732d323f
commit b3adaef7a3

View File

@ -5,12 +5,15 @@ unit EditorMacroListViewer;
interface interface
uses uses
Classes, SysUtils, FileUtil, Laz2_XMLCfg, LazUTF8, SynMacroRecorder, SynEdit, Classes, SysUtils,
SynEditKeyCmds, FileProcs, Forms, Controls, Dialogs, StdCtrls, ButtonPanel, FileUtil, Laz2_XMLCfg, LazUTF8, LazLoggerBase,
ComCtrls, ExtCtrls, Spin, Menus, LCLType, IDEWindowIntf, IDEImagesIntf, LCLType, Forms, Controls, Dialogs, StdCtrls, ButtonPanel, ComCtrls, ExtCtrls,
Spin, Menus,
SynMacroRecorder, SynEdit, SynEditKeyCmds,
IDEWindowIntf, IDEImagesIntf, SrcEditorIntf, IDEHelpIntf, IDECommands,
LazIDEIntf,
LazarusIDEStrConsts, ProjectDefs, LazConf, Project, KeyMapping, LazarusIDEStrConsts, ProjectDefs, LazConf, Project, KeyMapping,
KeyMapShortCutDlg, MainIntf, SrcEditorIntf, IDEHelpIntf, IDECommands, KeyMapShortCutDlg, MainIntf, IDEDialogs;
LazIDEIntf, IDEDialogs;
type type
TSynEditorMacro = class(TSynMacroRecorder) end; TSynEditorMacro = class(TSynMacroRecorder) end;
@ -353,14 +356,20 @@ var
XMLConfig: TXMLConfig; XMLConfig: TXMLConfig;
begin begin
MacroListViewer.FIgnoreMacroChanges := True; MacroListViewer.FIgnoreMacroChanges := True;
Filename := TrimFilename(AppendPathDelim(GetPrimaryConfigPath)+GlobalConfFileName);
try try
Filename := TrimFilename(AppendPathDelim(GetPrimaryConfigPath)+GlobalConfFileName);
XMLConfig := TXMLConfig.Create(Filename); XMLConfig := TXMLConfig.Create(Filename);
EditorMacroListGlob.ReadFromXmlConf(XMLConfig, ''); try
XMLConfig.Free; EditorMacroListGlob.ReadFromXmlConf(XMLConfig, '');
finally finally
MacroListViewer.FIgnoreMacroChanges := False; XMLConfig.Free;
end;
except
on E: Exception do begin
DebugLn('[EditorMacroListViewer.LoadGlobalInfo] error reading "',Filename,'": ',E.Message);
end;
end; end;
MacroListViewer.FIgnoreMacroChanges := False;
end; end;
procedure SaveGlobalInfo; procedure SaveGlobalInfo;
@ -369,9 +378,18 @@ var
XMLConfig: TXMLConfig; XMLConfig: TXMLConfig;
begin begin
Filename := TrimFilename(AppendPathDelim(GetPrimaryConfigPath)+GlobalConfFileName); Filename := TrimFilename(AppendPathDelim(GetPrimaryConfigPath)+GlobalConfFileName);
XMLConfig := TXMLConfig.CreateClean(Filename); try
EditorMacroListGlob.WriteToXmlConf(XMLConfig, ''); XMLConfig := TXMLConfig.CreateClean(Filename);
XMLConfig.Free; try
EditorMacroListGlob.WriteToXmlConf(XMLConfig, '');
finally
XMLConfig.Free;
end;
except
on E: Exception do begin
DebugLn('[EditorMacroListViewer.SaveGlobalInfo] error writing "',Filename,'": ',E.Message);
end;
end;
end; end;
{ TIdeEditorMacroKeyBinding } { TIdeEditorMacroKeyBinding }