View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0003526||Slicer4||Core: Usability||public||2013-12-09 12:33||2015-09-01 10:26|
|Priority||normal||Severity||minor||Reproducibility||have not tried|
|Target Version||Fixed in Version|
|Summary||0003526: User proper null pointer checking instead of assert|
From the slicer-devel mailing list, there's consensus on changing uses of assert to null pointer checking and vtkErrorMacro and returning rather than crashing in debug mode.
The nightly testing assumptions may need to be adjusted to get correct test failures and to ensure that developers fix problems that the asserts were catching.
|Tags||No tags attached.|
Did it in two commits, one removing the C++ asserts:
Ran make Experimental uploads as was making changes, and caught a few logic errors. Last one after rebasing:
Posting to the dev list for more feedback, especially on the qMRMLSceneModel
What I found useful and what makes the log messages consistent is to prefix all messages from std and Qt with class and function name, like
I also have been thinking about the std::cerr usage where there is no VTK object whatsoever that can be used for vtkErrorWithObjectMacro and such, and found a macro named vtkGenericWarningMacro. I haven't had time to look into that, just made a note about it, so this might not work, but is worth noting, in case it does.
Waiting Slicer transition to Qt5, to associate more information with qCritical/qWarning/qDebug, the QMessageLogger class now available in Qt5 could be backported into CTK. See http://qt-project.org/doc/qt-5.0/qtcore/qmessagelogger.html#details
Rebase topic branch and integrate on Mar 6 or 7, 2014.
|2013-12-09 12:33||nicole||New Issue|
|2013-12-09 12:33||nicole||Status||new => assigned|
|2013-12-09 12:33||nicole||Assigned To||=> nicole|
|2013-12-19 13:03||nicole||Note Added: 0010451|
|2013-12-19 13:12||nicole||Note Edited: 0010451|
|2013-12-19 15:12||pinter||Note Added: 0010452|
|2013-12-19 17:38||jcfr||Note Added: 0010455|
|2014-03-06 11:11||nicole||Note Added: 0011262|
|2014-03-07 09:50||pieper||Target Version||Slicer 4.4.0 => Slicer 4.5.0-1|
|2014-05-13 12:52||jcfr||Status||assigned => acknowledged|
|2015-09-01 10:26||nicole||Target Version||Slicer 4.5.0-1 =>|