{
// It doesn't make sense to allow undo through a size change.
- gdk_threads_leave();
- delete plot_prev;
+ Plot3Plot *del1 = plot_prev, *del2 = plot;
plot_prev = 0;
- delete plot;
plot = 0;
+ gdk_threads_leave();
+ delete del1;
+ delete del2;
gdk_threads_enter();
}
void MainWindow::plot_complete()
{
+ gdk_threads_enter();
+ real_plot_complete();
+ gdk_threads_leave();
+}
+
+void MainWindow::real_plot_complete()
+{
struct timeval tv_after, tv_diff;
- gdk_threads_enter();
+ if (!plot) return;
+
progbar->pulse();
gettimeofday(&tv_after,0);
queue_draw();
gdk_flush();
- gdk_threads_leave();
}
void MainWindow::recolour()