emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] /srv/bzr/emacs/trunk r105498: Avoid a crash in mouse-highl


From: Eli Zaretskii
Subject: [Emacs-diffs] /srv/bzr/emacs/trunk r105498: Avoid a crash in mouse-highlight of Speedbar frames.
Date: Fri, 19 Aug 2011 14:30:29 +0300
User-agent: Bazaar (2.3.1)

------------------------------------------------------------
revno: 105498
committer: Eli Zaretskii <address@hidden>
branch nick: trunk
timestamp: Fri 2011-08-19 14:30:29 +0300
message:
  Avoid a crash in mouse-highlight of Speedbar frames.
  
   src/xfaces.c (face_at_buffer_position): Avoid repeated evaluation of
   face ID by FACE_FROM_ID, and avoid a crash when mouse is moved
   from an Org mode buffer to a Speedbar frame.
modified:
  src/ChangeLog
  src/xfaces.c
=== modified file 'src/ChangeLog'
--- a/src/ChangeLog     2011-08-19 10:18:40 +0000
+++ b/src/ChangeLog     2011-08-19 11:30:29 +0000
@@ -1,5 +1,9 @@
 2011-08-19  Eli Zaretskii  <address@hidden>
 
+       * xfaces.c (face_at_buffer_position): Avoid repeated evaluation of
+       face ID by FACE_FROM_ID, and avoid a crash when mouse is moved
+       from an Org mode buffer to a Speedbar frame.
+
        * xdisp.c (RECORD_MAX_MIN_POS): If the display element comes from
        a composition, take its buffer position from IT->cmp_it.charpos.
        Fixes cursor positioning at the beginning of a line that begins

=== modified file 'src/xfaces.c'
--- a/src/xfaces.c      2011-08-14 09:08:02 +0000
+++ b/src/xfaces.c      2011-08-19 11:30:29 +0000
@@ -6008,9 +6008,18 @@
 
   *endptr = endpos;
 
-  default_face = FACE_FROM_ID (f, base_face_id >= 0 ? base_face_id
-                              : NILP (Vface_remapping_alist) ? DEFAULT_FACE_ID
-                              : lookup_basic_face (f, DEFAULT_FACE_ID));
+  {
+    int face_id;
+
+    if (base_face_id >= 0)
+      face_id = base_face_id;
+    else if (NILP (Vface_remapping_alist))
+      face_id = DEFAULT_FACE_ID;
+    else
+      face_id = lookup_basic_face (f, DEFAULT_FACE_ID);
+
+    default_face = FACE_FROM_ID (f, face_id);
+  }
 
   /* Optimize common cases where we can use the default face.  */
   if (noverlays == 0


reply via email to

[Prev in Thread] Current Thread [Next in Thread]