MATLAB: Export_fig generates figure even after pressing cancel

cancel buttonexport_figMATLAB

following is the code i use to save the figure in required format, but it produces figure even after pressing cancel button. How do i suppress this execution?
function pushbuttonsaveplot_Callback(hObject, eventdata, handles)
% hObject handle to pushbuttonsaveplot (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
[filename, pathname, filterindex] = uiputfile({'*.jpg','JPEG image (*.jpg)';...
'*.fig','MATLAB Figure (*.fig)';...
'*.png','Portable Network Graphics file (*.png)';...
'*.bmp','Bitmap file (*.bmp)';...
'*.eps','EPS file (*.eps)';...
'*.pdf','PDF (*.pdf)'}, 'Save Plot As', 'plot.jpg');
export_fig(filename, handles.Plot, '-m2');
end

Best Answer

Before calling export_fig,
if ~ischar(filename)
return; %user cancel
end