remove flicker on first position of X11 popover replacement
Change-Id: I62d5b65c21a938b2eb64bbc5615580e5ec3f9b5a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/92193
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
diff --git a/vcl/unx/gtk3/gtk3gtkinst.cxx b/vcl/unx/gtk3/gtk3gtkinst.cxx
index 809a67c..584741d 100644
--- a/vcl/unx/gtk3/gtk3gtkinst.cxx
+++ b/vcl/unx/gtk3/gtk3gtkinst.cxx
@@ -7022,6 +7022,8 @@ private:
gtk_container_remove(GTK_CONTAINER(m_pMenuHack), pChild);
gtk_container_add(GTK_CONTAINER(m_pPopover), pChild);
g_object_unref(pChild);
gtk_widget_unrealize(GTK_WIDGET(m_pMenuHack));
}
else
{
@@ -7050,7 +7052,7 @@ private:
gtk_window_group_add_window(gtk_window_get_group(GTK_WINDOW(pToplevel)), m_pMenuHack);
gtk_window_set_transient_for(m_pMenuHack, GTK_WINDOW(pToplevel));
gtk_widget_show_all(GTK_WIDGET(m_pMenuHack));
gtk_widget_realize(GTK_WIDGET(m_pMenuHack));
tools::Rectangle aWorkArea(::get_monitor_workarea(GTK_WIDGET(m_pMenuHack)));
gint endx = x + gtk_widget_get_allocated_width(GTK_WIDGET(m_pMenuHack));
@@ -7070,6 +7072,7 @@ private:
}
gtk_window_move(m_pMenuHack, x, y);
gtk_widget_show_all(GTK_WIDGET(m_pMenuHack));
gtk_widget_grab_focus(GTK_WIDGET(m_pMenuHack));