summaryrefslogtreecommitdiff
path: root/vcl/source/uipreviewer
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2014-09-01 07:17:09 +0100
committerCaolán McNamara <caolanm@redhat.com>2014-09-02 12:14:51 +0100
commit05d4077b724f91fca736d3c3fd64f28e304d7172 (patch)
tree5e7b6b1a86fccb274a92a3c31b6f97d389234337 /vcl/source/uipreviewer
parent2f1eed483930a96a40a7013a9338a7e0869fc960 (diff)
rearrange matters to get FloatingWindows working loaded from .ui
Change-Id: I099c810533c4590ee3182e1edf27e9038ed44f30
Diffstat (limited to 'vcl/source/uipreviewer')
-rw-r--r--vcl/source/uipreviewer/previewer.cxx19
1 files changed, 12 insertions, 7 deletions
diff --git a/vcl/source/uipreviewer/previewer.cxx b/vcl/source/uipreviewer/previewer.cxx
index 346f4d3ccc0b..80400595f40b 100644
--- a/vcl/source/uipreviewer/previewer.cxx
+++ b/vcl/source/uipreviewer/previewer.cxx
@@ -70,17 +70,22 @@ int UIPreviewApp::Main()
{
VclBuilder aBuilder(pDialog, OUString(), uifiles[0]);
- Dialog *pRealDialog = dynamic_cast<Dialog*>(aBuilder.get_widget_root());
+ Window *pRoot = aBuilder.get_widget_root();
+ Dialog *pRealDialog = dynamic_cast<Dialog*>(pRoot);
if (!pRealDialog)
pRealDialog = pDialog;
- if (pRealDialog)
- {
- pRealDialog->SetText(OUString("LibreOffice ui-previewer"));
- pRealDialog->SetStyle(pDialog->GetStyle()|WB_CLOSEABLE);
- pRealDialog->Execute();
- }
+ pRealDialog->SetText(OUString("LibreOffice ui-previewer"));
+ pRealDialog->SetStyle(pDialog->GetStyle()|WB_CLOSEABLE);
+ /*
+ Force a new STATE_CHANGE_INITSHOW for the edge case where pRoot
+ is not a dialog or contents of a dialog, but instead a visible floating window
+ which may have had initshow already done before it was given children
+ */
+ pRoot->Hide();
+ pRoot->Show();
+ pRealDialog->Execute();
}
delete pDialog;