- Remove some non-base class empty destructors. These add no value
and it's better to let the compiler auto generate optimised versions
- use virtual ~Class = default instead of virtual ~Class {}
This reverts commit b4a85471978b59b129c0299dfd14c1af00fef743.
The template based approach was not cross-platform friendly. When
cross-compiling for Android it caused a new instance of every singleton per
shared library.
Mostly using the magic statics pattern instead now:
See http://stackoverflow.com/a/11711991/2319028
Important things to remember for crash on exit:
* QgsNetworkAccessManager needs to die before QApplication
* QgsMapLayerRegistry needs to be emptied before QgsProviderRegistry goes away
And finally:
DON'T USE SINGLETONS!
They are for "one and only one" and not for "happens to be only one" situations.
This commit adds a new framework for implementing paint effects, which
modify the results of QPainter operations to apply visual effects
such as drop shadows and blurs.
The initial implementation allows for effects to be applied to entire
layers and individual symbol layers.
Included are a drop shadow, inner shadow, blur, inner glow, outer glow,
colorise and transform effect. A "stack" effect is also implemented
which allows other paint effects to be combined in various ways.
Sponsored by hundreds of generous kickstarter contributors!