[Libreoffice-commits] core.git: Branch 'distro/collabora/cp-6.4' - vcl/unx
Caolán McNamara (via logerrit)
logerrit at kemper.freedesktop.org
Mon Jun 8 08:06:02 UTC 2020
vcl/unx/gtk3/gtk3gtkinst.cxx | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
New commits:
commit 62d1b2d88baac7c2968d909b84b1125132d7aa85
Author: Caolán McNamara <caolanm at redhat.com>
AuthorDate: Thu Dec 19 21:23:48 2019 +0000
Commit: Szymon Kłos <eszkadev at gmail.com>
CommitDate: Mon Jun 8 09:18:40 2020 +0200
destroy SystemChildWindow at the right stage
Change-Id: I4deab0b7ed184684b95548b090bbcbabe9082f61
Reviewed-on: https://gerrit.libreoffice.org/85549
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm at redhat.com>
Tested-by: Caolán McNamara <caolanm at redhat.com>
diff --git a/vcl/unx/gtk3/gtk3gtkinst.cxx b/vcl/unx/gtk3/gtk3gtkinst.cxx
index ec47dd20ca6b..1fac0eede611 100644
--- a/vcl/unx/gtk3/gtk3gtkinst.cxx
+++ b/vcl/unx/gtk3/gtk3gtkinst.cxx
@@ -12526,6 +12526,8 @@ private:
std::vector<GtkButton*> m_aMnemonicButtons;
std::vector<GtkLabel*> m_aMnemonicLabels;
+ VclPtr<SystemChildWindow> m_xInterimGlue;
+
void postprocess_widget(GtkWidget* pWidget)
{
const bool bHideHelp = comphelper::LibreOfficeKit::isActive() &&
@@ -12707,12 +12709,13 @@ private:
pThis->postprocess_widget(GTK_WIDGET(pObject));
}
public:
- GtkInstanceBuilder(GtkWidget* pParent, const OUString& rUIRoot, const OUString& rUIFile)
+ GtkInstanceBuilder(GtkWidget* pParent, const OUString& rUIRoot, const OUString& rUIFile, SystemChildWindow* pInterimGlue)
: weld::Builder(rUIFile)
, m_pStringReplace(Translate::GetReadStringHook())
, m_sHelpRoot(rUIFile)
, m_pParentWidget(pParent)
, m_nNotifySignalId(0)
+ , m_xInterimGlue(pInterimGlue)
{
ensure_intercept_drawing_area_accessibility();
ensure_disable_ctrl_page_up_down_bindings();
@@ -12797,6 +12800,7 @@ public:
{
g_slist_free(m_pObjectList);
g_object_unref(m_pBuilder);
+ m_xInterimGlue.disposeAndClear();
}
//ideally we would have/use weld::Container add and explicitly
@@ -13260,7 +13264,7 @@ weld::Builder* GtkInstance::CreateBuilder(weld::Widget* pParent, const OUString&
if (pParent && !pParentWidget) //remove when complete
return SalInstance::CreateBuilder(pParent, rUIRoot, rUIFile);
GtkWidget* pBuilderParent = pParentWidget ? pParentWidget->getWidget() : nullptr;
- return new GtkInstanceBuilder(pBuilderParent, rUIRoot, rUIFile);
+ return new GtkInstanceBuilder(pBuilderParent, rUIRoot, rUIFile, nullptr);
}
weld::Builder* GtkInstance::CreateInterimBuilder(vcl::Window* pParent, const OUString& rUIRoot, const OUString& rUIFile)
@@ -13281,7 +13285,7 @@ weld::Builder* GtkInstance::CreateInterimBuilder(vcl::Window* pParent, const OUS
gtk_widget_show_all(pWindow);
// build the widget tree as a child of the GtkEventBox GtkGrid parent
- return new GtkInstanceBuilder(pWindow, rUIRoot, rUIFile);
+ return new GtkInstanceBuilder(pWindow, rUIRoot, rUIFile, xEmbedWindow.get());
}
weld::MessageDialog* GtkInstance::CreateMessageDialog(weld::Widget* pParent, VclMessageType eMessageType, VclButtonsType eButtonsType, const OUString &rPrimaryMessage)
More information about the Libreoffice-commits
mailing list