----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://git.reviewboard.kde.org/r/117701/#review56269 -----------------------------------------------------------
src/kstartupinfo.cpp <https://git.reviewboard.kde.org/r/117701/#comment39336> this function is so ugly that i wonder whether removal by value is actually required at all and in case it should try to find the iterator and use that in case of success - instead of the ugly ::operator[] ;-) src/kstartupinfo.cpp <https://git.reviewboard.kde.org/r/117701/#comment39334> this is somehow not equivalent to the other variant (ignores silent/uninited) - the iterator should perhaps go with a map pointer/reference to stress this (and as a matching map usage is required anyway) src/kstartupinfo.cpp <https://git.reviewboard.kde.org/r/117701/#comment39335> ahhh... this one's the (semi-)obvious crasher =) (I had first only seen the other loops, which looked pretty harmless) Though i had assumed that the non-const iterator would have detached the list anyway. - Thomas Lübking On April 23, 2014, 9:35 a.m., Martin Gräßlin wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://git.reviewboard.kde.org/r/117701/ > ----------------------------------------------------------- > > (Updated April 23, 2014, 9:35 a.m.) > > > Review request for KDE Frameworks, Àlex Fiestas and Bhushan Shah. > > > Bugs: 332681 > https://bugs.kde.org/show_bug.cgi?id=332681 > > > Repository: kwindowsystem > > > Description > ------- > > Fix crashers in KStartupInfo on remove while iterating > > This is similar to the change ... just for more cases. If the API was > used with ::checkStartup it could happen that an item got removed from > the startups while iterating the list of startups. Thus the data > corrupted resulting in a crash when getting a similar crash. > > In this case the code now uses erase instead of remove to have a valid > iterator. > > BUG: 332681 > > > Diffs > ----- > > autotests/kstartupinfo_unittest.cpp > 29fa320bc2c82e7e04a7322111bcdba44b7078c6 > src/kstartupinfo.cpp 6a95ce2d2eb79abbfbd072fa922f458da30d37eb > > Diff: https://git.reviewboard.kde.org/r/117701/diff/ > > > Testing > ------- > > See new unit tests which crash without the change. For people wanting to run > the test: be warned it has the power to crash plasma-shell and kwin. > > > Thanks, > > Martin Gräßlin > >
_______________________________________________ Kde-frameworks-devel mailing list Kde-frameworks-devel@kde.org https://mail.kde.org/mailman/listinfo/kde-frameworks-devel