How are you storing your selection texts in memory?  The selections must
persist
throughout the life of the list otherwise you get this sort of thing.

-Ken


> ----------
> From:         Nielsen, Jimmy Selgen[SMTP:[EMAIL PROTECTED]]
> Reply To:     Palm Developer Forum
> Sent:         Friday, February 18, 2000 11:57 AM
> To:   Palm Developer Forum
> Subject:      Dynamic popup list weirdness (long)
> 
> > Hi... i'm having a lot of trouble with a dynamic popup list...
> > 
> > When i start up my app, everything looks fine... and all the elements
> are
> > in the list... but when i select an element from the list, POSE tells me
> > that i've just read from low memory. and after that the app dies with a
> > bus error!...
> > 
> > I've tried to crop my eventhandling down to frmOpenEvent only, and it
> > still dies....
> > 
> > Here is the code i use for drawing the list :
> > 
> > void ProjectListDrawFunction(UInt itemNum,RectanglePtr bounds,CharPtr
> > pUnused)
> > {
> >    project_rec prec;
> >    DBOpen();
> >    if(GetProjectRec(itemNum,&prec)!=-1)
> >    {
> >  
> >
> WinDrawChars(prec.Name,StrLen(prec.Name),bounds->topLeft.x,bounds->topLeft
> > .y);     
> >    }
> >    else
> >       WinDrawChars("Error getting project name",StrLen("Error getting
> > project name"),bounds->topLeft.x,bounds->topLeft.y);
> >    DBClose();  
> > }
> > 
> > and here is the code i go through in the eventhandler (shorted) :
> >                ListPtr
> lptr=GetObjectPtr(FrmGetActiveForm(),ProjectList);
> >                if(lptr!=NULL)
> >                {
> >                   Word sel=LstGetSelection(lptr);
> >                   if(sel!=noListSelection)
> >                   {
> >                      CharPtr pname=LstGetSelectionText(lptr,sel);
> >           }
> >                }
> > 
> > 
> > I know from debugging with gdb, that the point where it dies is at
> > LstGetSelectionText
> > here are the values of the variables at runtime :
> > 
> > *lptr
> > (gdb) print *lptr
> > $1 = {id = 5002, bounds = {topLeft = {x = 1, y = 18}, extent = {x = 156,
> >       y = 33}}, attr = {usable = 0, enabled = 1, visible = 0, poppedUp =
> > 0,
> >     hasScrollBar = 0, search = 0, reserved = 0}, itemsText = 0x0,
> >   numItems = 1, currentItem = 0, topItem = 0, font = stdFont, popupWin =
> > 0x0,
> >   drawItemsCallback = 0x1001b400 <ProjectListDrawFunction>}
> > 
> > sel
> > (gdb) print sel
> > $2 = 0
> > 
> > pname
> > (gdb) print pname
> > $3 = 0x4 ""
> > 
> > 
> > Could someone please try to guide me in the rigth direction here.... 
> > 
> > Jimmy
> 
> -- 
> For information on using the Palm Developer Forums, or to unsubscribe,
> please see http://www.palm.com/devzone/mailinglists.html
> 

-- 
For information on using the Palm Developer Forums, or to unsubscribe, please see 
http://www.palm.com/devzone/mailinglists.html

Reply via email to