diff --git a/src/eepp/ui/uiscrollablewidget.cpp b/src/eepp/ui/uiscrollablewidget.cpp index 747536b3b..828dc5ac1 100644 --- a/src/eepp/ui/uiscrollablewidget.cpp +++ b/src/eepp/ui/uiscrollablewidget.cpp @@ -392,6 +392,8 @@ Uint32 UIScrollableWidget::onMessage( const NodeMessage* Msg ) { if ( moved ) return 1; + + break; } case NodeMessage::FocusLoss: { if ( NULL != getEventDispatcher() ) { @@ -403,6 +405,8 @@ Uint32 UIScrollableWidget::onMessage( const NodeMessage* Msg ) { return 1; } + + break; } } return UIWidget::onMessage( Msg ); diff --git a/src/tools/ecode/ecode.cpp b/src/tools/ecode/ecode.cpp index 6ef1968a6..3b480f0c0 100644 --- a/src/tools/ecode/ecode.cpp +++ b/src/tools/ecode/ecode.cpp @@ -3337,7 +3337,8 @@ void App::sortSidePanel() { } } -#if EE_PLATFORM == EE_PLATFORM_MACOS +#if EE_PLATFORM == EE_PLATFORM_MACOS || EE_PLATFORM == EE_PLATFORM_LINUX || \ + EE_PLATFORM == EE_PLATFORM_BSD static std::string getDefaultShell() { std::string shell = Sys::getEnv( "SHELL" ); if ( !shell.empty() ) @@ -3654,10 +3655,14 @@ void App::init( const LogLevel& logLevel, std::string file, const Float& pidelDe return; } #endif +#if EE_PLATFORM == EE_PLATFORM_MACOS || EE_PLATFORM == EE_PLATFORM_LINUX || \ + EE_PLATFORM == EE_PLATFORM_BSD + #if EE_PLATFORM == EE_PLATFORM_MACOS macOS_createApplicationMenus(); macOS_enableScrollMomentum(); macOS_removeTitleBarSeparator( mWindow->getWindowHandler() ); +#endif mThreadPool->run( [this]() { // Checks if the default shell path contains more paths @@ -3677,6 +3682,7 @@ void App::init( const LogLevel& logLevel, std::string file, const Float& pidelDe } } +#if EE_PLATFORM == EE_PLATFORM_MACOS // Small hack to also add the xcode binaries path (provides git, lldb-dap and more) { std::string lldbPath; @@ -3692,6 +3698,7 @@ void App::init( const LogLevel& logLevel, std::string file, const Float& pidelDe } } } +#endif if ( pathSpl.size() != paths.size() ) { std::string newPath = String::join( paths, ':' ); diff --git a/src/tools/ecode/projectbuild.cpp b/src/tools/ecode/projectbuild.cpp index 63c61ea35..d4d76b88b 100644 --- a/src/tools/ecode/projectbuild.cpp +++ b/src/tools/ecode/projectbuild.cpp @@ -938,6 +938,17 @@ void ProjectBuildManager::runBuild( const std::string& buildName, const std::str cmd.cmd, cmd.args ), nullptr ); + if ( Sys::which( cmd.cmd ).empty() ) { + progressFn( + progress, + Sys::getDateTimeStr() + ": " + + String::format( i18n( "command_path_does_not_exists", + "WARNING: Command \"%s\" path cannot be found!\n" ) + .toUtf8(), + cmd.cmd ), + nullptr ); + } + if ( FileSystem::fileExists( cmd.workingDir ) ) { progressFn( progress, @@ -985,13 +996,15 @@ void ProjectBuildManager::runBuild( const std::string& buildName, const std::str if ( returnCode != EXIT_SUCCESS ) { if ( progressFn ) { - progressFn( 100, - String::format( i18n( "process_exited_with_errors", - "The process \"%s\" exited with errors.\n" ) - .toUtf8() - .c_str(), - cmd.cmd.c_str() ), - nullptr ); + progressFn( + 100, + String::format( + i18n( "process_exited_with_errors", + "The process \"%s\" exited with errors. Returned code: %d\n" ) + .toUtf8() + .c_str(), + cmd.cmd.c_str(), returnCode ), + nullptr ); } printElapsed(); if ( doneFn ) diff --git a/src/tools/ecode/uibuildsettings.cpp b/src/tools/ecode/uibuildsettings.cpp index c944d4634..aa1e9154f 100644 --- a/src/tools/ecode/uibuildsettings.cpp +++ b/src/tools/ecode/uibuildsettings.cpp @@ -663,6 +663,13 @@ UIBuildSettings::UIBuildSettings( } ); } ); + if ( isNew && mBuild.mOutputParser.getPreset().empty() && + !ProjectBuildOutputParser::getPresets().empty() ) { + mBuild.mOutputParser.mPreset = ProjectBuildOutputParser::getPresets().begin()->first; + mBuild.mOutputParser.mPresetConfig = + ProjectBuildOutputParser::getPresets().begin()->second.getConfig(); + } + auto outputParserPresetsDDL = find( "output_parsers_presets_list" ); outputParserPresetsDDL->getListBox()->setSelected( mBuild.mOutputParser.mPreset ); outputParserPresetsDDL->on( Event::OnItemSelected, [this]( const Event* event ) {