Return to BSD News archive
Path: euryale.cc.adfa.oz.au!newshost.anu.edu.au!harbinger.cc.monash.edu.au!nntp.coast.net!chi-news.cic.net!usc!math.ohio-state.edu!jussieu.fr!fdn.fr!r2d2.fdn.org!idefix.fdn.fr!not-for-mail From: tb@idefix.fdn.fr (Bruno Treguier) Newsgroups: comp.unix.bsd.freebsd.misc Subject: xpaint 2.1.1 dumps core... Date: 23 Dec 1995 19:36:13 +0100 Organization: Home sweet home Lines: 47 Message-ID: <4bhi6t$1p0@idefix.fdn.fr> NNTP-Posting-Host: idefix.fdn.fr Hi all, I recently compiled xpaint-2.1.1 from the archive, after having applied the appropriate patches from the ports collection, and am currently having problems with the "select Box" and "select Area" operations. I tried the pre-compiled version in the packages area, and it seems to suffer from same problem, so I guess it's not my way of compiling and linking (which I think is quite standard...) that is causing the trouble. Description of the problem: A right button click on one of these two icons pops up a menu, by means of which you can select or omit a color range, and specify what color range is to be taken into account. When I select "Select range", xpaint exits on signal 11 (SIGSEGV). I dived into the source code, and found the problem had something to do with the widget "w" passed to the SelectChromaDialog() function, whose structure, for some unknown (at least to me) reason seems to be somewhat corrupt. Certain members like "name" or "screen" of the "core" part of the widget are NULL pointers, and I guess they shouldn't be... This widget w is used in a XtScreen(w) call, which of course returns a NULL pointer (as its "core.screen" member is NULL), and causes the core dump. The difficulty for me resides in the fact that the function SelectChromaDialog() is called from another one, changeChromaAction(), which is a callback, and as I'm no X guru, I really don't have any idea of what can be going wrong in this widget's "travel" through function calls and callbacks. Where does it lose its screen member ? Does it ever get one ? I've managed to find a workaround, though: replacing the XtScreen(w) call in SelectChromaDialog() by XtScreenOfObject(w) make the whole thing work, but I DON'T KNOW WHY ! :-) Thanks for any help/trick/pointer/money :-) Merry Christmas and a Happy New Year ! Bruno -- Bruno TREGUIER <tb@idefix.fdn.fr> | " Il y a 3 sortes de personnes: FreeBSD 2.1.0, XFree86 3.1.2 | celles qui savent compter, Brest, FRANCE | et celles qui ne savent pas..."