diff options
Diffstat (limited to 'vcl/source')
-rw-r--r-- | vcl/source/window/builder.cxx | 5 | ||||
-rw-r--r-- | vcl/source/window/dialog.cxx | 12 |
2 files changed, 15 insertions, 2 deletions
diff --git a/vcl/source/window/builder.cxx b/vcl/source/window/builder.cxx index 4cc571f21174..4cea57f7afe0 100644 --- a/vcl/source/window/builder.cxx +++ b/vcl/source/window/builder.cxx @@ -1376,9 +1376,10 @@ void VclBuilder::setDeferredProperties() { if (!m_bToplevelHasDeferredProperties) return; - set_properties(m_pParent, m_aDeferredProperties); - m_aDeferredProperties.clear(); + stringmap aDeferredProperties; + aDeferredProperties.swap(m_aDeferredProperties); m_bToplevelHasDeferredProperties = false; + set_properties(m_pParent, aDeferredProperties); } void VclBuilder::set_properties(Window *pWindow, const stringmap &rProps) diff --git a/vcl/source/window/dialog.cxx b/vcl/source/window/dialog.cxx index 8466ab2c5057..aca80f1b3f50 100644 --- a/vcl/source/window/dialog.cxx +++ b/vcl/source/window/dialog.cxx @@ -1265,6 +1265,18 @@ bool Dialog::set_property(const OString &rKey, const OString &rValue) return true; } +void Dialog::SetText(const OUString& rStr) +{ + setDeferredProperties(); + SystemWindow::SetText(rStr); +} + +OUString Dialog::GetText() const +{ + const_cast<Dialog*>(this)->setDeferredProperties(); + return SystemWindow::GetText(); +} + VclBuilderContainer::VclBuilderContainer() : m_pUIBuilder(NULL) { |