Print Page | Close Window

NULL-Window Handle after updating to 9.70

Printed From: Codejock Forums
Category: Codejock Products
Forum Name: Command Bars
Forum Description: Topics Related to Codejock Command Bars
URL: http://forum.codejock.com/forum_posts.asp?TID=2553
Printed Date: 06 October 2024 at 1:53am
Software Version: Web Wiz Forums 12.04 - http://www.webwizforums.com


Topic: NULL-Window Handle after updating to 9.70
Posted By: Uwe Keim
Subject: NULL-Window Handle after updating to 9.70
Date Posted: 08 July 2005 at 9:31am

Having a a modal dialog with a menubar, I just upgraded the library to 9.70.

Now an assertion appears sometimes(!) inside the following function

void CXTPPopupBar::Animate()
{
 CXTPCommandBar* pParentCommandBar = GetParentCommandBar();

 BOOL bAnimate = pParentCommandBar? pParentCommandBar->m_bAnimatePopup: TRUE;

 if (bAnimate)
 {
  if (IsCustomizeMode() || GetWindow(GW_CHILD))
   bAnimate = FALSE;
 }
 
 ...

The bold function GetWindow(GW_CHILD) asserts with a NULL m_hWnd handle. Although it asserts, it still behaves correctly.

Question: Anything I can do to get rid of that assertion?

Thanks
Uwe




Replies:
Posted By: Uwe Keim
Date Posted: 08 July 2005 at 9:34am

Addendum: Seems it was due to the fact I put a breakpoint somewhere in some related code and the created windows seems to confuse things a little bit, once the debugger breaked and then continued.

It did not appear anymore. Sorry for posting.



Posted By: Uwe Keim
Date Posted: 08 July 2005 at 10:41am

Now it appears again, even without any debug breakpoints occuring before.

This is the call stack when the assertion fails:

  mfc71ud.dll!CWnd::GetWindow(unsigned int nCmd=5)  Line 276 + 0x2b C++
> XTP9700Libud.dll!CXTPPopupBar::Animate()  Line 772 + 0x16 C++
  XTP9700Libud.dll!CXTPPopupBar::Popup(CXTPControl Popup * pControlPopup=0x04ad0548, int bSelectFirst=0)  Line 836 C++
  XTP9700Libud.dll!CXTPControlPopup::OnSetPopup(in t bPopup=1)  Line 181 + 0x3d C++
  XTP9700Libud.dll!CXTPCommandBar::SetPopuped(int nPopuped=1, int bKeyboard=0)  Line 469 + 0x12 C++
  XTP9700Libud.dll!CXTPControlPopup::OnSetSelected (int bSelected=1)  Line 141 C++
  XTP9700Libud.dll!CXTPCommandBar::SetSelected(int nSelected=1, int bKeyboard=0)  Line 419 + 0x33 C++
  XTP9700Libud.dll!CXTPCommandBar::OnMouseMove(uns igned int __formal=0, CPoint point={...})  Line 301 + 0x1b C++
  mfc71ud.dll!CWnd::OnWndMsg(unsigned int message=512, unsigned int wParam=0, long lParam=852012, long * pResult=0x0012dabc)  Line 2164 C++
  XTP9700Libud.dll!CXTPCommandBar::OnWndMsg(unsign ed int message=512, unsigned int wParam=0, long lParam=852012, long * pResult=0x0012dabc)  Line 1865 C++
  mfc71ud.dll!CWnd::WindowProc(unsigned int message=512, unsigned int wParam=0, long lParam=852012)  Line 1745 + 0x1e C++
  mfc71ud.dll!AfxCallWndProc(CWnd * pWnd=0x0012e210, HWND__ * hWnd=0x000f08e0, unsigned int nMsg=512, unsigned int wParam=0, long lParam=852012)  Line 241 + 0x1a C++
  mfc71ud.dll!AfxWndProc(HWND__ * hWnd=0x000f08e0, unsigned int nMsg=512, unsigned int wParam=0, long lParam=852012)  Line 389 C++
  mfc71ud.dll!AfxWndProcBase(HWND__ * hWnd=0x000f08e0, unsigned int nMsg=512, unsigned int wParam=0, long lParam=852012)  Line 209 + 0x15 C++
  
mailto:user32.dll!_InternalCallWinProc@20 - user32.dll!_InternalCallWinProc@20 ()  + 0x28 
  
mailto:user32.dll!_UserCallWinProcCheckWow@32 - user32.dll!_UserCallWinProcCheckWow@32 ()  + 0xb7 
  
mailto:user32.dll!_DispatchMessageWorker@8 - user32.dll!_DispatchMessageWorker@8 ()  + 0xdc 
  
mailto:user32.dll!_DispatchMessageW@4 - user32.dll!_DispatchMessageW@4 ()  + 0xf 
  
mailto:user32.dll!_IsDialogMessageW@8 - user32.dll!_IsDialogMessageW@8 ()  + 0xdb 
  mfc71ud.dll!CWnd::IsDialogMessageW(tagMSG * lpMsg=0x001540f0)  Line 200 C++
  mfc71ud.dll!CWnd::PreTranslateInput(tagMSG * lpMsg=0x001540f0)  Line 4512 C++
  mfc71ud.dll!CDialog::PreTranslateMessage(tagMSG * pMsg=0x001540f0)  Line 83 C++
  zlzwfud.dll!Zeta::Windows::Forms::EnhancedDialog ::PreTranslateMessage(tagMSG * pMsg=0x001540f0)  Line 194 C++
  ZpCommonDialogud.dll!CXTPDialogBase<Zeta::Win dows::Forms::Specialized::DialogBase>::PreTranslateMessag e(tagMSG * pMsg=0x001540f0)  Line 141 + 0xf C++
  ZpCommonDialogud.dll!Common::Gui::Dialog::RichGu iDialogBase::PreTranslateMessage(tagMSG * pMsg=0x001540f0)  Line 386 + 0xc C++
  mfc71ud.dll!CWnd::WalkPreTranslateTree(HWND__ * hWndStop=0x001b075e, tagMSG * pMsg=0x001540f0)  Line 3129 + 0x12 C++
  mfc71ud.dll!AfxInternalPreTranslateMessage(tagMS G * pMsg=0x001540f0)  Line 238 + 0x12 C++
  mfc71ud.dll!CWinThread::PreTranslateMessage(tagM SG * pMsg=0x001540f0)  Line 795 + 0x9 C++
  mfc71ud.dll!AfxPreTranslateMessage(tagMSG * pMsg=0x001540f0)  Line 257 + 0xf C++
  mfc71ud.dll!AfxInternalPumpMessage()  Line 183 + 0x18 C++
  mfc71ud.dll!CWinThread::PumpMessage()  Line 916 C++
  mfc71ud.dll!AfxPumpMessage()  Line 195 + 0xb C++
  mfc71ud.dll!CWnd::RunModalLoop(unsigned long dwFlags=4)  Line 4566 + 0x5 C++
  mfc71ud.dll!CDialog::DoModal()  Line 527 + 0xc C++
  zlzwfud.dll!Zeta::Windows::Forms::EnhancedDialog ::DoModal()  Line 97 + 0x8 C++
  zlzwfud.dll!Zeta::Windows::Forms::Specialized::D ialogBase::ShowModal()  Line 69 + 0x8 C++
  ProducerUD.exe!Framework::ProducerMainWindow::On AssetmanagementImages()  Line 2334 + 0x15 C++
  mfc71ud.dll!_AfxDispatchCmdMsg(CCmdTarget * pTarget=0x04a8b918, unsigned int nID=32772, int nCode=0, void (void)* pfn=0x00406348, void * pExtra=0x00000000, unsigned int nSig=53, AFX_CMDHANDLERINFO * pHandlerInfo=0x00000000)  Line 89 C++
  mfc71ud.dll!CCmdTarget::OnCmdMsg(unsigned int nID=32772, int nCode=0, void * pExtra=0x00000000, AFX_CMDHANDLERINFO * pHandlerInfo=0x00000000)  Line 396 + 0x27 C++
  mfc71ud.dll!CFrameWnd::OnCmdMsg(unsigned int nID=32772, int nCode=0, void * pExtra=0x00000000, AFX_CMDHANDLERINFO * pHandlerInfo=0x00000000)  Line 897 + 0x18 C++
  mfc71ud.dll!CWnd::OnCommand(unsigned int wParam=32772, long lParam=0)  Line 2550 C++
  mfc71ud.dll!CFrameWnd::OnCommand(unsigned int wParam=32772, long lParam=0)  Line 320 C++
  mfc71ud.dll!CWnd::OnWndMsg(unsigned int message=273, unsigned int wParam=32772, long lParam=0, long * pResult=0x0012e9b8)  Line 1759 + 0x1c C++
  ProducerUD.exe!CXTPFrameWndBase<CFrameWnd> ::OnWndMsg(unsigned int message=273, unsigned int wParam=32772, long lParam=0, long * pResult=0x0012e9b8)  Line 201 C++
  mfc71ud.dll!CWnd::WindowProc(unsigned int message=273, unsigned int wParam=32772, long lParam=0)  Line 1745 + 0x1e C++
  ProducerUD.exe!Framework::ProducerMainWindow::Wi ndowProc(unsigned int message=273, unsigned int wParam=32772, long lParam=0)  Line 471 + 0x14 C++
  mfc71ud.dll!AfxCallWndProc(CWnd * pWnd=0x04a8b918, HWND__ * hWnd=0x001b075e, unsigned int nMsg=273, unsigned int wParam=32772, long lParam=0)  Line 241 + 0x1a C++
  mfc71ud.dll!AfxWndProc(HWND__ * hWnd=0x001b075e, unsigned int nMsg=273, unsigned int wParam=32772, long lParam=0)  Line 389 C++
  mfc71ud.dll!AfxWndProcBase(HWND__ * hWnd=0x001b075e, unsigned int nMsg=273, unsigned int wParam=32772, long lParam=0)  Line 209 + 0x15 C++
  
mailto:user32.dll!_InternalCallWinProc@20 - user32.dll!_InternalCallWinProc@20 ()  + 0x28 
  
mailto:user32.dll!_UserCallWinProcCheckWow@32 - user32.dll!_UserCallWinProcCheckWow@32 ()  + 0xb7 
  
mailto:user32.dll!_CallWindowProcAorW@24 - user32.dll!_CallWindowProcAorW@24 ()  + 0x51 
  
mailto:user32.dll!_CallWindowProcW@20 - user32.dll!_CallWindowProcW@20 ()  + 0x1b 
  XTP9700Libud.dll!CXTPHookManager::HookWndProc(HW ND__ * hWnd=0x001b075e, unsigned int message=273, unsigned int wParam=32772, long lParam=0)  Line 158 + 0x1c C++
  
mailto:user32.dll!_InternalCallWinProc@20 - user32.dll!_InternalCallWinProc@20 ()  + 0x28 
  
mailto:user32.dll!_UserCallWinProcCheckWow@32 - user32.dll!_UserCallWinProcCheckWow@32 ()  + 0xb7 
  
mailto:user32.dll!_CallWindowProcAorW@24 - user32.dll!_CallWindowProcAorW@24 ()  + 0x51 
  
mailto:user32.dll!_CallWindowProcW@20 - user32.dll!_CallWindowProcW@20 ()  + 0x1b 
  ZpCommonCoreud.dll!Common::Gui::SubclassWindow:: WindowProc(unsigned int message=273, unsigned int wParam=32772, long lParam=0)  Line 152 + 0x5c C++
  ZpCommonCoreud.dll!Common::Gui::HookWndProc(HWND __ * hwnd=0x001b075e, unsigned int message=273, unsigned int wParam=32772, long lParam=0)  Line 230 + 0x19 C++
  
mailto:user32.dll!_InternalCallWinProc@20 - user32.dll!_InternalCallWinProc@20 ()  + 0x28 
  
mailto:user32.dll!_UserCallWinProcCheckWow@32 - user32.dll!_UserCallWinProcCheckWow@32 ()  + 0xb7 
  
mailto:user32.dll!_DispatchClientMessage@20 - user32.dll!_DispatchClientMessage@20 ()  + 0x4d 
  
mailto:user32.dll!___fnDWORD@4 - user32.dll!___fnDWORD@4 ()  + 0x24 
  
mailto:ntdll.dll!_KiUserCallbackDispatcher@12 - ntdll.dll!_KiUserCallbackDispatcher@12 ()  + 0x13 
  
mailto:user32.dll!_NtUserMessageCall@28 - user32.dll!_NtUserMessageCall@28 ()  + 0xc 
  
mailto:user32.dll!_SendMessageW@16 - user32.dll!_SendMessageW@16 ()  + 0x49 
  mfc71ud.dll!CWnd::SendMessageW(unsigned int message=273, unsigned int wParam=32772, long lParam=0)  Line 44 + 0x42 C++
  XTP9700Libud.dll!CXTPControl::OnExecute()  Line 315 C++
  XTP9700Libud.dll!CXTPControl::ClickToolBarButton (CRect rcActiveRect={...})  Line 262 + 0x10 C++
  XTP9700Libud.dll!CXTPControlButton::OnClick(int bKeyboard=0, CPoint pt={...})  Line 73 C++
  XTP9700Libud.dll!CXTPCommandBar::OnLButtonDown(u nsigned int nFlags=1, CPoint point={...})  Line 349 + 0x1a C++
  XTP9700Libud.dll!CXTPToolBar::OnLButtonDown(unsi gned int nFlags=1, CPoint point={...})  Line 864 C++
  mfc71ud.dll!CWnd::OnWndMsg(unsigned int message=513, unsigned int wParam=1, long lParam=786782, long * pResult=0x0012fc48)  Line 2164 C++
  XTP9700Libud.dll!CXTPCommandBar::OnWndMsg(unsign ed int message=513, unsigned int wParam=1, long lParam=786782, long * pResult=0x0012fc48)  Line 1865 C++
  mfc71ud.dll!CWnd::WindowProc(unsigned int message=513, unsigned int wParam=1, long lParam=786782)  Line 1745 + 0x1e C++
  mfc71ud.dll!AfxCallWndProc(CWnd * pWnd=0x04aadfa0, HWND__ * hWnd=0x000e0918, unsigned int nMsg=513, unsigned int wParam=1, long lParam=786782)  Line 241 + 0x1a C++
  mfc71ud.dll!AfxWndProc(HWND__ * hWnd=0x000e0918, unsigned int nMsg=513, unsigned int wParam=1, long lParam=786782)  Line 389 C++
  mfc71ud.dll!AfxWndProcBase(HWND__ * hWnd=0x000e0918, unsigned int nMsg=513, unsigned int wParam=1, long lParam=786782)  Line 209 + 0x15 C++
  
mailto:user32.dll!_InternalCallWinProc@20 - user32.dll!_InternalCallWinProc@20 ()  + 0x28 
  
mailto:user32.dll!_UserCallWinProcCheckWow@32 - user32.dll!_UserCallWinProcCheckWow@32 ()  + 0xb7 
  
mailto:user32.dll!_DispatchMessageWorker@8 - user32.dll!_DispatchMessageWorker@8 ()  + 0xdc 
  
mailto:user32.dll!_DispatchMessageW@4 - user32.dll!_DispatchMessageW@4 ()  + 0xf 
  mfc71ud.dll!AfxInternalPumpMessage()  Line 188 C++
  mfc71ud.dll!CWinThread::PumpMessage()  Line 916 C++
  mfc71ud.dll!CWinThread::Run()  Line 637 + 0xb C++
  mfc71ud.dll!CWinApp::Run()  Line 701 C++
  zlzud.dll!Zeta::Application::Run()  Line 788 C++
  mfc71ud.dll!AfxWinMain(HINSTANCE__ * hInstance=0x00400000, HINSTANCE__ * hPrevInstance=0x00000000, wchar_t * lpCmdLine=0x00020e94, int nCmdShow=1)  Line 49 + 0xb C++
  ProducerUD.exe!wWinMain(HINSTANCE__ * hInstance=0x00400000, HINSTANCE__ * hPrevInstance=0x00000000, wchar_t * lpCmdLine=0x00020e94, int nCmdShow=1)  Line 25 C++
  ProducerUD.exe!wWinMainCRTStartup()  Line 390 + 0x39 C
  
mailto:kernel32.dll!_BaseProcessStart@4 - kernel32.dll!_BaseProcessStart@4 ()  + 0x23 

Maybe someone at Codejock can check whether this is an issue with the new library.

Thanks
Uwe



Posted By: Uwe Keim
Date Posted: 09 July 2005 at 3:30am

Additional information:

The error occurs when clicking a main menu item (the popup submenu appears) and then moving the the mouse coursor over the other main menu items.

After the assertion, a shadow remains on top of all other windows:

As far as I can tell, this did not happen before version 9.70. And it only appears in menus inside dialog boxes.

Uwe



Posted By: Oleg
Date Posted: 09 July 2005 at 4:36am

Hi

Strange, m_hWnd can't be NULL in Animate member. :(

 

Can you reproduce it with DialogSample?



-------------
Oleg, Support Team
CODEJOCK SOFTWARE SOLUTIONS


Posted By: Uwe Keim
Date Posted: 09 July 2005 at 4:53am

Thanks for your feedback.

I just tried and unfortunately could not reproduce it with the DialogSample. Although I based my code on that sample, I will try and see what I do different than the sample.

Thanks
Uwe




Print Page | Close Window

Forum Software by Web Wiz Forums® version 12.04 - http://www.webwizforums.com
Copyright ©2001-2021 Web Wiz Ltd. - https://www.webwiz.net