From 6781b020941d3644e278c7a4d35890cfd248edcb Mon Sep 17 00:00:00 2001 From: bhavyabhardwaj001 <161822108+bhavyabhardwaj001@users.noreply.github.com> Date: Thu, 21 May 2026 19:25:15 +0530 Subject: [PATCH] Fix Project Explorer right-click crash in PyQt6 --- src/frontEnd/ProjectExplorer.py | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/src/frontEnd/ProjectExplorer.py b/src/frontEnd/ProjectExplorer.py index b8786c0cc..265f7c85e 100755 --- a/src/frontEnd/ProjectExplorer.py +++ b/src/frontEnd/ProjectExplorer.py @@ -104,13 +104,17 @@ def addTreeNode(self, parents, children): ) = [] def openMenu(self, position): - indexes = self.treewidget.selectedIndexes() - if len(indexes) > 0: - level = 0 - index = indexes[0] - while index.parent().isValid(): - index = index.parent() - level += 1 + index = self.treewidget.indexAt(position) + if not index.isValid(): + return + + self.treewidget.setCurrentIndex(index) + level = 0 + temp_index = index + + while temp_index.parent().isValid(): + temp_index = temp_index.parent() + level += 1 menu = QtWidgets.QMenu() if level == 0: @@ -124,7 +128,7 @@ def openMenu(self, position): openfile = menu.addAction(self.tr("Open")) openfile.triggered.connect(self.openProject) - menu.exec_(self.treewidget.viewport().mapToGlobal(position)) + menu.exec(self.treewidget.viewport().mapToGlobal(position)) def openProject(self): self.indexItem = self.treewidget.currentIndex()