To: vim_dev@googlegroups.com Subject: Patch 9.0.0984 Fcc: outbox From: Bram Moolenaar Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ------------ Patch 9.0.0984 Problem: GUI: remote_foreground() does not always work. (Ron Aaron) Solution: For GTK use gtk_window_set_keep_above(). (issue #11641) Files: src/gui_gtk_x11.c *** ../vim-9.0.0983/src/gui_gtk_x11.c 2022-11-30 18:11:52.690904297 +0000 --- src/gui_gtk_x11.c 2022-12-01 19:36:37.980211594 +0000 *************** *** 780,786 **** 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_fill(cr); } } --- 780,787 ---- 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_fill(cr); } } *************** *** 6313,6319 **** --- 6314,6330 ---- 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 *** ../vim-9.0.0983/src/version.c 2022-12-01 19:25:00.444755203 +0000 --- src/version.c 2022-12-01 19:37:55.764159541 +0000 *************** *** 697,698 **** --- 697,700 ---- { /* Add new patch number below this line */ + /**/ + 984, /**/ -- Some of the well known MS-Windows errors: ETIME Wrong time, wait a little while ECRASH Try again... EDETECT Unable to detect errors EOVER You lost! Play another game? ENOCLUE Eh, what did you want? /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ /// \\\ \\\ sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ /// \\\ help me help AIDS victims -- http://ICCF-Holland.org ///