[Fwd: Re: kdebuildsycoca does not work]

David Faure faure at kde.org
Sun Oct 7 23:12:38 BST 2007


On Sunday 07 October 2007, Christian Ehrlicher wrote:
> David Faure schrieb:
> > On Sunday 07 October 2007, Christian Ehrlicher wrote:
> >> Hi,
> >>
> >> we've those problems with kbuildsycoca since last night:
> >>
> >>
> >>
> >> On 07.10.07 13:12:21, Christian Ehrlicher wrote:
> >>> Hi,
> >>>
> >>> I get an assert in kstandarddirs.cpp:642:
> >>> Q_ASSERT(prefix != "/");
> > This was hit when my entire hard disk was listed recursively by kbuildsycoca4,
> > due to a local mistake where I didn't define APPLNK_INSTALL_DIR anymore.
> > So I added the assert so that whatever happens, kstandarddirs never ends up
> > listing "/" recursively, this can't be good, ever.
> > 
> > I am completely lost as to why you should hit this on Windows.
> > kernel/kstandarddirs_win.cpp doesn't look like it could ever return "/"...
> > 
> >>> It worked yesterday morning.
> >> David Faure added that line, I suggest to talk to him about that and its
> >> impact on win32. I guess we'd need something like QDir::rootDir()
> >> instead of "/".
> > Well, if you hit the assert then you have a resource pointing to "/", *that* should be fixed IMHO, not the assert itself.
> > 
> > Anyone checked the backtrace of this assert to find out which resource is wrongly defined?
> > 
> It comes from kbuildsycoca.cpp:379:
> 
> KServiceGroup::Ptr entry = g_bsgf->addNew("/", kdeMenu->directoryFile, 
> KServiceGroup::Ptr(), false);

I don't understand how this ends up in the kstandarddirs code, or why kbuildsycoca4 works for me,
but anyway, I improved the assert by adding a if(recursive). Does it work now?

-- 
David Faure, faure at kde.org, sponsored by Trolltech to work on KDE,
Konqueror (http://www.konqueror.org), and KOffice (http://www.koffice.org).




More information about the kde-core-devel mailing list