Mercurial > hg > xemacs-beta
comparison src/frame.c @ 48:56c54cf7c5b6 r19-16b90
Import from CVS: tag r19-16b90
author | cvs |
---|---|
date | Mon, 13 Aug 2007 08:56:04 +0200 |
parents | ec9a17fef872 |
children | 131b0175ea99 |
comparison
equal
deleted
inserted
replaced
47:11c6df210d7f | 48:56c54cf7c5b6 |
---|---|
1398 if (NILP (next) || EQ (next, frame)) | 1398 if (NILP (next) || EQ (next, frame)) |
1399 next = next_frame_internal (frame, Qt, console, | 1399 next = next_frame_internal (frame, Qt, console, |
1400 called_from_delete_device); | 1400 called_from_delete_device); |
1401 if (NILP (next) || EQ (next, frame)) | 1401 if (NILP (next) || EQ (next, frame)) |
1402 next = next_frame_internal (frame, Qt, Qt, called_from_delete_device); | 1402 next = next_frame_internal (frame, Qt, Qt, called_from_delete_device); |
1403 | |
1404 /* if we haven't found another frame at this point | |
1405 then there aren't any. */ | |
1403 if (NILP (next) || EQ (next, frame)) | 1406 if (NILP (next) || EQ (next, frame)) |
1404 ; | 1407 ; |
1405 else if (EQ (frame, Fselected_frame (Qnil))) | |
1406 Fselect_frame (next); | |
1407 else | 1408 else |
1408 set_device_selected_frame (d, next); | 1409 { |
1410 int did_select = 0; | |
1411 /* if this is the global selected frame, select another one. */ | |
1412 if (EQ (frame, Fselected_frame (Qnil))) | |
1413 { | |
1414 Fselect_frame (next); | |
1415 did_select = 1; | |
1416 } | |
1417 /* | |
1418 * If the new frame we just selected is on a different | |
1419 * device then we still need to change DEVICE_SELECTED_FRAME(d) | |
1420 * to a live frame, if there are any left on this device. | |
1421 */ | |
1422 if (!EQ (device, FRAME_DEVICE(XFRAME(next)))) | |
1423 { | |
1424 Lisp_Object next_f = | |
1425 next_frame_internal (frame, Qt, device, | |
1426 called_from_delete_device); | |
1427 if (NILP (next_f) || EQ (next_f, frame)) | |
1428 ; | |
1429 else | |
1430 set_device_selected_frame (d, next_f); | |
1431 } | |
1432 else if (! did_select) | |
1433 set_device_selected_frame (d, next); | |
1434 | |
1435 } | |
1409 } | 1436 } |
1410 | 1437 |
1411 /* Don't allow minibuf_window to remain on a deleted frame. */ | 1438 /* Don't allow minibuf_window to remain on a deleted frame. */ |
1412 if (EQ (f->minibuffer_window, minibuf_window)) | 1439 if (EQ (f->minibuffer_window, minibuf_window)) |
1413 { | 1440 { |