comparison src/frame.c @ 96:dbb370e3c29e r20-0final

Import from CVS: tag r20-0final
author cvs
date Mon, 13 Aug 2007 09:12:40 +0200
parents 821dec489c24
children 0d2f883870bc
comparison
equal deleted inserted replaced
95:e8c07a565f9c 96:dbb370e3c29e
1275 signal_simple_error 1275 signal_simple_error
1276 ("Attempt to delete a surrogate minibuffer frame", frame); 1276 ("Attempt to delete a surrogate minibuffer frame", frame);
1277 } 1277 }
1278 } 1278 }
1279 } 1279 }
1280
1281 /* Test for popup frames hanging around. */
1282 /* Deletion of a parent frame with popups is deadly. */
1283 {
1284 Lisp_Object frmcons, devcons, concons;
1285
1286 FRAME_LOOP_NO_BREAK (frmcons, devcons, concons)
1287 {
1288 Lisp_Object this = XCAR (frmcons);
1289
1290
1291 if (! EQ (this, frame)
1292 && EQ (frame, DEVMETH_OR_GIVEN(XDEVICE(XCAR(devcons)),
1293 get_frame_parent,
1294 (XFRAME(this)),
1295 Qnil)))
1296 {
1297 /* We've found a popup frame whose parent is this frame. */
1298 signal_simple_error
1299 ("Attempt to delete a frame with live popups", frame);
1300 }
1301 }
1302 }
1280 1303
1281 /* Before here, we haven't made any dangerous changes (just checked for 1304 /* Before here, we haven't made any dangerous changes (just checked for
1282 error conditions). Now run the delete-frame-hook. Remember that 1305 error conditions). Now run the delete-frame-hook. Remember that
1283 user code there could do any number of dangerous things, including 1306 user code there could do any number of dangerous things, including
1284 signalling an error. */ 1307 signalling an error. */