Mercurial > hg > xemacs-beta
comparison src/event-msw.c @ 1279:cd0abfdb9e9d
[xemacs-hg @ 2003-02-09 09:33:42 by ben]
walk-windows, redisplay fixes
console-stream.c: Abort when any attempts to output a stream console are made.
Should be caught sooner.
event-msw.c: Don't redisplay() during sizing when the frame has not yet been
initialized completely.
event-stream.c, menubar-msw.c, menubar-x.c, menubar.c, menubar.h: Restore in_menu_callback. Bind it in menubar-{msw,x}.c when
calling filter functions and the like. Conditionalize on it, not
in_modal_loop, when issuing error in `next-event', otherwise we
bite the dust immediately -- event-msw.c purposely calls
Fnext_event() in a modal loop, and knows what it's doing.
redisplay-output.c: Formatting fixes.
redisplay.c, window.c, winslots.h: Delete lots of carcasses of attempts to add redisplay support for
font-lock -- `pre/post-redisplay-hook', unimplemented junk from
FSF (redisplay-end-trigger, `window-scroll-functions',
`window-size-change-functions'). If we want to port some
redisplay support from FSF, port the `fontified' property.
redisplay.c: Put in a check here (as well as redisplay_device()) for a stream
frame. We can get here directly through Lisp fun
`redisplay-frame'. Abort if frame not initialized.
redisplay.c: Check for stream frames/devices.
window.el: walk-windows was broken when a frame was given to WHICH-FRAMES.
it would loop forever. The FSF version fixes this but i didn't
sync to them because (a) it conses (bad for lazy-lock), (b) it
calls select-window.
author | ben |
---|---|
date | Sun, 09 Feb 2003 09:33:48 +0000 |
parents | fffe735e63ee |
children | f3437b56874d |
comparison
equal
deleted
inserted
replaced
1278:1706fd7322af | 1279:cd0abfdb9e9d |
---|---|
3364 /* Iconified */ | 3364 /* Iconified */ |
3365 mswindows_enqueue_magic_event (hwnd, XM_UNMAPFRAME); | 3365 mswindows_enqueue_magic_event (hwnd, XM_UNMAPFRAME); |
3366 } | 3366 } |
3367 else | 3367 else |
3368 { | 3368 { |
3369 GetClientRect(hwnd, &rect); | 3369 GetClientRect (hwnd, &rect); |
3370 FRAME_PIXWIDTH(frame) = rect.right; | 3370 FRAME_PIXWIDTH (frame) = rect.right; |
3371 FRAME_PIXHEIGHT(frame) = rect.bottom; | 3371 FRAME_PIXHEIGHT (frame) = rect.bottom; |
3372 | 3372 |
3373 pixel_to_real_char_size (frame, rect.right, rect.bottom, | 3373 pixel_to_real_char_size (frame, rect.right, rect.bottom, |
3374 &FRAME_MSWINDOWS_CHARWIDTH (frame), | 3374 &FRAME_MSWINDOWS_CHARWIDTH (frame), |
3375 &FRAME_MSWINDOWS_CHARHEIGHT (frame)); | 3375 &FRAME_MSWINDOWS_CHARHEIGHT (frame)); |
3376 | 3376 |
3404 * been sent we can mark the frame as visible (just | 3404 * been sent we can mark the frame as visible (just |
3405 * like 21.1 did). */ | 3405 * like 21.1 did). */ |
3406 FRAME_VISIBLE_P (frame) = 1; | 3406 FRAME_VISIBLE_P (frame) = 1; |
3407 } | 3407 } |
3408 | 3408 |
3409 if (!msframe->sizing || mswindows_dynamic_frame_resize) | 3409 if (frame->init_finished && |
3410 (!msframe->sizing || mswindows_dynamic_frame_resize)) | |
3410 redisplay (); | 3411 redisplay (); |
3411 } | 3412 } |
3412 } | 3413 } |
3413 } | 3414 } |
3414 break; | 3415 break; |
3426 through as many frames as it currently has open. Message time | 3427 through as many frames as it currently has open. Message time |
3427 will be the same for all these messages. Despite extreme | 3428 will be the same for all these messages. Despite extreme |
3428 efficiency, the code below has about one in 4 billion | 3429 efficiency, the code below has about one in 4 billion |
3429 probability that the HDC is not recreated, provided that | 3430 probability that the HDC is not recreated, provided that |
3430 XEmacs is running sufficiently longer than 52 days. */ | 3431 XEmacs is running sufficiently longer than 52 days. */ |
3431 if (DEVICE_MSWINDOWS_UPDATE_TICK(d) != message_tick) | 3432 if (DEVICE_MSWINDOWS_UPDATE_TICK (d) != message_tick) |
3432 { | 3433 { |
3433 DEVICE_MSWINDOWS_UPDATE_TICK(d) = message_tick; | 3434 DEVICE_MSWINDOWS_UPDATE_TICK (d) = message_tick; |
3434 DeleteDC (DEVICE_MSWINDOWS_HCDC(d)); | 3435 DeleteDC (DEVICE_MSWINDOWS_HCDC (d)); |
3435 DEVICE_MSWINDOWS_HCDC(d) = CreateCompatibleDC (NULL); | 3436 DEVICE_MSWINDOWS_HCDC (d) = CreateCompatibleDC (NULL); |
3436 } | 3437 } |
3437 } | 3438 } |
3438 break; | 3439 break; |
3439 | 3440 |
3440 /* Misc magic events which only require that the frame be identified */ | 3441 /* Misc magic events which only require that the frame be identified */ |
3505 #ifdef HAVE_SCROLLBARS | 3506 #ifdef HAVE_SCROLLBARS |
3506 case WM_VSCROLL: | 3507 case WM_VSCROLL: |
3507 case WM_HSCROLL: | 3508 case WM_HSCROLL: |
3508 { | 3509 { |
3509 /* Direction of scroll is determined by scrollbar instance. */ | 3510 /* Direction of scroll is determined by scrollbar instance. */ |
3510 int code = (int) LOWORD(wParam); | 3511 int code = (int) LOWORD (wParam); |
3511 int pos = (short int) HIWORD(wParam); | 3512 int pos = (short int) HIWORD (wParam); |
3512 HWND hwndScrollBar = (HWND) lParam; | 3513 HWND hwndScrollBar = (HWND) lParam; |
3513 struct gcpro gcpro1, gcpro2; | 3514 struct gcpro gcpro1, gcpro2; |
3514 | 3515 |
3515 mswindows_handle_scrollbar_event (hwndScrollBar, code, pos); | 3516 mswindows_handle_scrollbar_event (hwndScrollBar, code, pos); |
3516 GCPRO2 (emacs_event, fobj); | 3517 GCPRO2 (emacs_event, fobj); |