emacs-pretest-bug
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Segfault and font corruption in menu under Windows


From: Eli Zaretskii
Subject: Re: Segfault and font corruption in menu under Windows
Date: Thu, 03 Aug 2006 23:49:18 +0300

> From: Ralf Angeli <address@hidden>
> Date: Thu, 03 Aug 2006 22:13:59 +0200
> 
> > Program received signal SIGSEGV, Segmentation fault.
> > [Switching to thread 2984.0x834]
> > 0x77c17fd4 in _libkernel32_a_iname ()
> > (gdb) backtrace
> > #0  0x77c17fd4 in _libkernel32_a_iname ()
> > #1  0x20ecefa8 in ?? ()
> > #2  0x01134e94 in w32_wnd_proc (hwnd=0x45029e, msg=44, wParam=0, 
> >     lParam=552399352) at w32fns.c:3513
> 
> Here is some more information: The segfault happens when calling
> 
>                 /* Always draw title as if not selected.  */
>                 if (unicode_append_menu)
>                   ExtTextOutW (hdc,
>                                pDis->rcItem.left
>                                + GetSystemMetrics (SM_CXMENUCHECK),
>                                pDis->rcItem.top,
>                                ETO_OPAQUE, &pDis->rcItem,
>                                (WCHAR *) title,
>                                wcslen ((WCHAR *) title), NULL);
> 
> It seems that the value behind `title' is incorrect.  In case the
> value is correct, examining the value in GDB with `p title' returns
> the first character of the string to be drawn, e.g.
> 
> Breakpoint 1, w32_wnd_proc (hwnd=0x5002e0, msg=43, wParam=0, 
> lParam=552399328) at w32fns.c:3571
> (gdb) p *title
> $5 = 71 'G'
> (gdb) p title
> $6 = 0x85f988 "G"
> (gdb) 
> 
> When the crash happened, the value behind `title', however, looks like
> this (control characters replaced by strings):

Put a watchpoint to watch *(char *)0x85f988, and see what code
modifies it.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]