diff --git a/src/dynare_gui.m b/src/dynare_gui.m index 8c40b359617718dbbb87281c68bb17721362bf95..6db79949e72749f47e9c7011d54116bdd4dd74ac 100644 --- a/src/dynare_gui.m +++ b/src/dynare_gui.m @@ -99,7 +99,7 @@ function project_new_Callback(hObject, ~, ~) global M_ oo_ options_ global project_info model_settings -%% Reset GUI data +% Reset GUI data if ~isempty(project_info) % Close existing project if isstruct(project_info) ... @@ -107,7 +107,7 @@ if ~isempty(project_info) && isfield(project_info, 'project_name') ... && ~isempty(project_info.project_name) try - gui_close_project(); + gui_close_project(true); catch end end @@ -182,7 +182,7 @@ if isstruct(project_info) ... && isfield(project_info, 'project_name') ... && ~isempty(project_info.project_name) try - gui_close_project(); + gui_close_project(true); catch end end @@ -192,7 +192,7 @@ end % -------------------------------------------------------------------- function project_close_Callback(~, ~, ~) -gui_close_project(); +gui_close_project(false); end % -------------------------------------------------------------------- diff --git a/src/gui_close_project.m b/src/gui_close_project.m index 24971c3393760d8408fae8756c8a089fbf083af8..530f65ec4ba9bff73f296c3212a75fadd98bb739 100644 --- a/src/gui_close_project.m +++ b/src/gui_close_project.m @@ -1,4 +1,4 @@ -function gui_close_project() +function gui_close_project(clear_dynare_vars) % function gui_close_project() % closes current project Dynare_GUI project file % @@ -11,7 +11,7 @@ function gui_close_project() % SPECIAL REQUIREMENTS % none -% Copyright (C) 2003-2019 Dynare Team +% Copyright (C) 2003-2020 Dynare Team % % This file is part of Dynare. % @@ -28,7 +28,7 @@ function gui_close_project() % You should have received a copy of the GNU General Public License % along with Dynare. If not, see <http://www.gnu.org/licenses/>. -global project_info model_settings +global project_info gui_tools.project_log_entry('Project Close', ['project_name = ' project_info.project_name '; project_folder=' project_info.project_folder]) @@ -47,10 +47,11 @@ gui_tabs.close_all(); %disable menu options gui_set_menus(false); -clearvars -global -evalin('global', 'clear M_ options_ oo_ estim_params_ bayestopt_ dataset_ dataset_info estimation_info ys0_ ex0_'); -evalin('global', 'clear project_info model_settings'); -clear_persistent_variables(fileparts(which('dynare')), true) +evalin('base', 'clear project_info model_settings'); +if clear_dynare_vars + evalin('base', 'clear M_ options_ oo_ estim_params_ bayestopt_ dataset_ dataset_info estimation_info ys0_ ex0_'); + clear_persistent_variables(fileparts(which('dynare')), true) +end % remove appdata if isappdata(0, 'estimation')