X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;ds=sidebyside;f=synfig-studio%2Ftrunk%2Fsrc%2Fgtkmm%2Fcanvasview.cpp;h=718a90b10f199d9b6911595c793ebeebe0a570b1;hb=681ba239b16079acc1bd2eebb7e1d7c24927ba50;hp=93381d495adf024a907ab9eb65f418465d1b8440;hpb=05903bd0db81b0db98639258d32cfcde302e4a9b;p=synfig.git diff --git a/synfig-studio/trunk/src/gtkmm/canvasview.cpp b/synfig-studio/trunk/src/gtkmm/canvasview.cpp index 93381d4..718a90b 100644 --- a/synfig-studio/trunk/src/gtkmm/canvasview.cpp +++ b/synfig-studio/trunk/src/gtkmm/canvasview.cpp @@ -796,6 +796,13 @@ CanvasView::CanvasView(etl::loose_handle instance,etl::handlerend_desc().get_h()+70; while(w>700 || h>600) { + // Minor hack: + // zoom_out() => + // WorkArea::async_update_preview() => + // WorkArea::set_zoom(float) => + // WorkArea::async_update_preview() => + // desc.set_time(cur_time), where cur_time isn't initialised + work_area->set_time(0); work_area->zoom_out(); w=round_to_int(get_canvas()->rend_desc().get_w()*work_area->get_zoom()+70); h=round_to_int(get_canvas()->rend_desc().get_h()*work_area->get_zoom()+70); @@ -905,6 +912,10 @@ CanvasView::~CanvasView() hide(); + // don't be calling on_dirty_preview once this object has been deleted; + // this was causing a crash before + canvas_interface()->signal_dirty_preview().clear(); + synfig::info("CanvasView:~CanvasView(): Destructor Finished"); }