[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Who's maintaining the Win32 display code?
From: |
David Abrahams |
Subject: |
Who's maintaining the Win32 display code? |
Date: |
Tue, 16 Sep 2003 20:30:53 -0400 |
User-agent: |
Gnus/5.1003 (Gnus v5.10.3) Emacs/21.3.50 (windows-nt) |
I've been reporting these crashes for several months; is anyone going
to try to track this down or at least give me some pointers? If not,
maybe as I suggested earlier Win32 should be dropped as a target
platform. I've done my best to debug the code, but without some
guidance as to what's supposed to be happening, I'm lost. I can say
that it appears to be trying to draw my cursor. In w32_text_out(),
s->gc->font appears to be garbage and s->font appears to be valid.
There appear to be many ways to get to a W32FontStruct from a
glyph_string*; I have no idea whether any or all of them are supposed
to match up, but I am guessing that there's a lot of redundancy here
and the invariant is too complicated to be easily maintained. Anyway,
that's about all I can contribute: stack traces and speculation.
I'm very discouraged :(
emacs.exe!get_cached_font_char(bdffont * fontp=0x31003935, int
strchr=0x00000020) Line 343 + 0x16 C
emacs.exe!get_bitmap_with_cache(bdffont * fontp=0x31003935, int
strchr=0x00000020) Line 541 + 0xd C
emacs.exe!w32_BDF_TextOut(bdffont * fontp=0x31003935, HDC__ *
hdc=0x1f010988, int left=0x00000313, int top=0x000000b1, unsigned char *
text=0x0082ec70, int dim=0x00000001, int bytelen=0x00000000, int
fixed_pitch_size=0x00000000) Line 672 + 0xd C
emacs.exe!w32_text_out() Line 1130 + 0x33 C
emacs.exe!x_draw_glyph_string_foreground(glyph_string * s=0x0082ec74)
Line 1505 + 0x25 C
emacs.exe!x_draw_glyph_string(glyph_string * s=0x0082ec74) Line 2381 +
0x9 C
emacs.exe!draw_glyphs() Line 17421 + 0xf C
emacs.exe!draw_phys_cursor_glyph(window * w=0x01c74000, glyph_row *
row=0x02080658, draw_glyphs_face hl=DRAW_CURSOR) Line 18853 + 0x36 C
emacs.exe!w32_draw_window_cursor() Line 5135 + 0xf C
> emacs.exe!display_and_set_cursor(window * w=0x01c74000, int
> on=0x00000001, int hpos=0x00000000, int vpos=0x0000000e, int x=0x00000000,
> int y=0x000000a8) Line 19049 + 0x2a C
emacs.exe!x_update_window_end(window * w=0x01c74000, int
cursor_on_p=0x00000001, int mouse_face_overwritten_p=0x00000000) Line 542 +
0x25 C
emacs.exe!update_window(window * w=0x01c74000, int force_p=0x00000000)
Line 4199 + 0x1d C
emacs.exe!update_window_tree(window * w=0x01c74000, int
force_p=0x00000000) Line 3885 + 0xd C
emacs.exe!update_window_tree(window * w=0x024eb400, int
force_p=0x00000000) Line 3881 + 0x16 C
emacs.exe!update_frame(frame * f=0x01676a00, int force_p=0x00000000,
int inhibit_hairy_id_p=0x00000000) Line 3822 + 0xd C
emacs.exe!redisplay_internal(int preserve_echo_area=0x00000001) Line
10114 + 0xd C
emacs.exe!redisplay_preserve_echo_area(int from_where=0x00000008) Line
10253 + 0x7 C
emacs.exe!detect_input_pending_run_timers(int do_display=0x00000001)
Line 9913 + 0x7 C
emacs.exe!wait_reading_process_input(int time_limit=0x0000001e, int
microsecs=0x00000000, int read_kbd=0x0fffffff, int do_display=0x00000001) Line
4116 + 0x9 C
emacs.exe!sit_for(int sec=0x0000001e, int usec=0x00000000, int
reading=0x00000001, int display=0x00000001, int initial_display=0x00000000)
Line 6251 + 0x15 C
emacs.exe!read_char(int commandflag=0x00000001, int nmaps=0x00000003,
int * maps=0x0082f8ec, int prev_event=0x113a8404, int *
used_mouse_menu=0x0082fab0) Line 2721 + 0x24 C
emacs.exe!read_key_sequence(int * keybuf=0x0082fc44, int
bufsize=0x0000001e, int prompt=0x113a8404, int dont_downcase_last=0x00000000,
int can_return_switch_frame=0x00000001, int fix_current_buffer=0x00000001)
Line 8827 + 0x2a C
emacs.exe!command_loop_1() Line 1505 + 0x1b C
emacs.exe!internal_condition_case(int (void)* bfun=0x010176f0, int
handlers=0x113c7e44, int (void)* hfun=0x010171c0) Line 1333 + 0x5 C
emacs.exe!command_loop_2() Line 1292 + 0x15 C
emacs.exe!internal_catch(int tag=0x113bd404, int (void)*
func=0x01017540, int arg=0x113a8404) Line 1094 + 0x9 C
emacs.exe!command_loop() Line 1271 + 0x17 C
emacs.exe!recursive_edit_1() Line 987 + 0x5 C
emacs.exe!Frecursive_edit() Line 1044 C
emacs.exe!main() Line 1668 C
emacs.exe!mainCRTStartup() Line 259 + 0x12 C
emacs.exe!_start() Line 131 C
kernel32.dll!77e814c7()
--
Dave Abrahams
Boost Consulting
www.boost-consulting.com
- Who's maintaining the Win32 display code?,
David Abrahams <=