avoid accesing QCoreApplication in static constant before an instance was created
Review Request #128711 - Created Aug. 18, 2016 and submitted
Without this patch starting ktp-contactlist prints 4 times
QCoreApplication::arguments: Please instantiate the QApplication object first
even before hitting a breakpoint in main.
The reason is the constant definition this patch fixes, since it uses IconSize() which internally uses KIconLoader which somehow accesses QCoreApplication::arguments
(don't have the full stack here right now).
The result is also that no icons are shown and when closing the window the program crashes.
The patch fixes this by not using a const variable which is initialized too early but just uses
a #define which produces the code which is only run when the class instances are created.
Now no messages are printed from Qt, icons are shown, and the program no longer crashes on exit.
I have the same issue on my working machine, but I could not reproduce it at home or anywhere else, so I decided that it is an issue of my six years old system after crazy live migration from funtoo with qt4 to gentoo with qt5.
I fixed it a bit differently; replaced with a function, which returns the same static var.