You shouldn't return a pointer here as it's not clear who should delete it afterwards (and the way you use it in ccDBRoot let met think that no one deletes it ;)

You can simply return a QIcon instance (no "star") and use the QIcon::isNull method to determine if it's a valid instance or not
```
virtual QIcon getIcon() const { return QIcon(); }
```