include/vcl/builder.hxx | 11 +++++++++-- vcl/source/window/builder.cxx | 2 +- 2 files changed, 10 insertions(+), 3 deletions(-)
New commits: commit 9041dac37f912a6f183be9f6b6558f1ef44280c0 Author: Stephan Bergmann <sberg...@redhat.com> Date: Tue Apr 30 22:57:50 2013 +0200 Blind fix for MSVC ...preventing full instantiation of boost::ptr_map<OUString,osl::Module> (which fails because osl::Module is not copy-constructible) which MSVC thinks is necessary if that template instantiation inherits the VCL_DLLPUBLIC from the VclBuilder class that uses it. Change-Id: I8cd5608c80d7ce9b12ba678430f5ef283a427e93 diff --git a/include/vcl/builder.hxx b/include/vcl/builder.hxx index ff72766..fff53c3 100644 --- a/include/vcl/builder.hxx +++ b/include/vcl/builder.hxx @@ -30,17 +30,24 @@ class DateField; class TimeField; class VclMultiLineEdit; +namespace vcl { namespace detail { + +class SAL_DLLPUBLIC_TEMPLATE ModuleMap: + public boost::ptr_map<OUString, osl::Module> +{}; + +} } + class VCL_DLLPUBLIC VclBuilder { public: typedef std::map<OString, OString> stringmap; typedef Window* (*customMakeWidget)(Window *pParent, stringmap &rVec); private: - typedef boost::ptr_map<OUString, osl::Module> ModuleMap; //We store these until the builder is deleted, that way we can use the //ui-previewer on custom widgets and guarantee the modules they are from //exist for the duration of the dialog - ModuleMap m_aModuleMap; + vcl::detail::ModuleMap m_aModuleMap; struct PackingData { diff --git a/vcl/source/window/builder.cxx b/vcl/source/window/builder.cxx index 1cf5b8b..a879eb3 100644 --- a/vcl/source/window/builder.cxx +++ b/vcl/source/window/builder.cxx @@ -1215,7 +1215,7 @@ Window *VclBuilder::makeObject(Window *pParent, const OString &name, const OStri OUString sFunction(OStringToOUString(OString("make") + name.copy(nDelim+1), RTL_TEXTENCODING_UTF8)); #ifndef DISABLE_DYNLOADING OUString sModule = sModuleBuf.makeStringAndClear(); - ModuleMap::iterator aI = m_aModuleMap.find(sModule); + vcl::detail::ModuleMap::iterator aI = m_aModuleMap.find(sModule); osl::Module* pModule = NULL; if (aI == m_aModuleMap.end()) { _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits