dtcreate crashed on 64-bit system when clicking
"Find Set.." button.
Crash happens in libXm:
new_w=0x805db4300, args=0x7fffffffb430, num_args=0x7fffffffb3dc)
at Form.c:1955
$1 = {att = {{type = 4 '\004', w = 0x805db3700, percent = 0, offset = 0,
value = 0, tempValue = 0}, {type = 1 '\001', w = 0x0, percent = 0,
offset = 10, value = 0, tempValue = 0}, {type = 3 '\003',
w = 0x805db3700, percent = 0, offset = 0, value = 0, tempValue = 0}, {
type = 3 '\003', w = 0x800000000, percent = 0, offset = 10, value = 0,
tempValue = 0}}, next_sibling = 0x0, sorted = 0 '\0',
resizable = 1 '\001', preferred_width = 0, preferred_height = 0}
(...)
at icon_selection_dialog.c:1768
1767 /* Creation of icon_scrolled_win */
1768 icon_scrolled_win = XtVaCreateManagedWidget( "icon_scrolled_win",
1769 xmScrolledWindowWidgetClass,
1770 icon_selection_dialog,
1771 XmNscrollingPolicy, XmAUTOMATIC,
1772 /* XmNnavigationType, XmTAB_GROUP, */
1773 XmNx, 282,
1774 XmNy, 84,
1775 XmNscrollBarDisplayPolicy, XmAS_NEEDED,
1776 XmNrightOffset, 10,
1777 XmNrightAttachment, XmATTACH_FORM,
1778 XmNtopOffset, 0,
1779 XmNtopWidget, icon_container_label,
1780 XmNtopAttachment, XmATTACH_WIDGET,
1781 XmNleftOffset, 0,
1782 XmNleftWidget, icon_container_label,
1783 XmNleftAttachment, XmATTACH_OPPOSITE_WIDGET,
1784 XmNbottomOffset, 10,
1785 XmNbottomWidget, XmATTACH_NONE,
1786 XmNbottomAttachment, XmATTACH_WIDGET,
1787 NULL );
What happens here is that ConstraintInitialize receives
four constraints, the last one is this:
{ type = 3 '\003', /* XmATTACH_WIDGET */
w = 0x800000000, /* malformed XmATTACH_NONE ???
percent = 0,
offset = 10, /* specified as XmNbottomOffset */
value = 0,
tempValue = 0}
XmATTACH_* values are defined in <Xm/Xm.h> as follows:
505 enum{ XmATTACH_NONE, XmATTACH_FORM,
506 XmATTACH_OPPOSITE_FORM, XmATTACH_WIDGET,
507 XmATTACH_OPPOSITE_WIDGET, XmATTACH_POSITION,
508 XmATTACH_SELF
509 } ;
What is not clear to why XmATTACH_NONE - which should be (int)0 -
becomes 0x800000000 - looks like a 64 bit bug somewhere.
Providing a long value on None (0L) as in this change fixes the
problem.
I understand is that it possible to use such an "empty" widget
is to create additional space at the bottom of the newly created
"icon_scrolled_win".
What needs to be clarified - shouldn't be such an (int) value be
automatically promoted to (long) (or XtArgVal, XtPointer, ...)
and preserve the value 0? Lots of parameters seem to be
passed as ints (for example dimensions) and they do not
appear to cause any trouble.
|
||
|---|---|---|
| .. | ||
| admin | ||
| config | ||
| contrib | ||
| databases | ||
| doc | ||
| examples | ||
| historical | ||
| imports/motif | ||
| include | ||
| lib | ||
| logs | ||
| osf | ||
| programs | ||
| util | ||
| .gitignore | ||
| CONTRIBUTORS | ||
| COPYING | ||
| HISTORY | ||
| Imakefile | ||
| Makefile | ||
| README | ||
| copyright | ||
README
************************************* The Common Desktop Environment is released under the terms of the LGPL V.2 license. You may reuse and redistribute this code under the terms of this license. See the COPYING file for details. ************************************* Purpose of this release: This release of CDE under a new opensource license is numbered starting at version 2.2.0. ************************************ Downloading this release: CDE may be downloaded in source form from the Common Desktop Environment website: http://sourceforge.net/projects/cdesktopenv/ Or via git: git clone git://git.code.sf.net/p/cdesktopenv/code cdesktopenv-code The git repository will always be more up to date than the downloadable tarballs we make available, so if you have problems, please try the latest version from git master. ************************************ Installing this release: Complete build and installation instructions can be found on the CDE wiki: http://sourceforge.net/p/cdesktopenv/wiki/Home/ Please go there and read the appropriate section(s) for your OS (Linux or FreeBSD/OpenBSD/NetBSD currently). There are a variety of dependancies that must be met, as well as specific set up steps required to build. Do not expect to just type 'make' and have it actually work without meeting the prerequisites and following the correct steps as spelled out on the wiki. :) There are also a lot of other documents and information there that you might find useful. ************************************ Support: You can join the development mailing list here: https://lists.sourceforge.net/lists/listinfo/cdesktopenv-devel There is a CDE IRC channel on chat.freenode.net, channel #cde Bug reports and patches encouraged.