Commit 23dc7744 authored by Chong Yidong's avatar Chong Yidong
Browse files

Avoid two crashes involving windows on dead frames.

* window.c (Fwindow_absolute_pixel_edges)
(Fdelete_other_windows_internal): Signal an error if the window is
on a dead frame.

Fixes: debbugs:11984
parent e32a12b5
2012-07-19 Chong Yidong <cyd@gnu.org>
* window.c (Fwindow_absolute_pixel_edges)
(Fdelete_other_windows_internal): Signal an error if the window is
on a dead frame (Bug#11984).
2012-07-14 Eli Zaretskii <eliz@gnu.org> 2012-07-14 Eli Zaretskii <eliz@gnu.org>
Remove FILE_SYSTEM_CASE. Remove FILE_SYSTEM_CASE.
......
...@@ -484,9 +484,7 @@ for future use. */) ...@@ -484,9 +484,7 @@ for future use. */)
(Lisp_Object window, Lisp_Object limit) (Lisp_Object window, Lisp_Object limit)
{ {
register struct window *w = decode_any_window (window); register struct window *w = decode_any_window (window);
w->combination_limit = limit; w->combination_limit = limit;
return w->combination_limit; return w->combination_limit;
} }
...@@ -800,6 +798,8 @@ of just the text area, use `window-inside-absolute-pixel-edges'. */) ...@@ -800,6 +798,8 @@ of just the text area, use `window-inside-absolute-pixel-edges'. */)
{ {
register struct window *w = decode_any_window (window); register struct window *w = decode_any_window (window);
int add_x, add_y; int add_x, add_y;
CHECK_LIVE_FRAME (w->frame);
calc_absolute_offset (w, &add_x, &add_y); calc_absolute_offset (w, &add_x, &add_y);
return Fcons (make_number (WINDOW_LEFT_EDGE_X (w) + add_x), return Fcons (make_number (WINDOW_LEFT_EDGE_X (w) + add_x),
...@@ -2568,6 +2568,7 @@ window-start value is reasonable when this function is called. */) ...@@ -2568,6 +2568,7 @@ window-start value is reasonable when this function is called. */)
Mouse_HLInfo *hlinfo; Mouse_HLInfo *hlinfo;
w = decode_any_window (window); w = decode_any_window (window);
CHECK_LIVE_FRAME (w->frame);
XSETWINDOW (window, w); XSETWINDOW (window, w);
f = XFRAME (w->frame); f = XFRAME (w->frame);
...@@ -2581,6 +2582,7 @@ window-start value is reasonable when this function is called. */) ...@@ -2581,6 +2582,7 @@ window-start value is reasonable when this function is called. */)
/* ROOT must be an ancestor of WINDOW. */ /* ROOT must be an ancestor of WINDOW. */
{ {
r = decode_any_window (root); r = decode_any_window (root);
CHECK_LIVE_FRAME (r->frame);
pwindow = XWINDOW (window)->parent; pwindow = XWINDOW (window)->parent;
while (!NILP (pwindow)) while (!NILP (pwindow))
if (EQ (pwindow, root)) if (EQ (pwindow, root))
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment