Problem in function XmTargetsAreCompatible

Hi,

I have a problem with the motif function, XmTargetsAreCompatible.
Here is the details:
I am trying to drag an object to another object(i.e,Drag and Drop functionality) in 64 bit Linux. The problem is, out of 10, 2 times it is getting dropped to the particular location.But it is getting failed in rest of the cases where it is working perfectly on 32 bit platforms.

I debugged my code and found the following:
Before getting dropped to the particular location it checks the compatibility of source and target by using a function "XmTargetsAreCompatible(XtDisplay(w),exportTargets,numExportTargets,importTargets,numImportTargets)".
This function should return TRUE if they are compatible and FALSE for incompatible.

So it is returning 0 in most of the cases though it is compatible(in 64 bit Linux). And returning 1 for one or two times out of 10.
When it is returning 1 it is getting dropped(it is working).
Actually I want to make it work for all the cases like 32 bit platforms.

It would be great if you can help in XmTargetsAreCompatible function to make it return 1 :)

Thanks in advance,
Rabi


fredk

fredk's picture

How are you generating the

How are you generating the exportTargets and importTargets arrays?


rabi1785

rabi1785's picture

Hi, Thanks a lot for your

Hi,

Thanks a lot for your reply.
I am generating the exportTargets and importTargets by the following code:

nargs = 0;
XtSetArg(args[nargs], XmNexportTargets,&exportTargets);
nargs++;
XtSetArg(args[nargs], XmNnumExportTargets,&numExportTargets);
nargs++;
XtGetValues(dragcb->dragContext, args, nargs);

nargs = 0;
XtSetArg(args[nargs], XmNimportTargets,&importTargets);
nargs++;
XtSetArg(args[nargs], XmNnumImportTargets,&numImportTargets);
nargs++;

Thanks.