diff --git a/src/gui_gtk_x11.c b/src/gui_gtk_x11.c index 8b75ba8c3e..ea76e3370a 100644 --- a/src/gui_gtk_x11.c +++ b/src/gui_gtk_x11.c @@ -780,7 +780,8 @@ draw_event(GtkWidget *widget UNUSED, for (i = 0; i < list->num_rectangles; i++) { const cairo_rectangle_t *rect = &list->rectangles[i]; - cairo_rectangle(cr, rect->x, rect->y, rect->width, rect->height); + cairo_rectangle(cr, rect->x, rect->y, + rect->width, rect->height); cairo_fill(cr); } } @@ -6313,7 +6314,17 @@ gui_mch_iconify(void) void gui_mch_set_foreground(void) { + // Just calling gtk_window_present() used to work in the past, but now this + // sequence appears to be needed: + // - Show the window on top of others. + // - Present the window (also shows it above others). + // - Do not the window on top of others (otherwise it would be stuck there). + gtk_window_set_keep_above(GTK_WINDOW(gui.mainwin), TRUE); + gui_may_flush(); gtk_window_present(GTK_WINDOW(gui.mainwin)); + gui_may_flush(); + gtk_window_set_keep_above(GTK_WINDOW(gui.mainwin), FALSE); + gui_may_flush(); } #endif diff --git a/src/version.c b/src/version.c index e78e71fda9..6f303d1dd0 100644 --- a/src/version.c +++ b/src/version.c @@ -695,6 +695,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 984, /**/ 983, /**/