![]() |
Deadlock with nested docking pane managers |
Post Reply ![]() |
Author | |
gorski ![]() Newbie ![]() ![]() Joined: 06 July 2006 Location: Poland Status: Offline Points: 6 |
![]() ![]() ![]() ![]() ![]() 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. |
|
![]() |
|
Oleg ![]() Admin Group ![]() Joined: 21 May 2003 Location: United States Status: Offline Points: 11234 |
![]() ![]() ![]() ![]() ![]() |
Hi, Attach sample project. Problem can be in your code.
|
|
Oleg, Support Team
CODEJOCK SOFTWARE SOLUTIONS |
|
![]() |
|
TonyI ![]() Newbie ![]() Joined: 17 March 2007 Location: Australia Status: Offline Points: 1 |
![]() ![]() ![]() ![]() ![]() |
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...
|
|
![]() |
|
rdhd ![]() Senior Member ![]() ![]() Joined: 13 August 2007 Location: United States Status: Offline Points: 923 |
![]() ![]() ![]() ![]() ![]() |
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.
|
|
![]() |
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 |