[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] /srv/bzr/emacs/trunk r109488: Check for live frames explic
From: |
Chong Yidong |
Subject: |
[Emacs-diffs] /srv/bzr/emacs/trunk r109488: Check for live frames explicitly in window.c functions which need it. |
Date: |
Tue, 07 Aug 2012 15:02:04 +0800 |
User-agent: |
Bazaar (2.5.0) |
------------------------------------------------------------
revno: 109488
fixes bug: http://debbugs.gnu.org/12025
committer: Chong Yidong <address@hidden>
branch nick: trunk
timestamp: Tue 2012-08-07 15:02:04 +0800
message:
Check for live frames explicitly in window.c functions which need it.
* window.c (Fwindow_edges, Fwindow_pixel_edges)
(Fwindow_absolute_pixel_edges, Fdelete_other_windows_internal)
(Fdelete_window_internal): Signal an error if the window is not on
a live frame.
modified:
src/ChangeLog
src/window.c
=== modified file 'src/ChangeLog'
--- a/src/ChangeLog 2012-08-07 05:29:25 +0000
+++ b/src/ChangeLog 2012-08-07 07:02:04 +0000
@@ -1,3 +1,10 @@
+2012-08-07 Chong Yidong <address@hidden>
+
+ * window.c (Fwindow_edges, Fwindow_pixel_edges)
+ (Fwindow_absolute_pixel_edges, Fdelete_other_windows_internal)
+ (Fdelete_window_internal): Signal an error if the window is not on
+ a live frame (Bug#12025).
+
2012-08-07 Dmitry Antipov <address@hidden>
Drop FGET and revert read access to Lisp_Objects slots of struct frame.
=== modified file 'src/window.c'
--- a/src/window.c 2012-08-07 05:29:25 +0000
+++ b/src/window.c 2012-08-07 07:02:04 +0000
@@ -151,8 +151,6 @@
CHECK_WINDOW (window);
w = XWINDOW (window);
- /* The following test throws up every time a tooltip frame is displayed. */
- /* CHECK_LIVE_FRAME (w->frame); */
return w;
}
@@ -746,6 +744,7 @@
(Lisp_Object window)
{
register struct window *w = decode_any_window (window);
+ CHECK_LIVE_FRAME (WGET (w, frame));
return Fcons (make_number (WINDOW_LEFT_EDGE_COL (w)),
Fcons (make_number (WINDOW_TOP_EDGE_LINE (w)),
@@ -767,6 +766,7 @@
(Lisp_Object window)
{
register struct window *w = decode_any_window (window);
+ CHECK_LIVE_FRAME (WGET (w, frame));
return Fcons (make_number (WINDOW_LEFT_EDGE_X (w)),
Fcons (make_number (WINDOW_TOP_EDGE_Y (w)),
@@ -812,6 +812,8 @@
{
register struct window *w = decode_any_window (window);
int add_x, add_y;
+
+ CHECK_LIVE_FRAME (WGET (w, frame));
calc_absolute_offset (w, &add_x, &add_y);
return Fcons (make_number (WINDOW_LEFT_EDGE_X (w) + add_x),
@@ -2580,6 +2582,7 @@
int top IF_LINT (= 0), new_top, resize_failed;
w = decode_any_window (window);
+ CHECK_LIVE_FRAME (WGET (w, frame));
XSETWINDOW (window, w);
f = XFRAME (WGET (w, frame));
@@ -2593,6 +2596,7 @@
/* ROOT must be an ancestor of WINDOW. */
{
r = decode_any_window (root);
+ CHECK_LIVE_FRAME (WGET (r, frame));
pwindow = WGET (XWINDOW (window), parent);
while (!NILP (pwindow))
if (EQ (pwindow, root))
@@ -3837,6 +3841,8 @@
int before_sibling = 0;
w = decode_any_window (window);
+ CHECK_LIVE_FRAME (WGET (w, frame));
+
XSETWINDOW (window, w);
if (NILP (WGET (w, buffer))
&& NILP (WGET (w, hchild)) && NILP (WGET (w, vchild)))
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] /srv/bzr/emacs/trunk r109488: Check for live frames explicitly in window.c functions which need it.,
Chong Yidong <=