> On 2010-06-08 19:20:44, Marco Martin wrote: > > this actually causes a memory escalation > > > > not actually a "leak" but in systemmonitor for instance each time a new > > value arrives, will have a different one > > so the values will continue to pile up more and more
i have here a patch that solves the problem. but i'm not sure if it's the right way to do it. but it stopped the systemloadviewer leak. http://pastebin.com/L9ByrKVT - Beat ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: http://reviewboard.kde.org/r/4235/#review6040 ----------------------------------------------------------- On 2010-06-05 00:08:34, John Layt wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > http://reviewboard.kde.org/r/4235/ > ----------------------------------------------------------- > > (Updated 2010-06-05 00:08:34) > > > Review request for Plasma. > > > Summary > ------- > > If a DataEngine implementation uses QHash::insertMulti() to try return > multiple values for a key, the DataContainer discards the multiple values and > only returns a single value to the client. > > A simplified example showing where 2 holidays occurring on the same date need > to be treated as separate data entities: > > Plasma::DataEngine::Data holidays; > holidays.insertMulti("2010-06-01", "A national public holiday"); > holidays.insertMulti("2010-06-01", "A minor religious holiday"); > setData(request, holidays); > > What gets returned to the client is only the second value for the minor > religious holiday, so the public holiday doesn't appear on the calendar. > > This is because the call to setData() loops through each value in the passed > in DataEngine::Data and calls DataContainer::setData(), which inserts each > value into a new DataEngine::Data, in the process discarding any previous > multiple values. > > This patch uses insertMulti() in the DataContainer::setData() to fix this. I > can't think of anything this would break by changing the behaviour to retain > any multiples, they can only get there in the first place by the DataEngine > explicitly calling insertMulti() so I think it's safe to assume the coder > wants them kept. > > The alternative would be to create new DataEngine::setMultiData() and > DataContainer::setMultiData() methods. > > > Diffs > ----- > > /trunk/KDE/kdelibs/plasma/datacontainer.cpp 1134380 > > Diff: http://reviewboard.kde.org/r/4235/diff > > > Testing > ------- > > Without the patch, holidays disappear between the calendar data engine and > the calendar plasmoid. With the patch all the holidays make it and can be > treated differently according to type. > > > Thanks, > > John > > _______________________________________________ Plasma-devel mailing list Plasma-devel@kde.org https://mail.kde.org/mailman/listinfo/plasma-devel