As far as I know WT is responsible for all of the memory management and it
should delete the old model.
Check the code to see if there is a smart pointer in there or a delete
statement.

2010/2/24 Hubbard, Charles W <[email protected]>

>  Hello list,
>
> I am having some trouble with WTreeView widgets, and I am sure the problem
> is that I just don’t understand the proper way to do things.  Here’s the
> story…
>
> We are trying to build a file selector dialog box to allow the user to
> select a file local to the server.  To do this, we read the file and
> directory names out of the “current” directory path, and use those to
> populate a WStandardItem model.  The WStandardItem model is attached to a
> WSortFilterProxyModel which is then attached to a WTreeView widget.  That
> part all works fine.  The files display properly in the WTreeView, the
> columns are sortable, the entries filter properly, and everything works just
> the way we want it to.  The problem comes when a user double-clicks on a
> directory entry.  At this point, we need to repopulate the model with the
> files and directories that live inside the directory just selected by the
> user.
>
> My only prior experience with WStandardItem models is in connection with
> WCartesianChart widgets.  For my plotting applications, when it comes time
> to repopulate the model with different sets of plot data, I just call
> model->clear(), and add new rows, columns and series definitions as needed
> to contain the users newly selected data sets.  That all works just fine,
> and I assumed the process for this WTreeView application would be similar.
> So, I assumed that when the time came to repopulate the model containing our
> file names with file names from a new directory, I could just call
> model->clear() on the WStandardItem model, and then add new rows and columns
> to the model to contain the new names.  But that doesn’t work.  Instead, as
> soon as I call model->clear() the program crashes with a seg fault.  If
> instead, I instantiate a brand new WStandardItem model, populate it with the
> new file data, and then add that to the proxy model, that works fine.  But I
> figure that’s probably not the way I’m supposed to be doing it.  For one
> thing, that leaves the memory used by the previous WStandardItem model still
> allocated.
>
> So my question is, what is the correct way to clear out a model attached to
> a WTreeView (well, actually attached to a WSortFilterProxyModel that’s
> attached to a WTreeView) and repopulate it?
>
> I guess I should also mention I’m running this on Ubuntu 9.10 with some
> flavor of v3.0 Wt (it’s a development revision from the git repository
> pulled a few days after v3.0 was released to pick up some bug fixes), using
> the wthttpd connector.
>
> Any comments or suggestions will be most welcome.
>
>
> Charlie Hubbard
>
>
>
>
> ------------------------------------------------------------------------------
> Download Intel&#174; Parallel Studio Eval
> Try the new software tools for yourself. Speed compiling, find bugs
> proactively, and fine-tune applications for parallel performance.
> See why Intel Parallel Studio got high marks during beta.
> http://p.sf.net/sfu/intel-sw-dev
> _______________________________________________
> witty-interest mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/witty-interest
>
>
------------------------------------------------------------------------------
Download Intel&#174; Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
_______________________________________________
witty-interest mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/witty-interest

Reply via email to