Recently I posted a ticket (635) about Todo plugin failure due to memory corruption. Later I realized the culprit was the splash screen; Removing just the call to Show() or Destroy() was enough to get a working Todo plugin.
wxWidgets has already a wxSplashScreen just for this purpose, so is it really necessary reinventing the wheel with cbSplashScreen?. I have patched app.cpp for using wxSplashScreen and all works as it should (at least on MSW and wx3.1.1). cbSplashScreen addressed some macos peculiarities, but I think the wxWidgets team should take care of them in wxSplashScreen.
I post here instead of creating a ticket to reduce the noise there if the change is not accepted.
I have attached the patch, if accepted it will need a second patch removing all the unneeded methods of cbSplashScreen.
This patch is not good enough. It leads to crashes in wx2.8 builds on linux, because the m_pSplash is pointing to an invalid object in the Splash::Hide call in app.cpp.
Can you test if the attached patch solves the original problem?
Can you test also wx2.8 builds?
The patch works OK with wx3.0.3 and wx2.8.12, MSW10 32 bits and TDM 5.1.
Today I will test wx3.1.1, MSW7 64 bits and MinGW64 with GCC 7.2.0.
OK also with wx3.1.1, MSW7 64 bits and MinGW64 with GCC 7.2.0 (generating a 32 bits executable).
I think ticket 635 can be closed now, as the Todo plugin already works.
Commited and issue closed. Thanks.