Beamer Custom ToC no funciona como se esperaba

Beamer Custom ToC no funciona como se esperaba

Hackeé una tabla de marcos para proyector y tuve una situación extraña que no entiendo.

\documentclass{beamer}

\makeatletter
\newcommand\listofframes{\@starttoc{lbf}}
\makeatother

\setbeamertemplate{background}{
  \addcontentsline{lbf}{section}{\protect\insertframetitle}
}

\begin{document}

\begin{frame}[allowframebreaks]{Title1}
Some text1
\end{frame}

\begin{frame}[allowframebreaks]{Title2}
Some text2
\end{frame}

\setbeamertemplate{background}{}

\begin{frame}[allowframebreaks]{List}
\listofframes
\end{frame}

\end{document}

Las dos entradas de la lista son "Lista 1" y "Lista 1", mientras que deberían ser "Título 1" y "Título 2".

Si elimino el \protect, aparece un mensaje de error extraño:

! Argument of \XC@col@rlet has an extra }.
<inserted text> 
                \par 
l.15 \end{frame}
                
I've run across a `}' that doesn't seem to match anything.
For example, `\def\a#1{...}' and `\a}' would produce
this error. If you simply proceed now, the `\par' that
I've just inserted will cause me to report a runaway
argument that might be the root of the problem. But if
your `}' was spurious, just type `2' and it will go away.

Qué¿Va mal aquí?

Nota 1:Parece que estos ejemplos mínimos ofensivos dependen de manera crucial de una gran cantidad de detalles. Por ejemplo, si elimino el allowframebreaksen las dos primeras diapositivas, todo está bien (siempre que también elimine el \protect; si lo dejo, obtengo las entradas incorrectas).

Nota 2:Utilizo la plantilla de fondo ya que solo se llama a esta plantilla en todas las diapositivas de continuación; pasar al título del marco no es una opción.

información relacionada