aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/fontset.c12
-rw-r--r--src/xdisp.c4
2 files changed, 14 insertions, 2 deletions
diff --git a/src/fontset.c b/src/fontset.c
index bca9452418e..c2bb8b21f26 100644
--- a/src/fontset.c
+++ b/src/fontset.c
@@ -367,8 +367,14 @@ fontset_add (Lisp_Object fontset, Lisp_Object range, Lisp_Object elt, Lisp_Objec
367static int 367static int
368fontset_compare_rfontdef (const void *val1, const void *val2) 368fontset_compare_rfontdef (const void *val1, const void *val2)
369{ 369{
370 return (RFONT_DEF_SCORE (*(Lisp_Object *) val1) 370 Lisp_Object v1 = *(Lisp_Object *) val1, v2 = *(Lisp_Object *) val2;
371 - RFONT_DEF_SCORE (*(Lisp_Object *) val2)); 371 if (NILP (v1) && NILP (v2))
372 return 0;
373 else if (NILP (v1))
374 return INT_MIN;
375 else if (NILP (v2))
376 return INT_MAX;
377 return (RFONT_DEF_SCORE (v1) - RFONT_DEF_SCORE (v2));
372} 378}
373 379
374/* Update a cons cell which has this form: 380/* Update a cons cell which has this form:
@@ -400,6 +406,8 @@ reorder_font_vector (Lisp_Object font_group, struct font *font)
400 for (i = 0; i < size; i++) 406 for (i = 0; i < size; i++)
401 { 407 {
402 Lisp_Object rfont_def = AREF (vec, i); 408 Lisp_Object rfont_def = AREF (vec, i);
409 if (NILP (rfont_def))
410 continue;
403 Lisp_Object font_def = RFONT_DEF_FONT_DEF (rfont_def); 411 Lisp_Object font_def = RFONT_DEF_FONT_DEF (rfont_def);
404 Lisp_Object font_spec = FONT_DEF_SPEC (font_def); 412 Lisp_Object font_spec = FONT_DEF_SPEC (font_def);
405 int score = RFONT_DEF_SCORE (rfont_def) & 0xFF; 413 int score = RFONT_DEF_SCORE (rfont_def) & 0xFF;
diff --git a/src/xdisp.c b/src/xdisp.c
index c2aa314c1ad..3c594b54add 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -31441,6 +31441,10 @@ show_mouse_face (Mouse_HLInfo *hlinfo, enum draw_glyphs_face draw)
31441 struct window *w = XWINDOW (hlinfo->mouse_face_window); 31441 struct window *w = XWINDOW (hlinfo->mouse_face_window);
31442 struct frame *f = XFRAME (WINDOW_FRAME (w)); 31442 struct frame *f = XFRAME (WINDOW_FRAME (w));
31443 31443
31444 /* Don't bother doing anything if we are on a wrong frame. */
31445 if (f != hlinfo->mouse_face_mouse_frame)
31446 return;
31447
31444 if (/* If window is in the process of being destroyed, don't bother 31448 if (/* If window is in the process of being destroyed, don't bother
31445 to do anything. */ 31449 to do anything. */
31446 w->current_matrix != NULL 31450 w->current_matrix != NULL