patch 8.2.2674: Motif: cancelling the font dialog resets the font
Problem: Motif: cancelling the font dialog resets the font.
Solution: When no font is selected to not change the font. (closes #7825,
closes #8035) Fix compiler warnings.
diff --git a/src/gui_motif.c b/src/gui_motif.c
index a9845b2..67f9c63 100644
--- a/src/gui_motif.c
+++ b/src/gui_motif.c
@@ -1996,7 +1996,11 @@
* Callback routine for dialog mnemonic processing.
*/
static void
-mnemonic_event(Widget w, XtPointer call_data UNUSED, XKeyEvent *event)
+mnemonic_event(
+ Widget w,
+ XtPointer call_data UNUSED,
+ XKeyEvent *event,
+ Boolean *b UNUSED)
{
do_mnemonic(w, event->keycode);
}
@@ -3565,7 +3569,8 @@
find_replace_keypress(
Widget w UNUSED,
SharedFindReplace *frdp,
- XKeyEvent *event)
+ XKeyEvent *event,
+ Boolean *b UNUSED)
{
KeySym keysym;
diff --git a/src/gui_x11.c b/src/gui_x11.c
index 14a0b80..92bbfc3 100644
--- a/src/gui_x11.c
+++ b/src/gui_x11.c
@@ -1753,7 +1753,13 @@
// A font name equal "*" is indicating, that we should activate the font
// selection dialogue to get a new font name. So let us do it here.
if (font_name != NULL && STRCMP(font_name, "*") == 0)
+ {
font_name = gui_xm_select_font(hl_get_font_name());
+
+ // Do not reset to default font except on GUI startup.
+ if (font_name == NULL && !gui.starting)
+ return OK;
+ }
#endif
#ifdef FEAT_XFONTSET
diff --git a/src/version.c b/src/version.c
index fe27425..da20571 100644
--- a/src/version.c
+++ b/src/version.c
@@ -751,6 +751,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 2674,
+/**/
2673,
/**/
2672,