summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--vcl/unx/gtk3/gtkinst.cxx8
1 files changed, 5 insertions, 3 deletions
diff --git a/vcl/unx/gtk3/gtkinst.cxx b/vcl/unx/gtk3/gtkinst.cxx
index 60f7a68de0d1..c03da186f0af 100644
--- a/vcl/unx/gtk3/gtkinst.cxx
+++ b/vcl/unx/gtk3/gtkinst.cxx
@@ -19297,12 +19297,14 @@ public:
//gtk impl emulate this by doing this implicitly at weld time
void auto_add_parentless_widgets_to_container(GtkWidget* pWidget)
{
-#if !GTK_CHECK_VERSION(4, 0, 0)
if (widget_get_root(pWidget) == pWidget && !GTK_IS_POPOVER(pWidget) && !GTK_IS_WINDOW(pWidget))
- gtk_container_add(GTK_CONTAINER(m_pParentWidget), pWidget);
+ {
+#if GTK_CHECK_VERSION(4, 0, 0)
+ gtk_widget_set_parent(pWidget, m_pParentWidget);
#else
- (void)pWidget;
+ gtk_container_add(GTK_CONTAINER(m_pParentWidget), pWidget);
#endif
+ }
}
virtual std::unique_ptr<weld::MessageDialog> weld_message_dialog(const OString &id) override