Mercurial > hg > xemacs-beta
comparison src/redisplay-output.c @ 265:8efd647ea9ca r20-5b31
Import from CVS: tag r20-5b31
author | cvs |
---|---|
date | Mon, 13 Aug 2007 10:25:37 +0200 |
parents | 727739f917cb |
children | 966663fcf606 |
comparison
equal
deleted
inserted
replaced
264:682d2a9d41a5 | 265:8efd647ea9ca |
---|---|
748 int y = w->last_point_y[CURRENT_DISP]; | 748 int y = w->last_point_y[CURRENT_DISP]; |
749 | 749 |
750 extern int cursor_in_echo_area; | 750 extern int cursor_in_echo_area; |
751 | 751 |
752 /* | 752 /* |
753 * Bail if cursor_in_echo_area is non-zero and we're fiddling | 753 * Bail if cursor_in_echo_area is non-zero and we're fiddling with |
754 * with the cursor in a minibuffer window, since that is a | 754 * the cursor in a non-active minibuffer window, since that is a |
755 * special case that is handled elsewhere and this function | 755 * special case that is handled elsewhere and this function need |
756 * need not handle it. Return 1 so the caller will assume we | 756 * not handle it. Return 1 so the caller will assume we |
757 * succeeded. | 757 * succeeded. |
758 */ | 758 */ |
759 if (cursor_in_echo_area && MINI_WINDOW_P (w)) | 759 if (cursor_in_echo_area && MINI_WINDOW_P (w) && |
760 w != XWINDOW (FRAME_SELECTED_WINDOW (f))) | |
760 return 1; | 761 return 1; |
761 | 762 |
762 if (y < 0 || y >= Dynarr_length (cla)) | 763 if (y < 0 || y >= Dynarr_length (cla)) |
763 return 0; | 764 return 0; |
764 | 765 |
924 | 925 |
925 display_line_dynarr *dla = window_display_lines (w, CURRENT_DISP); | 926 display_line_dynarr *dla = window_display_lines (w, CURRENT_DISP); |
926 struct display_line *dl; | 927 struct display_line *dl; |
927 struct display_block *db; | 928 struct display_block *db; |
928 struct rune *rb; | 929 struct rune *rb; |
930 extern int cursor_in_echo_area; | |
929 | 931 |
930 int x = w->last_point_x[CURRENT_DISP]; | 932 int x = w->last_point_x[CURRENT_DISP]; |
931 int y = w->last_point_y[CURRENT_DISP]; | 933 int y = w->last_point_y[CURRENT_DISP]; |
934 | |
935 if (cursor_in_echo_area && MINI_WINDOW_P (w) && | |
936 !echo_area_active (f) && minibuf_level == 0) | |
937 { | |
938 MAYBE_DEVMETH (d, set_final_cursor_coords, (f, w->pixel_top, 0)); | |
939 } | |
932 | 940 |
933 if (y < 0 || y >= Dynarr_length (dla)) | 941 if (y < 0 || y >= Dynarr_length (dla)) |
934 return; | 942 return; |
935 | 943 |
936 if (MINI_WINDOW_P (w) && f != device_selected_frame (d) && | 944 if (MINI_WINDOW_P (w) && f != device_selected_frame (d) && |
947 | 955 |
948 /* Don't call the output routine if the block isn't actually the | 956 /* Don't call the output routine if the block isn't actually the |
949 cursor. */ | 957 cursor. */ |
950 if (rb->cursor_type == CURSOR_ON) | 958 if (rb->cursor_type == CURSOR_ON) |
951 { | 959 { |
960 MAYBE_DEVMETH (d, set_final_cursor_coords, | |
961 (f, dl->ypos - 1, rb->xpos)); | |
962 | |
952 if (run_end_begin_meths) | 963 if (run_end_begin_meths) |
953 DEVMETH (d, output_begin, (d)); | 964 DEVMETH (d, output_begin, (d)); |
954 | 965 |
955 output_display_line (w, 0, dla, y, rb->xpos, rb->xpos + rb->width); | 966 output_display_line (w, 0, dla, y, rb->xpos, rb->xpos + rb->width); |
956 | 967 |