<?xml version="1.0" encoding="utf-8" ?>
<?xml-stylesheet type="text/xsl" href="RSS_xslt_style.asp" version="1.0" ?>
<rss version="2.0" xmlns:WebWizForums="https://syndication.webwiz.net/rss_namespace/">
 <channel>
  <title>Codejock Developer Community : CodeJock crashes in docking pane solved???</title>
  <link>http://forum.codejock.com/</link>
  <description><![CDATA[This is an XML content feed of; Codejock Developer Community : Docking Pane : CodeJock crashes in docking pane solved???]]></description>
  <copyright>Copyright (c) 2006-2013 Web Wiz Forums - All Rights Reserved.</copyright>
  <pubDate>Mon, 20 Apr 2026 09:44:40 +0000</pubDate>
  <lastBuildDate>Mon, 27 Jun 2022 09:03:06 +0000</lastBuildDate>
  <docs>http://blogs.law.harvard.edu/tech/rss</docs>
  <generator>Web Wiz Forums 12.04</generator>
  <ttl>360</ttl>
  <WebWizForums:feedURL>forum.codejock.com/RSS_post_feed.asp?TID=24300</WebWizForums:feedURL>
  <image>
   <title><![CDATA[Codejock Developer Community]]></title>
   <url>http://forum.codejock.com/forum_images/codejock-logo.gif</url>
   <link>http://forum.codejock.com/</link>
  </image>
  <item>
   <title><![CDATA[CodeJock crashes in docking pane solved??? : Another crash log from a customer...]]></title>
   <link>http://forum.codejock.com/forum_posts.asp?TID=24300&amp;PID=78472&amp;title=codejock-crashes-in-docking-pane-solved#78472</link>
   <description>
    <![CDATA[<strong>Author:</strong> <a href="http://forum.codejock.com/member_profile.asp?PF=3213">rdhd</a><br /><strong>Subject:</strong> 24300<br /><strong>Posted:</strong> 27 June 2022 at 9:03am<br /><br /><div>Another crash log from a customer led me to find another one of these non-pointer tests. This one is in CXTPDockingPaneTabbedContainer::OnToolHitTest(CPoint point, TOOLINFO* pTI)</div><div><br></div><div>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; CString strTip = GetSelected()-&gt;GetTitleToolTip();<br></div><div><br></div><div>Though in this case, I'm pretty sure it is the same issue I am now trying to fix - the selected pane has been deleted but the m_pSelectedPane pointer still points to the pane. TRACE statements and debugging has shown me the selected pane can get closed and the member still points to it when some paint or mouse message is dispatched to the container.<br></div>]]>
   </description>
   <pubDate>Mon, 27 Jun 2022 09:03:06 +0000</pubDate>
   <guid isPermaLink="true">http://forum.codejock.com/forum_posts.asp?TID=24300&amp;PID=78472&amp;title=codejock-crashes-in-docking-pane-solved#78472</guid>
  </item> 
  <item>
   <title><![CDATA[CodeJock crashes in docking pane solved??? : We have a number of crashes in...]]></title>
   <link>http://forum.codejock.com/forum_posts.asp?TID=24300&amp;PID=78461&amp;title=codejock-crashes-in-docking-pane-solved#78461</link>
   <description>
    <![CDATA[<strong>Author:</strong> <a href="http://forum.codejock.com/member_profile.asp?PF=3213">rdhd</a><br /><strong>Subject:</strong> 24300<br /><strong>Posted:</strong> 20 June 2022 at 11:01am<br /><br /><div>We have a number of crashes in the customer base for a few years now. Almost always have the same call CJ stack or one closely related to it related to drawing a pane or getting a tooltip from a pane. Here is the most common one:<br></div><div><br></div><div>&nbsp;&nbsp;&nbsp;&nbsp; ToolkitPro1930vc160x64U.dll!CXTPDockingPane::GetOptions() Line 502&nbsp;&nbsp;&nbsp; C++<br>&nbsp;&nbsp;&nbsp;&nbsp; ToolkitPro1930vc160x64U.dll!CXTPDockingPaneTabbedContainer::IsTitleVisible() Line 577&nbsp;&nbsp;&nbsp; C++<br>&nbsp;&nbsp;&nbsp;&nbsp; ToolkitPro1930vc160x64U.dll!CXTPDockingPanePaintManager::AdjustCaptionRect(const CXTPDockingPaneTabbedContainer *, CRect &amp;) Line 772&nbsp;&nbsp;&nbsp; C++<br>&nbsp;&nbsp;&nbsp;&nbsp; ToolkitPro1930vc160x64U.dll!CXTPDockingPaneOffice2013Theme::DrawPane(CDC *, CXTPDockingPaneTabbedContainer *, CRect) Line 230&nbsp;&nbsp;&nbsp; C++<br>&nbsp;&nbsp;&nbsp;&nbsp; ToolkitPro1930vc160x64U.dll!CXTPDockingPaneTabbedContainer::OnPaint() Line 561&nbsp;&nbsp;&nbsp; C++<br></div><div><br></div><div>Today I got lucky and attached a debugger while I had release PDB files available and the call stack is the one above. Here is what I found. Notice CJ handles a nullptr m_pLayout:</div><div><br></div><div>CXTPDockingPaneManager* CXTPDockingPaneBase::GetDockingPaneManager() const<br>{<br>&nbsp;&nbsp; &nbsp;ASSERT(m_pLayout);<br>&nbsp;&nbsp; &nbsp;if (!m_pLayout)<br><b><font color="#CC0033">&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; return NULL;<br></font></b><br>&nbsp;&nbsp; &nbsp;ASSERT(m_pLayout-&gt;m_pManager);<br>&nbsp;&nbsp; &nbsp;return m_pLayout-&gt;m_pManager;<br>}<br></div><div><br></div><div>However, check out the code that crashed us:</div><div><br></div><div>DWORD CXTPDockingPane::GetOptions() const<br>{<br>&nbsp;&nbsp; &nbsp;return <font color="#CC0066"><b>GetDockingPaneManager()-&gt;</b></font>m_dwDefaultPaneOptions | m_dwOptions;<br>}<br></div><div><br></div><div>XTPDockingPane.cpp has a lot of calls to GetDockingPaneManager()-&gt;SomeMethod(...). So, if the layout is nullptr, CJ handles that and returns nullptr but the code doesn't check the pointer.</div><div><br></div><div>Time to edit CJ code again and I hope CJ will address this sort of calls where code calls to get a pointer and does the "GetPointer()-&gt;" code pattern when other CJ code apparently knows the pointer being obtained can be null.<br></div>]]>
   </description>
   <pubDate>Mon, 20 Jun 2022 11:01:10 +0000</pubDate>
   <guid isPermaLink="true">http://forum.codejock.com/forum_posts.asp?TID=24300&amp;PID=78461&amp;title=codejock-crashes-in-docking-pane-solved#78461</guid>
  </item> 
 </channel>
</rss>