static void PerformDrop(ContainerWindow window, EditorWindow child, Vector2 screenPoint) { SplitView splitView = window.rootSplitView; DropInfo dropInfo = splitView.DragOver(child, screenPoint); if (dropInfo == null || dropInfo.dropArea == null) //this 2nd case happens when the inspector is a child of another view (I.E: Scene View) { //this undocks the window in this particular edge case child.RemoveFromDockArea(); EditorWindow.CreateNewWindowForEditorWindow(child, true, true, true); return; } splitView.PerformDrop(child, dropInfo, screenPoint); //seems to alway return true so no point in relaying this value, for now at least }