|  | 
| CXTPDockingPaneManager.ToggleAutoHide crash | 
| Post Reply   | 
| Author | |
| inmaurik   Groupie   Joined: 13 July 2007 Location: Netherlands Status: Offline Points: 17 |  Post Options  Thanks(0)  Quote  Reply  Topic: CXTPDockingPaneManager.ToggleAutoHide crash Posted: 13 July 2007 at 8:13am | 
| 
   I was looking at the GUI_VisualStudio_vc80 sample of Xtreme ToolkitPro v11.1.3.
 When I open the pane menu (which shown via the XTPWM_DOCKINGPANE_NOTIFY message with wParam  XTP_DPN_PANEMENUCLICK ) and select 'AutoHide' the ToggleAutoHide function is called.  So fare this is ok but when I make the pane visible (autohide is still active) and select 'AutoHide' from that same menu again the application crashes. Using the pin / unpin works OK but via the menu the ToggleAutoHide does not work.  I want to implement the same menu in my own application but due to this bug I have to remove the AutoHide function from the menu or make a workaround for this bug. Does anybody know how to make the ToggleAutoHide call function correctly? | |
|  | |
| Oleg   Senior Member   Joined: 21 May 2003 Location: United States Status: Offline Points: 11234 |  Post Options  Thanks(0)  Quote  Reply  Posted: 16 July 2007 at 1:21am | 
| 
   Hello, 
 Thanks you're right :( ts indeed bug in our code. Can you please patch CXTPDockingPaneTabbedContainer::OnCaptionButtonDown method and add  InternalAddRef();, InternalRelease(); calls: BOOL CXTPDockingPaneTabbedContainer::OnCaptionButtonDown(CXTPDockingPaneCaptionButton* pButton) { switch (pButton->GetID()) { case XTP_IDS_DOCKINGPANE_MENU: if (m_pSelectedPane) { InternalAddRef();    CXTPDockingPaneManager* pManager = GetDockingPaneManager(); XTP_DOCKINGPANE_CLICK menu;    menu.rcExclude = pButton->GetRect(); ClientToScreen(&menu.rcExclude);    menu.pt = CPoint(menu.rcExclude.left, menu.rcExclude.bottom); menu.pPane = m_pSelectedPane; pButton->m_bPressed = TRUE; Invalidate(FALSE);    pManager->NotifyOwner(XTP_DPN_PANEMENUCLICK, (LPARAM)&menu);    pButton->m_bPressed = FALSE; if (m_hWnd) Invalidate(FALSE);    InternalRelease(); } return TRUE;  } return FALSE; } rebuild dll and your application after. Thank you | |
| 
     Oleg, Support Team CODEJOCK SOFTWARE SOLUTIONS | |
|  | |
| inmaurik   Groupie   Joined: 13 July 2007 Location: Netherlands Status: Offline Points: 17 |  Post Options  Thanks(0)  Quote  Reply  Posted: 16 July 2007 at 2:14am | 
| 
   Great, it works    | |
|  | |
| 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 |