Codejock Forums Homepage
Forum Home Forum Home > Codejock Products > Visual C++ MFC > Docking Pane
  New Posts New Posts RSS Feed - Deadlock with nested docking pane managers
  FAQ FAQ  Forum Search   Events   Register Register  Login Login

Deadlock with nested docking pane managers

 Post Reply Post Reply
Author
Message
gorski View Drop Down
Newbie
Newbie
Avatar

Joined: 06 July 2006
Location: Poland
Status: Offline
Points: 6
Post Options Post Options   Thanks (0) Thanks(0)   Quote gorski Quote  Post ReplyReply Direct Link To This Post Topic: Deadlock with nested docking pane managers
    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.
Back to Top
Oleg View Drop Down
Admin Group
Admin Group


Joined: 21 May 2003
Location: United States
Status: Offline
Points: 11234
Post Options Post Options   Thanks (0) Thanks(0)   Quote Oleg Quote  Post ReplyReply Direct Link To This Post Posted: 21 August 2008 at 1:52am

Hi,

Attach sample project. Problem can be in your code.
Oleg, Support Team
CODEJOCK SOFTWARE SOLUTIONS
Back to Top
TonyI View Drop Down
Newbie
Newbie


Joined: 17 March 2007
Location: Australia
Status: Offline
Points: 1
Post Options Post Options   Thanks (0) Thanks(0)   Quote TonyI Quote  Post ReplyReply Direct Link To This Post 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...
Back to Top
rdhd View Drop Down
Senior Member
Senior Member
Avatar

Joined: 13 August 2007
Location: United States
Status: Offline
Points: 871
Post Options Post Options   Thanks (0) Thanks(0)   Quote rdhd Quote  Post ReplyReply Direct Link To This Post 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.
Back to Top
 Post Reply Post Reply
  Share Topic   

Forum Jump Forum Permissions View Drop Down

Forum Software by Web Wiz Forums® version 12.04
Copyright ©2001-2021 Web Wiz Ltd.

This page was generated in 0.359 seconds.