@@ -339,7 +339,7 @@ def __init__(self, canvas):
339339 def save_figure (self , * args ):
340340 dialog = Gtk .FileChooserDialog (
341341 title = "Save the figure" ,
342- parent = self .canvas .get_toplevel (),
342+ transient_for = self .canvas .get_toplevel (),
343343 action = Gtk .FileChooserAction .SAVE ,
344344 buttons = (Gtk .STOCK_CANCEL , Gtk .ResponseType .CANCEL ,
345345 Gtk .STOCK_SAVE , Gtk .ResponseType .OK ),
@@ -371,16 +371,17 @@ def on_notify_filter(*args):
371371 fmt = self .canvas .get_supported_filetypes_grouped ()[ff .get_name ()][0 ]
372372 dialog .destroy ()
373373 if response != Gtk .ResponseType .OK :
374- return
374+ return None
375375 # Save dir for next time, unless empty str (which means use cwd).
376376 if mpl .rcParams ['savefig.directory' ]:
377377 mpl .rcParams ['savefig.directory' ] = os .path .dirname (fname )
378378 try :
379379 self .canvas .figure .savefig (fname , format = fmt )
380+ return fname
380381 except Exception as e :
381382 dialog = Gtk .MessageDialog (
382- parent = self .canvas .get_toplevel (), message_format = str (e ),
383- type = Gtk .MessageType .ERROR , buttons = Gtk .ButtonsType .OK )
383+ transient_for = self .canvas .get_toplevel (), text = str (e ),
384+ message_type = Gtk .MessageType .ERROR , buttons = Gtk .ButtonsType .OK )
384385 dialog .run ()
385386 dialog .destroy ()
386387
0 commit comments