Thomas Luebking - 2013-10-06

I hit this in about 5% of all cases.

The reason is that the dialog deletes QObject children from the parents deconstructor, what's crash prone itself and causes a crash because it (by the stackwidget crossfade animation) triggers a repaint of a widget with partially deleted children (and a polluted internal children list, thus the NULL pointer deref)

QWidget::render() should be noop while the widget is being deleted (deleting within paints is eg. not supported, you'd get a warning) but i've not found a usable way to determine this situation (the crashing this pointer is not even necessarily NULL, eg. it's usually not here. the stack has a valid count, the widget-for-index function returns a non-NULL widget pointer...)

Disabling tab animations will prevent this.

The backtrace seems to be actually from the kcm being invoked directly and for that i pot. do have a fix (testing whether the window is still tagged visible -> revision #1688)

But that won't fix the systemsettings module :-(