diff --git a/NEWS.md b/NEWS.md index 19cdf00f9b..aa99d1d8fe 100644 --- a/NEWS.md +++ b/NEWS.md @@ -6,6 +6,9 @@ * Data is no longer internally reordered when faceting. This makes it safer to feed data columns into `aes()` or into parameters of geoms or stats. However, doing so remains discouraged (@clauswilke). + +* `ggsave()` now exits without creating a new graphics device if previously + none was open (@clauswilke, #2363). # ggplot2 3.0.0 diff --git a/R/save.r b/R/save.r index b31fd4d5e3..4b15eddc6a 100644 --- a/R/save.r +++ b/R/save.r @@ -58,7 +58,7 @@ ggsave <- function(filename, plot = last_plot(), dev(filename = filename, width = dim[1], height = dim[2], ...) on.exit(utils::capture.output({ grDevices::dev.off() - grDevices::dev.set(old_dev) + if (old_dev > 1) grDevices::dev.set(old_dev) # restore old device unless null device })) grid.draw(plot)