X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-studio%2Ftrunk%2Fsrc%2Fgtkmm%2Finstance.cpp;h=0c0f7ac28d1df8fde5b7898fce99f8b0fadcb001;hb=d07cf2aeaf95ac90d7eca16ab39a4c4bda9743e6;hp=9ac76fbe1631a4418dc3362139024249bbd8419a;hpb=f1ca5b422d1978374ea49b1d66dd060724065b1a;p=synfig.git diff --git a/synfig-studio/trunk/src/gtkmm/instance.cpp b/synfig-studio/trunk/src/gtkmm/instance.cpp index 9ac76fb..0c0f7ac 100644 --- a/synfig-studio/trunk/src/gtkmm/instance.cpp +++ b/synfig-studio/trunk/src/gtkmm/instance.cpp @@ -643,9 +643,17 @@ Instance::safe_revert() bool Instance::safe_close() { - handle uim; - uim=find_canvas_view(get_canvas())->get_ui_interface(); + handle canvas_view = find_canvas_view(get_canvas()); + handle uim=canvas_view->get_ui_interface(); + // if the animation is currently playing, closing the window will cause a crash, + // so don't allow it + if (canvas_view->is_playing()) + { + canvas_view->present(); + App::dialog_error_blocking("Close Error", "The animation is currently playing so the window cannot be closed."); + return false; + } if(get_action_count()) do {