Merge branch 'wip/fix-epiphany-and-libreoffice-menus' into 'gtk-3-24'

Fix some Epiphany and LibreOffice menus

See merge request GNOME/gtk!1640
This commit is contained in:
Matthias Clasen
2020-04-06 20:34:30 +00:00

View File

@@ -273,6 +273,7 @@ static void gdk_wayland_window_unexport (GdkWindow *window);
static void gdk_wayland_window_announce_decoration_mode (GdkWindow *window);
static gboolean should_map_as_subsurface (GdkWindow *window);
static gboolean should_map_as_popup (GdkWindow *window);
GType _gdk_window_impl_wayland_get_type (void);
@@ -749,6 +750,8 @@ _gdk_wayland_display_create_window_impl (GdkDisplay *display,
impl = g_object_new (GDK_TYPE_WINDOW_IMPL_WAYLAND, NULL);
window->impl = GDK_WINDOW_IMPL (impl);
impl->unconfigured_width = window->width;
impl->unconfigured_height = window->height;
impl->wrapper = GDK_WINDOW (window);
impl->shortcuts_inhibitors = g_hash_table_new (NULL, NULL);
impl->using_csd = TRUE;
@@ -1120,7 +1123,7 @@ is_realized_popup (GdkWindow *window)
}
static gboolean
needs_initial_configure (GdkWindow *window)
should_inhibit_resize (GdkWindow *window)
{
GdkWindowImplWayland *impl = GDK_WINDOW_IMPL_WAYLAND (window->impl);
@@ -1130,12 +1133,17 @@ needs_initial_configure (GdkWindow *window)
return FALSE;
else if (impl->hint == GDK_WINDOW_TYPE_HINT_DND)
return FALSE;
else if (is_realized_toplevel (window))
return TRUE;
else if (is_realized_popup (window))
return TRUE;
else
return !should_map_as_subsurface (window);
return FALSE;
else if (should_map_as_popup (window))
return FALSE;
else if (should_map_as_subsurface (window))
return FALSE;
/* This should now either be, or eventually be, a toplevel window,
* and we should wait for the initial configure to really configure it.
*/
return !impl->initial_configure_received;
}
static void
@@ -1149,15 +1157,8 @@ gdk_wayland_window_maybe_configure (GdkWindow *window,
gboolean is_visible;
if (needs_initial_configure (window) &&
!impl->initial_configure_received)
{
impl->unconfigured_width = calculate_width_without_margin (window,
width);
impl->unconfigured_height = calculate_height_without_margin (window,
height);
return;
}
if (should_inhibit_resize (window))
return;
if (window->width == width &&
window->height == height &&