summaryrefslogtreecommitdiff
path: root/vcl
diff options
context:
space:
mode:
Diffstat (limited to 'vcl')
-rw-r--r--vcl/source/window/builder.cxx52
1 files changed, 28 insertions, 24 deletions
diff --git a/vcl/source/window/builder.cxx b/vcl/source/window/builder.cxx
index efa62401f876..f45d2cd2aff5 100644
--- a/vcl/source/window/builder.cxx
+++ b/vcl/source/window/builder.cxx
@@ -1395,30 +1395,34 @@ VclPtr<vcl::Window> VclBuilder::makeObject(vcl::Window *pParent, const OString &
if (pParent && pParent->GetType() == WindowType::TABCONTROL)
{
- //We have to add a page
-
- //make default pageid == position
- TabControl *pTabControl = static_cast<TabControl*>(pParent);
- sal_uInt16 nNewPageCount = pTabControl->GetPageCount()+1;
- sal_uInt16 nNewPageId = nNewPageCount;
- pTabControl->InsertPage(nNewPageId, OUString());
- pTabControl->SetCurPageId(nNewPageId);
- SAL_WARN_IF(bIsPlaceHolder, "vcl.layout", "we should have no placeholders for tabpages");
- if (!bIsPlaceHolder)
- {
- VclPtrInstance<TabPage> pPage(pTabControl);
- pPage->Show();
-
- //Make up a name for it
- OString sTabPageId = get_by_window(pParent) +
- OString("-page") +
- OString::number(nNewPageCount);
- m_aChildren.emplace_back(sTabPageId, pPage, false);
- pPage->SetHelpId(m_sHelpRoot + sTabPageId);
-
- pParent = pPage;
-
- pTabControl->SetTabPage(nNewPageId, pPage);
+ bool bTopLevel(name == "GtkDialog" || name == "GtkMessageDialog" ||
+ name == "GtkWindow" || name == "GtkPopover");
+ if (!bTopLevel)
+ {
+ //We have to add a page
+ //make default pageid == position
+ TabControl *pTabControl = static_cast<TabControl*>(pParent);
+ sal_uInt16 nNewPageCount = pTabControl->GetPageCount()+1;
+ sal_uInt16 nNewPageId = nNewPageCount;
+ pTabControl->InsertPage(nNewPageId, OUString());
+ pTabControl->SetCurPageId(nNewPageId);
+ SAL_WARN_IF(bIsPlaceHolder, "vcl.layout", "we should have no placeholders for tabpages");
+ if (!bIsPlaceHolder)
+ {
+ VclPtrInstance<TabPage> pPage(pTabControl);
+ pPage->Show();
+
+ //Make up a name for it
+ OString sTabPageId = get_by_window(pParent) +
+ OString("-page") +
+ OString::number(nNewPageCount);
+ m_aChildren.emplace_back(sTabPageId, pPage, false);
+ pPage->SetHelpId(m_sHelpRoot + sTabPageId);
+
+ pParent = pPage;
+
+ pTabControl->SetTabPage(nNewPageId, pPage);
+ }
}
}