From 66d6ee422e450ba7e6c050a8ea90db257bc93649 Mon Sep 17 00:00:00 2001 From: Teun van den Brand <49372158+teunbrand@users.noreply.github.com> Date: Tue, 28 Jan 2025 13:27:38 +0100 Subject: [PATCH] repair names that might have become lost (#6298) --- R/plot-construction.R | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/R/plot-construction.R b/R/plot-construction.R index b021b630e9..cd18fc8310 100644 --- a/R/plot-construction.R +++ b/R/plot-construction.R @@ -195,13 +195,20 @@ ggplot_add.by <- function(object, plot, object_name) { #' @export ggplot_add.Layer <- function(object, plot, object_name) { - layers_names <- new_layer_names(object, names(plot$layers)) + layers_names <- new_layer_names(object, names2(plot$layers)) plot$layers <- append(plot$layers, object) names(plot$layers) <- layers_names plot } new_layer_names <- function(layer, existing) { + + empty <- !nzchar(existing) + if (any(empty)) { + existing[empty] <- "unknown" + existing <- vec_as_names(existing, repair = "unique", quiet = TRUE) + } + new_name <- layer$name if (is.null(new_name)) { # Construct a name from the layer's call