CXTPObservable leaks during XTPShutdown |
Post Reply |
Author | |
ganzeiss
Newbie Joined: 25 November 2024 Status: Offline Points: 6 |
Post Options
Thanks(0)
Posted: 19 January 2025 at 9:19pm |
Hi, I am currently migrating from CodeJock 19.3 to CodeJock 24.0 and found that this issue is occurring to me. I use the static function CXTPPaintManager::SetTheme(xtpThemeVisualStudio2015) to set the theme for the paint manager.
However, when I call CXTPWinApp::ExitInstance(), and as the app starts to close, when XTPShutdown() is called during ~XTPApplication(), I get an assertion error during:
template<class Owner, class Observer> AFX_INLINE CXTPObservable<Owner, Observer>::~CXTPObservable() { ASSERT("All observers must be unsubscribed before destruction" && 0 == m_Observers.GetSize()); } I can use CXTPPaintManager::SetTheme(xtpThemeOffice2000) before calling CXTPWinApp::ExitInstance(), this error doesn't occur. I wanted to ask if there is a more elegant solution, or if this workaround is the only solution at the moment. |
|
agontarenko
Admin Group Joined: 25 March 2016 Status: Offline Points: 301 |
Post Options
Thanks(0)
|
Hello, It seems that quite a bit of time has passed between these revisions. We have modified application themes, now it uses XTPPaintManager()->SetTheme(nTheme); call instead of CXTPPaintManager::SetTheme(), maybe this is the problem. Please see how this is implemented in CommandBarControls. Regards, Artem Gonarenko
|
|
agontarenko
Admin Group Joined: 25 March 2016 Status: Offline Points: 301 |
Post Options
Thanks(0)
|
Can you provide sample with this problem? Regards, Artem Gonarenko |
|
ganzeiss
Newbie Joined: 25 November 2024 Status: Offline Points: 6 |
Post Options
Thanks(0)
|
Hi agontarenko,
I tried the method you mentioned previously in replacing CXTPPaintManager::SetTheme() call with XTPPaintManager()->SetTheme(nTheme), but the issue still persisted. It's very strange, since we did not have this issue in 19.3.0, but it showed up suddenly in 24.0.0. I have been trying to recreate the issue with Samples from the CodeJock toolkit, but I am unable to recreate the issue through the samples. Trying to separate the problematic portion from the affected software is also quite difficult. Other than the workaround of setting CXTPPaintManager::SetTheme(xtpThemeOffice2000), I found another where I run the following before executing CXTPWinApp::ExitInstance() : auto RefCount = CXTPPaintManager::GetInstanceAddRef(); DWORD nOldRefCount = RefCount->InternalRelease(); while (1 < RefCount->InternalRelease()) ; Which I still feel is a bit of weird workaround. I will try to reply with a Sample of the issue as soon as I can, but at the moment, this is the only information I can really scrounge up. Note: I am not sure if this is relevant, but to make CodeJock 24.0.0 work with our code, we had to remove the following macro _XTP_EXCLUDE_MARKUP from our code (although doing this for the software in 19.3.0 did not yield the same issue) |
|
Post Reply | |
Tweet
|
Forum Jump | Forum Permissions You cannot post new topics in this forum You cannot reply to topics in this forum You cannot delete your posts in this forum You cannot edit your posts in this forum You cannot create polls in this forum You cannot vote in polls in this forum |