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.

Reply via email to