Print Page | Close Window

Deadlock with nested docking pane managers

Printed From: Codejock Forums
Category: Codejock Products
Forum Name: Docking Pane
Forum Description: Topics Related to Codejock Docking Pane
URL: http://forum.codejock.com/forum_posts.asp?TID=11911
Printed Date: 16 September 2024 at 4:16pm
Software Version: Web Wiz Forums 12.04 - http://www.webwizforums.com


Topic: Deadlock with nested docking pane managers
Posted By: gorski
Subject: Deadlock with nested docking pane managers
Date Posted: 20 August 2008 at 4:30pm
I want to create docking pane manager in the dialog that is the docking pane of another docking pane manager.

If any pane of the interior pane manager is active (and has focus) and I try to switch panes of the exterior pane manager application becomes deadlocked (100% of CPU is used, application not responding).

Why nested pane managers behave that way?

Thanks for any suggestions.



Replies:
Posted By: Oleg
Date Posted: 21 August 2008 at 1:52am

Hi,

Attach sample project. Problem can be in your code.


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


Posted By: TonyI
Date Posted: 25 August 2008 at 10:11pm
I've run into this as well. In my situation, the dialog loop gets stuck
searching for the nested control.
 
This is observable by tracing messages for the dialog, where the dialog keeps looping through its children sending each WM_GETDLGCODE.
 
See MSDN Article: PRB: Child CPropertySheet Hangs If Focus Is Switched Q149501 for additional information.
 
In my situation, the solution was to ensure all 'ancestor' windows of the control up to the dialog have the WS_EX_CONTROLPARENT style set.
 
I hope this helps...


Posted By: rdhd
Date Posted: 12 September 2008 at 8:51am
Toni,
 
Are you adding WS_EX_CONTROLPARENT to the task panel? Are you adding the style to the dialog to (up to and including the dialog).
 
I have been adding it to the task panel and removing it from the task panel depending on whether I have any dialogs inserted (in groups) in the panel. That was working but now I have a case where I am removing one dialog and there is another in the panel and the CJ call to GetNextDlgTabItem in CXTPTaskPanel::GetNextControl still causes a lockup. So I remove the style before I call any method to remove a group and then add the style back when the group is removed depending on if there is anything left in the panel.
 
From your reply it sounds like I should be adding the style to the dialogs I am inserting into the panel just in case I have a dialog that does not have that style.



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