... for functions in final classes.
override is like const -- it's not necessary, but it helps the compiler to
catch mistakes.
There may be some overriding functions not explicitly declared virtual and I did
not identify such cases, in which I might also add override.
... Should have no effect on generated code, except perhaps some slight faster
virtual function calls. Mostly useful as documentation of design intent.
Tried to mark every one of our classes that inherits from another, or is a
base for others, or has abstract virtual functions, and a few others besides.
This captures crashes on Windows along with the stack backtrace.
On Linux (fedora 21 at least), the necessary function to enable
capture is not included in the system wx libs. But, a self built
version works fine and capture the backtrace, so I'm assuming
other distros will probably work as well.
On OSX, the crashes are caught, but it does not include the
backtrace.
But, really, the backtraces aren't all that useful in a release
build since we don't ship with debug symbols and optimization
plays havoc with proper backtraces anyway.
The real benefit will be for the support folks as they can now
get consistent info from user by asking the to generate a report
from the "Help->Generate Support Data" menu item.