diff --git a/cmake/QtCreatorAPI.cmake b/cmake/QtCreatorAPI.cmake index df497f70e93..aefae6f7298 100644 --- a/cmake/QtCreatorAPI.cmake +++ b/cmake/QtCreatorAPI.cmake @@ -247,6 +247,8 @@ function(add_qtc_library name) set_target_properties(${name} PROPERTIES SUFFIX "${IDE_VERSION_MAJOR}${CMAKE_SHARED_LIBRARY_SUFFIX}" PREFIX "" + IMPORT_SUFFIX "${IDE_VERSION_MAJOR}${CMAKE_IMPORT_LIBRARY_SUFFIX}" + IMPORT_PREFIX "" ) endif() @@ -500,6 +502,8 @@ function(add_qtc_plugin target_name) set_target_properties(${target_name} PROPERTIES SUFFIX "${IDE_VERSION_MAJOR}${CMAKE_SHARED_LIBRARY_SUFFIX}" PREFIX "" + IMPORT_SUFFIX "${IDE_VERSION_MAJOR}${CMAKE_IMPORT_LIBRARY_SUFFIX}" + IMPORT_PREFIX "" ) endif() enable_pch(${target_name}) diff --git a/src/plugins/coreplugin/editormanager/editormanager.cpp b/src/plugins/coreplugin/editormanager/editormanager.cpp index d914326e0ec..cef8628aa68 100644 --- a/src/plugins/coreplugin/editormanager/editormanager.cpp +++ b/src/plugins/coreplugin/editormanager/editormanager.cpp @@ -1753,6 +1753,11 @@ bool EditorManagerPrivate::closeEditors(const QList &editors, CloseFla flags = EditorManager::DoNotSwitchToDesignMode; activateEditorForDocument(view, document, flags); } + } else { + // no documents left - set current view since view->removeEditor can + // trigger a focus change, context change, and updateActions, which + // requests the current EditorView + setCurrentView(currentView); } } } @@ -1766,10 +1771,12 @@ bool EditorManagerPrivate::closeEditors(const QList &editors, CloseFla foreach (IEditor *editor, acceptedEditors) delete editor; - if (focusView) + if (focusView) { activateView(focusView); - else + } else { + setCurrentView(currentView); setCurrentEditor(currentView->currentEditor()); + } if (!EditorManager::currentEditor()) { emit m_instance->currentEditorChanged(nullptr); diff --git a/src/shared/CMakeLists.txt b/src/shared/CMakeLists.txt index ec0069078d8..90965fbd1cd 100644 --- a/src/shared/CMakeLists.txt +++ b/src/shared/CMakeLists.txt @@ -5,6 +5,10 @@ add_subdirectory(qtlockedfile) add_subdirectory(help) add_subdirectory(registryaccess) +# PCHs used by qmake based plugin builds +qtc_add_public_header(qtcreator_pch.h) +qtc_add_public_header(qtcreator_gui_pch.h) + if (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/qbs/CMakeLists.txt) set(BUILD_QBS_DEFAULT YES) else() diff --git a/src/shared/qbs b/src/shared/qbs index 481c2a0a47d..0d42ca4d0f8 160000 --- a/src/shared/qbs +++ b/src/shared/qbs @@ -1 +1 @@ -Subproject commit 481c2a0a47d9c97bfa3d09869591e47e37f75c0b +Subproject commit 0d42ca4d0f8b0866b51ac9587f68a6550ca6d3fe diff --git a/tests/system/suite_general/tst_default_settings/test.py b/tests/system/suite_general/tst_default_settings/test.py index 4db29858bb7..2cb40725b82 100644 --- a/tests/system/suite_general/tst_default_settings/test.py +++ b/tests/system/suite_general/tst_default_settings/test.py @@ -209,7 +209,8 @@ def __getExpectedCompilers__(): expected.extend(__getWinCompilers__()) compilers = ["g++", "gcc"] if platform.system() in ('Linux', 'Darwin'): - for c in ('clang++', 'clang', 'afl-clang', 'clang-[0-9]', 'clang-[0-9].[0-9]', + for c in ('clang++', 'clang', 'afl-clang', + 'clang-[0-9]', 'clang-[0-9].[0-9]', 'clang-1[0-9]', 'clang-1[0-9].[0-9]', '*g++*', '*gcc*'): compilers.extend(findAllFilesInPATH(c)) if platform.system() == 'Darwin':