diff --git a/xmloff/source/forms/elementimport.cxx b/xmloff/source/forms/elementimport.cxx index 49b32b8e4e60..43b1465f1d12 100644 --- a/xmloff/source/forms/elementimport.cxx +++ b/xmloff/source/forms/elementimport.cxx @@ -37,6 +37,7 @@ #include #include #include +#include #include #include #include @@ -587,6 +588,13 @@ namespace xmloff OStringBuffer("OElementImport::createElement: service factory gave me no object (service name: " + OUStringToOString(m_sServiceName, RTL_TEXTENCODING_ASCII_US) + ")!").getStr()); + // only use the created object when it is a form component + if (!Reference< XFormComponent >(xPure, UNO_QUERY).is()) + { + SAL_WARN("xmloff.forms", "OElementImport::createElement: " << m_sServiceName + << " is not a form component"); + return xReturn; + } xReturn.set(xPure, UNO_QUERY); if (auto const props = Reference(xPure, css::uno::UNO_QUERY)) {