worldforge/ember — comment on commit 14f9016b7008bf536d58358801050aca4ac83c99
File:  line 0
By erikhjortsberg:

sigc::trackable should always be declared as "virtual". This is mainly a safety measure; in this case I don't think it changes anything, but if ever any of the other classes also inherit from it, or if there are subclasses of these classes which also inherit from it we won't get any strange issues.

So, when you inherit with "virtual" you make sure that if there ever are two or more classes in your class hierarchy which both inherit from sigc::trackable they will share the same "instance" (a simplified explanation, see http://en.wikipedia.org/wiki/Virtual_inheritance for example). Else you will end up with an class with duplicate vtables for sigc::trackable. That will probably in most cases work, but there's an unnecessary extra vtable entry.