Comment 2 for bug 553415

Revision history for this message
In , Jcook5376 (jcook5376) wrote :

In some further testing, we've narrowed the problem down a bit to the XtGrabButton in RCPopup.C in the Xm library. When using motif to create a popup, using, for example XmCreatePopupMenu, it seems to use XtGrabButton. We found that if XtUngrabButton is called, the problem doesn't occur.

For example, a popup is created like so in example code:
menuRC = XmCreatePopupMenu(parent, (char*)(const char*)menuName, NULL, 0);

Then Ungrabbed immediately after:

for (i=0; i < ((_XmRowColumnRec *)menuRC)->row_column.postFromCount; i++)
{
    XtUngrabButton( ((_XmRowColumnRec *)menuRC)->row_column.postFromList[i], AnyButton, AnyModifier);
}

Now the pop-up works with mouse button 3 correctly. I'm not sure what other effects this workaround would have, but it seems to be working for us so far.