Unless somebody is already working on the rest of
this problem, I should have time (I hope) to look at it
myself tomorrow.

-- Dave Williss

----- Original Message ----- 
From: "Dave Williss" <[EMAIL PROTECTED]>
To: "Danny Backx" <[EMAIL PROTECTED]>
Cc: <[EMAIL PROTECTED]>
Sent: Monday, August 23, 2004 10:01 AM
Subject: Re: [Lesstif-discuss] Error in XmList


> It works better.
>
> After the Insert/Delete, nothing is selected and retrieving the
> list of selected items correctly reports the same.
>
> However...
>
> Checking a previous version of our software which used
> Motif, I see that after the Insert/Add operation, the newly
> added item became selected when deleting the selected
> item.
>
> This is consistent with the comment about a quirk of Motif
> in _XmListDeletePos, however, it's not getting into that bit
> of code because position (2) does not == List_LastHLItem(w)
> (which is still 1)  So it looks like Insert needs to adjust
> LastHLItem.
>
> Fixing this would at least visually make it the same as
> Motif.  I don't know if Motif issues callbacks telling the
> program about the change in selection.  One would think
> that logically it should.
>
>
> ----- Original Message ----- 
> From: "Danny Backx" <[EMAIL PROTECTED]>
> To: "Martin Simmons" <[EMAIL PROTECTED]>
> Cc: <[EMAIL PROTECTED]>; "LessTif Mailing List"
> <[EMAIL PROTECTED]>
> Sent: Sunday, August 22, 2004 3:39 AM
> Subject: Re: [Lesstif-discuss] Error in XmList
>
>
> > I expect the problem described in Dave's message to be fixed now.
> >
> > Dave, can you verify ?
> >
> > Danny
> >
> > On Fri, 2004-08-20 at 19:11, Martin Simmons wrote:
> > > >>>>> On Fri, 20 Aug 2004 10:56:16 -0500, "Dave Williss"
> <[EMAIL PROTECTED]> said:
> > >
> > >   Dave> ----- Original Message ----- 
> > >   Dave> From: "Martin Simmons" <[EMAIL PROTECTED]>
> > >   Dave> To: <[EMAIL PROTECTED]>
> > >   Dave> Cc: <[EMAIL PROTECTED]>
> > >   Dave> Sent: Friday, August 20, 2004 4:39 AM
> > >   Dave> Subject: Re: [Lesstif-discuss] Error in XmList
> > >
> > >
> > >   >> >>>>> On Thu, 19 Aug 2004 16:57:07 -0500, "Dave Williss"
> > >   Dave> <[EMAIL PROTECTED]> said:
> > >   >>
> > >   Dave> There is an error in XmList...
> > >   >>
> > >   Dave> Starting condition: You have a list with one item and it's
> > >   Dave> selected.
> > >   Dave> Call XmListAddItemUnselected() to add another item before it.
> > >   Dave> Then XmListDeletePos() to delete the old item.
> > >   >>
> > >   Dave> Problem: When adding the new item, it does not adjust the
> > >   Dave> List_SelectedIndices, so the list still thinks item 1 (the
first
> > >   Dave> one) is highlighted when actually it's item 2.
> > >   >>
> > >   >> Look like this could be related to bug # 916711
> > >   >>
> > >   >>
> > >   Dave>
>
http://sourceforge.net/tracker/index.php?func=detail&aid=916711&group_id=8596&atid=108596
> > >   >>
> > >
> > >   Dave> Could be related, but this one is more nasty.  When you add an
> item and then
> > >   Dave> delete the selected item, we're OK with ending up with nothing
> selected.
> > >   Dave> What's nasty here is that even though nothing is selected,
when
> you call
> > >   Dave> XmListGetSelectedPos, it still says that there's one item
> selected and
> > >   Dave> returns a list of one random number (unitialized garbage from
> the malloc
> > >   Dave> that was never filled in - if built for debugging, I think it
> has the value
> > >   Dave> of 0xbaadf00d).  We then try to use this item to index into an
> array of
> > >   Dave> stuff and KA BOOM!
> > >
> > >   Dave> A solution to this specific problem is pretty simple.  In
> > >   Dave> XmListGetSelectedPos, we add selected items to the return list
> using j as an
> > >   Dave> array index.  When we're done, j is the real number of
selected
> items and
> > >   Dave> that's what it should return for the count.
> > >   Dave> That would solve this problem but hide the real problem which
is
> that
> > >   Dave> something isn't keeping track of the number of selected items
> correctly in
> > >   Dave> the first place.
> > >
> > > Right.  I think the underlying bug is that changing the items should
> retain
> > > the selected *items*, not the selected *indices*.  If it did that then
> adding
> > > an item would adjust the selected indices from { 1 } to { 2 } and
> deleting
> > > item 2 would adjust the selected indices to nothing.
> > >
> > > I think that's what the Motif spec requires (e.g. the doc for the
> > > XmNselectedItems resource mentions it being updated in certain cases).
> > >
> > > __Martin
> > -- 
> > Danny Backx - danny.backx-at-planetinternet.be
http://up.to/danny.backx
> >
> >
> >
> > -------------------------------------------------------
> > SF.Net email is sponsored by Shop4tech.com-Lowest price on Blank Media
> > 100pk Sonic DVD-R 4x for only $29 -100pk Sonic DVD+R for only $33
> > Save 50% off Retail on Ink & Toner - Free Shipping and Free Gift.
> > http://www.shop4tech.com/z/Inkjet_Cartridges/9_108_r285
> > _______________________________________________
> > Lesstif-discuss mailing list
> > [EMAIL PROTECTED]
> > https://lists.sourceforge.net/lists/listinfo/lesstif-discuss
> >
>
>
>
> -------------------------------------------------------
> SF.Net email is sponsored by Shop4tech.com-Lowest price on Blank Media
> 100pk Sonic DVD-R 4x for only $29 -100pk Sonic DVD+R for only $33
> Save 50% off Retail on Ink & Toner - Free Shipping and Free Gift.
> http://www.shop4tech.com/z/Inkjet_Cartridges/9_108_r285
> _______________________________________________
> Lesstif-discuss mailing list
> [EMAIL PROTECTED]
> https://lists.sourceforge.net/lists/listinfo/lesstif-discuss
>



-------------------------------------------------------
SF.Net email is sponsored by Shop4tech.com-Lowest price on Blank Media
100pk Sonic DVD-R 4x for only $29 -100pk Sonic DVD+R for only $33
Save 50% off Retail on Ink & Toner - Free Shipping and Free Gift.
http://www.shop4tech.com/z/Inkjet_Cartridges/9_108_r285
_______________________________________________
Lesstif-discuss mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/lesstif-discuss

Reply via email to