@@ -183,6 +183,8 @@ public class CheckmarxView extends ViewPart implements EventHandler {
183183 private String latestScanId = PluginConstants .EMPTY_STRING ;
184184 private static String currentScanIdFormmated = PluginConstants .EMPTY_STRING ;
185185 private List <String > currentBranches = new ArrayList <>();
186+ private List <Project > currentProjects = new ArrayList <>();
187+
186188
187189 private boolean scansCleanedByProject = false ;
188190 private boolean firstTimeTriggered = false ;
@@ -375,10 +377,10 @@ private void loadComboboxes() {
375377
376378 @ Override
377379 protected IStatus run (IProgressMonitor arg0 ) {
378- List < Project > projectList = getProjects ();
380+ currentProjects = getProjects ();
379381 sync .asyncExec (() -> {
380- projectComboViewer .setInput (projectList );
381- if (currentProjectId .isEmpty () || projectList .isEmpty ()) {
382+ projectComboViewer .setInput (currentProjects );
383+ if (currentProjectId .isEmpty () || currentProjects .isEmpty ()) {
382384 PluginUtils .setTextForComboViewer (projectComboViewer , PROJECT_COMBO_VIEWER_TEXT );
383385 PluginUtils .setTextForComboViewer (branchComboViewer , BRANCH_COMBO_VIEWER_TEXT );
384386 PluginUtils .setTextForComboViewer (scanIdComboViewer , PluginConstants .COMBOBOX_SCAND_ID_PLACEHOLDER );
@@ -389,7 +391,7 @@ protected IStatus run(IProgressMonitor arg0) {
389391 });
390392
391393 // set project ID
392- String currentProjectName = getProjectFromId (projectList , currentProjectId );
394+ String currentProjectName = getProjectFromId (currentProjects , currentProjectId );
393395 sync .asyncExec (() -> {
394396 PluginUtils .setTextForComboViewer (projectComboViewer , currentProjectName );
395397 });
@@ -763,6 +765,15 @@ public void selectionChanged(SelectionChangedEvent event) {
763765
764766 Project selectedProject = ((Project ) selection .getFirstElement ());
765767
768+
769+ // Check if selected branch exists in currentBranches
770+ if (!currentProjects .contains (selectedProject )) {
771+ // Invalid branch - reset to default text and disable scan button
772+ PluginUtils .setTextForComboViewer (projectComboViewer , PROJECT_COMBO_VIEWER_TEXT );
773+ updateStartScanButton (false );
774+ return ;
775+ }
776+
766777 // Avoid non-sense trigger changed when opening the combo
767778 if (selectedProject .getId ().equals (currentProjectId )) {
768779 CxLogger .info (PluginConstants .INFO_CHANGE_PROJECT_EVENT_NOT_TRIGGERED );
0 commit comments