diff options
Diffstat (limited to 'vcl/source')
-rw-r--r-- | vcl/source/window/builder.cxx | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/vcl/source/window/builder.cxx b/vcl/source/window/builder.cxx index faffeccbb764..4f7202f0e5d1 100644 --- a/vcl/source/window/builder.cxx +++ b/vcl/source/window/builder.cxx @@ -604,6 +604,18 @@ namespace return bResizable; } + bool extractDecorated(VclBuilder::stringmap &rMap) + { + bool bDecorated = true; + VclBuilder::stringmap::iterator aFind = rMap.find(OString("decorated")); + if (aFind != rMap.end()) + { + bDecorated = toBool(aFind->second); + rMap.erase(aFind); + } + return bDecorated; + } + bool extractCloseable(VclBuilder::stringmap &rMap) { bool bCloseable = true; @@ -973,11 +985,13 @@ namespace OString sBorder = VclBuilder::extractCustomProperty(rMap); if (!sBorder.isEmpty()) nBits |= WB_BORDER; + if (!extractDecorated(rMap)) + nBits |= WB_OWNERDRAWDECORATION; OString sType(extractTypeHint(rMap)); if (sType == "utility") nBits |= WB_SYSTEMWINDOW | WB_DIALOGCONTROL | WB_MOVEABLE; else if (sType == "popup-menu") - nBits |= WB_SYSTEMWINDOW | WB_DIALOGCONTROL | WB_POPUP | WB_OWNERDRAWDECORATION; + nBits |= WB_SYSTEMWINDOW | WB_DIALOGCONTROL | WB_POPUP; else nBits |= WB_MOVEABLE; return nBits; |