[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] /srv/bzr/emacs/trunk r108619: Fix bug #11677 with segfault
From: |
Eli Zaretskii |
Subject: |
[Emacs-diffs] /srv/bzr/emacs/trunk r108619: Fix bug #11677 with segfault when deleting windows under -batch. |
Date: |
Sat, 16 Jun 2012 10:18:44 +0300 |
User-agent: |
Bazaar (2.5.0) |
------------------------------------------------------------
revno: 108619
fixes bug: http://debbugs.gnu.org/11677
committer: Eli Zaretskii <address@hidden>
branch nick: trunk
timestamp: Sat 2012-06-16 10:18:44 +0300
message:
Fix bug #11677 with segfault when deleting windows under -batch.
src/window.c (Fdelete_other_windows_internal)
(Fdelete_window_internal): Don't access frame's mouse highlight
info of the initial frame.
modified:
src/ChangeLog
src/window.c
=== modified file 'src/ChangeLog'
--- a/src/ChangeLog 2012-06-14 04:02:35 +0000
+++ b/src/ChangeLog 2012-06-16 07:18:44 +0000
@@ -1,3 +1,9 @@
+2012-06-16 Eli Zaretskii <address@hidden>
+
+ * window.c (Fdelete_other_windows_internal)
+ (Fdelete_window_internal): Don't access frame's mouse highlight
+ info of the initial frame. (Bug#11677)
+
2012-06-14 Paul Eggert <address@hidden>
* .gdbinit (xgetint): Fix recently-introduced paren typo.
=== modified file 'src/window.c'
--- a/src/window.c 2012-06-01 03:41:03 +0000
+++ b/src/window.c 2012-06-16 07:18:44 +0000
@@ -2566,7 +2566,6 @@
Lisp_Object sibling, pwindow, swindow IF_LINT (= Qnil), delta;
ptrdiff_t startpos IF_LINT (= 0);
int top IF_LINT (= 0), new_top, resize_failed;
- Mouse_HLInfo *hlinfo;
w = decode_any_window (window);
XSETWINDOW (window, w);
@@ -2647,19 +2646,23 @@
}
BLOCK_INPUT;
- hlinfo = MOUSE_HL_INFO (f);
- /* We are going to free the glyph matrices of WINDOW, and with that
- we might lose any information about glyph rows that have some of
- their glyphs highlighted in mouse face. (These rows are marked
- with a non-zero mouse_face_p flag.) If WINDOW indeed has some
- glyphs highlighted in mouse face, signal to frame's up-to-date
- hook that mouse highlight was overwritten, so that it will
- arrange for redisplaying the highlight. */
- if (EQ (hlinfo->mouse_face_window, window))
+ if (!FRAME_INITIAL_P (f))
{
- hlinfo->mouse_face_beg_row = hlinfo->mouse_face_beg_col = -1;
- hlinfo->mouse_face_end_row = hlinfo->mouse_face_end_col = -1;
- hlinfo->mouse_face_window = Qnil;
+ Mouse_HLInfo *hlinfo = MOUSE_HL_INFO (f);
+
+ /* We are going to free the glyph matrices of WINDOW, and with
+ that we might lose any information about glyph rows that have
+ some of their glyphs highlighted in mouse face. (These rows
+ are marked with a non-zero mouse_face_p flag.) If WINDOW
+ indeed has some glyphs highlighted in mouse face, signal to
+ frame's up-to-date hook that mouse highlight was overwritten,
+ so that it will arrange for redisplaying the highlight. */
+ if (EQ (hlinfo->mouse_face_window, window))
+ {
+ hlinfo->mouse_face_beg_row = hlinfo->mouse_face_beg_col = -1;
+ hlinfo->mouse_face_end_row = hlinfo->mouse_face_end_col = -1;
+ hlinfo->mouse_face_window = Qnil;
+ }
}
free_window_matrices (r);
@@ -3903,7 +3906,6 @@
&& EQ (r->new_total, (horflag ? r->total_cols : r->total_lines)))
/* We can delete WINDOW now. */
{
- Mouse_HLInfo *hlinfo;
/* Block input. */
BLOCK_INPUT;
@@ -3911,9 +3913,13 @@
/* If this window is referred to by the dpyinfo's mouse
highlight, invalidate that slot to be safe (Bug#9904). */
- hlinfo = MOUSE_HL_INFO (XFRAME (w->frame));
- if (EQ (hlinfo->mouse_face_window, window))
- hlinfo->mouse_face_window = Qnil;
+ if (!FRAME_INITIAL_P (f))
+ {
+ Mouse_HLInfo *hlinfo = MOUSE_HL_INFO (f);
+
+ if (EQ (hlinfo->mouse_face_window, window))
+ hlinfo->mouse_face_window = Qnil;
+ }
windows_or_buffers_changed++;
Vwindow_list = Qnil;
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] /srv/bzr/emacs/trunk r108619: Fix bug #11677 with segfault when deleting windows under -batch.,
Eli Zaretskii <=