]> git.saurik.com Git - wxWidgets.git/blobdiff - src/aui/framemanager.cpp
Avoid a hang if we're dragging a tab to a notebook that's a child of the original tab
[wxWidgets.git] / src / aui / framemanager.cpp
index 6009b040d8b65b1c2b41613e6500784fd43bc5c5..0de88d573425c147de7d3fd1c9095fb97ec7be1f 100644 (file)
@@ -152,7 +152,7 @@ public:
             wxRect rect(upd.GetRect());
             dc.DrawRectangle(rect.x, rect.y, rect.width, rect.height);
 
-            upd++;
+            ++upd;
         }
     }
 
@@ -770,7 +770,7 @@ void wxAuiManager::SetManagedWindow(wxWindow* wnd)
                 wxAuiPaneInfo().Name(wxT("mdiclient")).
                 CenterPane().PaneBorder(false));
     }
-        else if (m_frame->IsKindOf(CLASSINFO(wxAuiMDIParentFrame)))
+    else if (m_frame->IsKindOf(CLASSINFO(wxAuiMDIParentFrame)))
     {
         wxAuiMDIParentFrame* mdi_frame = (wxAuiMDIParentFrame*)m_frame;
         wxAuiMDIClientWindow* client_window = mdi_frame->GetClientWindow();
@@ -2304,21 +2304,21 @@ void wxAuiManager::Update()
             p.window->SetSize(1,1);
 
 
-               // the following block is a workaround for bug #1531361
-               // (see wxWidgets sourceforge page).  On wxGTK (only), when
-               // a frame is shown/hidden, a move event unfortunately
-               // also gets fired.  Because we may be dragging around
-               // a pane, we need to cancel that action here to prevent
-               // a spurious crash.
-               if (m_action_window == p.frame)
-               {
-                       if (wxWindow::GetCapture() == m_frame)
+            // the following block is a workaround for bug #1531361
+            // (see wxWidgets sourceforge page).  On wxGTK (only), when
+            // a frame is shown/hidden, a move event unfortunately
+            // also gets fired.  Because we may be dragging around
+            // a pane, we need to cancel that action here to prevent
+            // a spurious crash.
+            if (m_action_window == p.frame)
+            {
+                if (wxWindow::GetCapture() == m_frame)
                     m_frame->ReleaseMouse();
                 m_action = actionNone;
-                       m_action_window = NULL;
-               }
+                m_action_window = NULL;
+            }
 
-               // hide the frame
+            // hide the frame
             if (p.frame->IsShown())
                 p.frame->Show(false);
 
@@ -2774,16 +2774,11 @@ bool wxAuiManager::DoDrop(wxAuiDockInfoArray& docks,
 
             return ProcessDockResult(target, drop);
         }
-        else
-        {
-            m_skipping = false;
-        }
 
-        if (!m_skipping)
-        {
-            m_last_rect = part->dock->rect;
-            m_last_rect.Inflate( 15, 15 );
-        }
+        m_skipping = false;
+
+        m_last_rect = part->dock->rect;
+        m_last_rect.Inflate( 15, 15 );
 
         drop.Dock().
              Direction(part->dock->dock_direction).
@@ -3371,27 +3366,24 @@ void wxAuiManager::OnFloatingPaneMoving(wxWindow* wnd, wxDirection dir)
     // no hint for toolbar floating windows
     if (pane.IsToolbar() && m_action == actionDragFloatingPane)
     {
-        if (m_action == actionDragFloatingPane)
-        {
-            wxAuiDockInfoArray docks;
-            wxAuiPaneInfoArray panes;
-            wxAuiDockUIPartArray uiparts;
-            wxAuiPaneInfo hint = pane;
+        wxAuiDockInfoArray docks;
+        wxAuiPaneInfoArray panes;
+        wxAuiDockUIPartArray uiparts;
+        wxAuiPaneInfo hint = pane;
 
-            CopyDocksAndPanes(docks, panes, m_docks, m_panes);
+        CopyDocksAndPanes(docks, panes, m_docks, m_panes);
 
-            // find out where the new pane would be
-            if (!DoDrop(docks, panes, hint, client_pt))
-                return;
-            if (hint.IsFloating())
-                return;
+        // find out where the new pane would be
+        if (!DoDrop(docks, panes, hint, client_pt))
+            return;
+        if (hint.IsFloating())
+            return;
 
-            pane = hint;
-            m_action = actionDragToolbarPane;
-            m_action_window = pane.window;
+        pane = hint;
+        m_action = actionDragToolbarPane;
+        m_action_window = pane.window;
 
-            Update();
-        }
+        Update();
 
         return;
     }
@@ -3555,8 +3547,8 @@ void wxAuiManager::OnRender(wxAuiManagerEvent& evt)
 {
     // if the frame is about to be deleted, don't bother
     if (!m_frame || wxPendingDelete.Member(m_frame))
-           return;
-        
+        return;
+
     wxDC* dc = evt.GetDC();
 
 #ifdef __WXMAC__