diff --git a/Source/UI/EditorViewport.cpp b/Source/UI/EditorViewport.cpp index d9f42be332c29acde4788210d1e45f2851fa6a10..ece9c6d9fb0d660733b398c56cb24f363dd3e83b 100755 --- a/Source/UI/EditorViewport.cpp +++ b/Source/UI/EditorViewport.cpp @@ -317,6 +317,12 @@ void EditorViewport::deleteNode(GenericEditor* editor) refreshEditors(); getProcessorGraph()->removeProcessor((GenericProcessor*) editor->getProcessor()); + + insertionPoint = -1; // make sure all editors are left-justified + indexOfMovingComponent = -1; + + somethingIsBeingDraggedOver = false; + } } @@ -327,6 +333,8 @@ void EditorViewport::refreshEditors() int lastBound = borderSize+tabSize; int totalWidth = 0; + std::cout << insertionPoint << std::endl; + bool tooLong; for (int n = 0; n < signalChainArray.size(); n++) @@ -344,7 +352,7 @@ void EditorViewport::refreshEditors() int componentWidth = editorArray[n]->desiredWidth; - if (lastBound + componentWidth < getWidth()-tabSize && n >= leftmostEditor) + if (lastBound + componentWidth < getWidth() - tabSize && n >= leftmostEditor) { if (n == 0) @@ -387,7 +395,7 @@ void EditorViewport::refreshEditors() editorArray[n]->setVisible(true); // std::cout << "setting visible." << std::endl; editorArray[n]->setBounds(lastBound, borderSize, componentWidth, getHeight()-borderSize*2); - lastBound+=(componentWidth + borderSize); + lastBound += (componentWidth + borderSize); tooLong = false; @@ -786,6 +794,8 @@ void EditorViewport::mouseDrag(const MouseEvent& e) insertionPoint = editorArray.size(); } + + refreshEditors(); repaint(); }