diff options
author | Caolán McNamara <caolanm@redhat.com> | 2014-09-01 07:17:09 +0100 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2014-09-02 12:14:51 +0100 |
commit | 05d4077b724f91fca736d3c3fd64f28e304d7172 (patch) | |
tree | 5e7b6b1a86fccb274a92a3c31b6f97d389234337 /vcl/source/uipreviewer | |
parent | 2f1eed483930a96a40a7013a9338a7e0869fc960 (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.cxx | 19 |
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; |