* bug#8020: 23.2.93; assertion failure on fast frame resize @ 2011-02-12 2:30 YAMAMOTO Mitsuharu 2011-02-12 8:50 ` Eli Zaretskii 0 siblings, 1 reply; 4+ messages in thread From: YAMAMOTO Mitsuharu @ 2011-02-12 2:30 UTC (permalink / raw) To: 8020 This is forked from Bug#7348, and some analysis can be found there. (http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7348) Steps to reproduce: 1. Build emacs with --enable-checking 2. emacs -Q 3. C-x 2 4. Move your mouse to the corner of the frame, grab it, drag up, rescaling the vertically to minimum size Result: ../src/xdisp.c:11515: Emacs fatal error: assertion failed: BUFFERP(w->buffer) The value of w->buffer was nil when the assertion failure occurred. YAMAMOTO Mitsuharu mituharu@math.s.chiba-u.ac.jp In GNU Emacs 23.2.93.1 (x86_64-apple-darwin10.6.0, GTK+ Version 2.22.1) of 2011-02-09 on yamamoto-mitsuharu-no-iMac.local Windowing system distributor `The X.Org Foundation', version 11.0.10402000 configured using `configure '--enable-checking' 'LDFLAGS=-L/opt/local/lib' 'CPPFLAGS=-I/opt/local/include' 'CFLAGS=-g'' Important settings: value of $LC_ALL: nil value of $LC_COLLATE: nil value of $LC_CTYPE: nil value of $LC_MESSAGES: nil value of $LC_MONETARY: nil value of $LC_NUMERIC: nil value of $LC_TIME: nil value of $LANG: ja_JP.UTF-8 value of $XMODIFIERS: nil locale-coding-system: utf-8-unix default enable-multibyte-characters: t Major mode: Lisp Interaction Minor modes in effect: tooltip-mode: t mouse-wheel-mode: t tool-bar-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t auto-encryption-mode: t auto-compression-mode: t line-number-mode: t transient-mark-mode: t ^ permalink raw reply [flat|nested] 4+ messages in thread
* bug#8020: 23.2.93; assertion failure on fast frame resize 2011-02-12 2:30 bug#8020: 23.2.93; assertion failure on fast frame resize YAMAMOTO Mitsuharu @ 2011-02-12 8:50 ` Eli Zaretskii 2011-02-13 4:41 ` YAMAMOTO Mitsuharu 0 siblings, 1 reply; 4+ messages in thread From: Eli Zaretskii @ 2011-02-12 8:50 UTC (permalink / raw) To: YAMAMOTO Mitsuharu; +Cc: 8020 > Date: Sat, 12 Feb 2011 11:30:28 +0900 > From: YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> > Cc: > > This is forked from Bug#7348, and some analysis can be found there. > (http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7348) > > Steps to reproduce: > > 1. Build emacs with --enable-checking > 2. emacs -Q > 3. C-x 2 > 4. Move your mouse to the corner of the frame, grab it, drag up, > rescaling the vertically to minimum size > > Result: > > ../src/xdisp.c:11515: Emacs fatal error: assertion failed: BUFFERP(w->buffer) > > The value of w->buffer was nil when the assertion failure occurred. Please try the patch below, which is based on the discussions in bug #7348. The patch seems to solve the bug on MS-Windows. If it works for you on another platform, and doesn't cause problems elsewhere, I will install it on the emacs-23 branch. Thanks. --- src/xdisp.c.orig 2011-01-26 20:15:42.000000000 +0200 +++ src/xdisp.c 2011-02-12 10:48:56.296875000 +0200 @@ -11261,6 +11261,7 @@ int preserve_echo_area; { struct window *w = XWINDOW (selected_window); + struct window *sw; struct frame *f; int pause; int must_finish = 0; @@ -11331,6 +11332,9 @@ } retry: + /* Remember the currently selected window. */ + sw = w; + if (!EQ (old_frame, selected_frame) && FRAME_LIVE_P (XFRAME (old_frame))) /* When running redisplay, we play a bit fast-and-loose and allow e.g. @@ -11396,6 +11400,14 @@ /* Notice any pending interrupt request to change frame size. */ do_pending_window_change (1); + /* do_pending_window_change could change the selected_window due to + frame resizing which makes the selected window too small. */ + if (WINDOWP (selected_window) && (w = XWINDOW (selected_window)) != sw) + { + sw = w; + reconsider_clip_changes (w, current_buffer); + } + /* Clear frames marked as garbaged. */ if (frame_garbaged) clear_garbaged_frames (); @@ -11665,6 +11677,10 @@ if (!must_finish) { do_pending_window_change (1); + /* If selected_window changed, redisplay again. */ + if (WINDOWP (selected_window) + && (w = XWINDOW (selected_window)) != sw) + goto retry; /* We used to always goto end_of_redisplay here, but this isn't enough if we have a blinking cursor. */ @@ -11959,8 +11975,9 @@ do_pending_window_change (1); /* If we just did a pending size change, or have additional - visible frames, redisplay again. */ - if (windows_or_buffers_changed && !pause) + visible frames, or selected_window changed, redisplay again. */ + if ((windows_or_buffers_changed && !pause) + || (WINDOWP (selected_window) && (w = XWINDOW (selected_window)) != sw)) goto retry; /* Clear the face cache eventually. */ ^ permalink raw reply [flat|nested] 4+ messages in thread
* bug#8020: 23.2.93; assertion failure on fast frame resize 2011-02-12 8:50 ` Eli Zaretskii @ 2011-02-13 4:41 ` YAMAMOTO Mitsuharu 2011-02-13 18:56 ` Eli Zaretskii 0 siblings, 1 reply; 4+ messages in thread From: YAMAMOTO Mitsuharu @ 2011-02-13 4:41 UTC (permalink / raw) To: Eli Zaretskii; +Cc: 8020 >>>>> On Sat, 12 Feb 2011 10:50:49 +0200, Eli Zaretskii <eliz@gnu.org> said: > Please try the patch below, which is based on the discussions in bug > #7348. The patch seems to solve the bug on MS-Windows. If it works > for you on another platform, and doesn't cause problems elsewhere, I > will install it on the emacs-23 branch. Yes, it also works for me with the GTK+ build on Mac OS X 10.6. Thanks. YAMAMOTO Mitsuharu mituharu@math.s.chiba-u.ac.jp ^ permalink raw reply [flat|nested] 4+ messages in thread
* bug#8020: 23.2.93; assertion failure on fast frame resize 2011-02-13 4:41 ` YAMAMOTO Mitsuharu @ 2011-02-13 18:56 ` Eli Zaretskii 0 siblings, 0 replies; 4+ messages in thread From: Eli Zaretskii @ 2011-02-13 18:56 UTC (permalink / raw) To: YAMAMOTO Mitsuharu; +Cc: 8020-done > Date: Sun, 13 Feb 2011 13:41:36 +0900 > From: YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> > Cc: 8020@debbugs.gnu.org > > >>>>> On Sat, 12 Feb 2011 10:50:49 +0200, Eli Zaretskii <eliz@gnu.org> said: > > > Please try the patch below, which is based on the discussions in bug > > #7348. The patch seems to solve the bug on MS-Windows. If it works > > for you on another platform, and doesn't cause problems elsewhere, I > > will install it on the emacs-23 branch. > > Yes, it also works for me with the GTK+ build on Mac OS X 10.6. > Thanks. Thanks, installed on the emacs-23 branch. ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2011-02-13 18:56 UTC | newest] Thread overview: 4+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2011-02-12 2:30 bug#8020: 23.2.93; assertion failure on fast frame resize YAMAMOTO Mitsuharu 2011-02-12 8:50 ` Eli Zaretskii 2011-02-13 4:41 ` YAMAMOTO Mitsuharu 2011-02-13 18:56 ` Eli Zaretskii
Code repositories for project(s) associated with this external index https://git.savannah.gnu.org/cgit/emacs.git https://git.savannah.gnu.org/cgit/emacs/org-mode.git This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.