https://bugs.kde.org/show_bug.cgi?id=503813
--- Comment #16 from ulte...@gmail.com --- > and check whether it is null **after** the hasStashes() call. > Before the hasStashes() call no event loop is entered, so the menu guard > cannot possibly be null. I did that on my first try. It does not reach the debug output after hashStashes() on the second time, in that case. Which is why I tried hacking stuff inside it. I should have sent the previous one too. But here, I did it again: "2025-05-08T09:09:21.150" KDevelop::TextDocument::createViewWidget(QWidget*)::<lambda()> Context menu about to show GitJob::GitJob(const QDir&, KDevelop::IPlugin*, KDevelop::OutputJob::OutputJobVerbosity) "2025-05-08T09:09:21.152" KDevelop::TextDocument::createViewWidget(QWidget*)::<lambda()> Context menu about to show kdevplatform.shell: populateContextMenu() called while we still handled another menu. GitJob::GitJob(const QDir&, KDevelop::IPlugin*, KDevelop::OutputJob::OutputJobVerbosity) virtual void GitPlugin::additionalMenuEntries(QMenu*, const QList<QUrl>&) Menu guarded URLs be URL'ed QMenu(0x5eed0fb11740) Still exists --1 GitJob::GitJob(const QDir&, KDevelop::IPlugin*, KDevelop::OutputJob::OutputJobVerbosity) QMenu(0x5eed0fb11740) stashes hashed QMenu(0x5eed0fb11740) Still exists --2 Complete virtual void GitPlugin::additionalMenuEntries(QMenu*, const QList<QUrl>&) Menu guarded URLs be URL'ed QMenu(0x5eed0f858a50) Still exists --1 GitJob::GitJob(const QDir&, KDevelop::IPlugin*, KDevelop::OutputJob::OutputJobVerbosity) KCrash: Application 'kdevelop' crashing... crashRecursionCounter = 2 zsh: segmentation fault (core dumped) ./bin/kdevelop ___ Related code: void GitPlugin::additionalMenuEntries(QMenu* menu, const QList<QUrl>& urls) { qDebug() << __PRETTY_FUNCTION__; QPointer menuGuard (menu); qDebug() << "Menu guarded"; m_urls = urls; QDir dir = urlDir (urls); qDebug() << "URLs be URL'ed"; if (!menu) { qDebug() << "Heehee HAaahaaa !!!"; return; } qDebug() << menu << " Still exists --1"; bool hasSt = hasStashes (dir); qDebug() << menu << " stashes hashed"; if (!menuGuard) { qDebug() << "Heehee HAaahaaa !!!"; return; } qDebug() << menu << " Still exists --2"; menu->addAction (i18nc ("@action:inmenu", "Rebase"), this, SLOT (ctxRebase())); menu->addSeparator()->setText (i18nc ("@title:menu", "Git Stashes")); menu->addAction(i18nc("@action:inmenu", "Stash Manager"), this, SLOT(ctxStashManager()))->setEnabled(hasSt); menu->addAction(QIcon::fromTheme(QStringLiteral("vcs-stash")), i18nc("@action:inmenu", "Push Stash"), this, SLOT(ctxPushStash())); menu->addAction(QIcon::fromTheme(QStringLiteral("vcs-stash-pop")), i18nc("@action:inmenu", "Pop Stash"), this, SLOT(ctxPopStash()))->setEnabled(hasSt); qDebug() << "Complete"; } ___ > (cmake) configure, generate; I see. I had left this part to the IDE, because it was more convenient to set the variables in that. Perhaps I shouldn't have, because then it started trying to put /kdev_filtersd.so into /usr/lib/qt6/plugins/kf6/ktexttemplate/kdev_filtersd.so But doing it all in the terminal, worked fine. -- You are receiving this mail because: You are watching all bug changes.