[Top][All Lists]

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

RE: Core dump in the latest CDK

From: Fu Steve X
Subject: RE: Core dump in the latest CDK
Date: Wed, 4 Jan 2006 07:41:44 -0500

Yes, I use CDK with Solaris Curses.

Now I know what happened. As discussed in the thread below, I moved the call InjectObj (curobj, key) in traverseCDKScreen around in order to register callbacks for the TAB and ESC keys. That was in the previous version of CDK. Now I do the similar thing in the new CDK, moving the call InjectObj (curobj, key) to the first line in traverseCDKScreen. Callbacks for TAB and ESC work but that causes core dump.


Is there any way to get the callbacks for TAB and ESC to work correctly with traverseCDKScreen?


Steve Fu

-----Original Message-----
From: Thomas Dickey [mailto:address@hidden]
Sent: Tuesday, January 03, 2006 3:33 PM
To: Fu Steve X
Cc: 'address@hidden'
Subject: Re: Core dump in the latest CDK

On Tue, 3 Jan 2006, Fu Steve X wrote:

> Thomas,
> I started to look at version 20051230. Some fixes works well such as the
> setCDKFocusFirst function and getting rid of multiple highlighted widgets
> when first popping up. Thanks so much!
> Please take a look at the core dump below. Thanks.

Is this with Solaris curses?  There could be some place where it returns
a null WINDOW pointer that ncurses does not.  A quick check with ncurses
and valgrind isn't showing me a problem.

The quick fix of course would be to add a null-pointer check in
fixCursorPosition(), but it would also be good to fix whatever problem is
producing the null-pointer check.


> Steve Fu
> ------------------------ cut here -----------------
> program terminated by signal SEGV (no mapping at the fault address)
> 0xffffffff7e225d50: wmove+0x0020:       ldsh     [%i0 + 6], %g4
> Current function is fixCursorPosition
>  215      wmove(InputWindowOf(widget), ypos, xpos);
> (dbx) where
>  [1] wmove(0x0, 0x1, 0x1, 0x1b, 0x232d, 0x0), at 0xffffffff7e225d50
> =>[2] fixCursorPosition(widget = 0x100280670), line 215 in "scroll.c"
>  [3] _injectCDKScroll(object = 0x100280670, input = 27U), line 375 in
> "scroll.c"
>  [4] traverseCDKOnce(screen = 0x100185950, curobj = 0x100280670, keyCode =
> 27, functionKey = 0, funcMenuKey = 0x10005c1c0 =
> &`assn.exe`traverse.c`checkMenuKey(int keyCode, int functionKey)), line 291
> in "traverse.c"
>  [5] traverseCDKScreen(screen = 0x100185950), line 370 in "traverse.c"

Thomas E. Dickey

reply via email to

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