duchainify requires XServer [WAS: Re: QFSFileEngine::map: Mapping a file beyond its size is not portable]
Milian Wolff
mail at milianw.de
Mon Dec 7 19:49:06 UTC 2009
On Monday 07 December 2009 20:29:28 David Nolden wrote:
> Am Montag 07 Dezember 2009 20:14:37 schrieb Milian Wolff:
> > On Monday 07 December 2009 16:09:51 David Nolden wrote:
> > > Am Montag 07 Dezember 2009 15:57:33 schrieb Milian Wolff:
> > > > Hi all!
> > > >
> > > > I get the above mentioned error on a test machine of mine, running
> > > > Archlinux with kde-qt compiled from sources. I know that at least
> > > > David got this error also on OpenSuse.
> > > >
> > > > My problem is: It makes duchainify stop working alltogether it seems:
> > >
> > > This was only a real problem in one of the beta release of Qt 4.6,
> > > where they made the mapping fail fully in such a case. But at that
> > > point I made the fallback work properly, so even if the mapping fails,
> > > KDevelop keeps working.
> > >
> > > But in the final release, they're turned the problem into a pure
> > > warning, so it's only an aesthetical problem.
> > >
> > > And btw. the main problem is anyway that their check is somehow broken,
> > > as we actually _do not_ map a file beyond its size.
> > >
> > > So to make it short: This issue is probably not the reason why your
> > > duchainify doesn't work.
> >
> > OK, found the culprit:
> >
> > 1) Somehow the qWarning is not shown on several of my machines
>
> The tool eats those warnings unless you call it with --verbose, so you can
> see the actual output of the tool.
Even running with --warnings --verbose I don't see the warning.
> > 2) Duchainify requires an XServer, as this is where the exit takes place:
> >
> > 1830 if (qt_is_gui_used && !X11->display) {
> > 1831 if ((X11->display = XOpenDisplay(X11->displayName)) == 0)
> > { 1832 qWarning("%s: cannot connect to X server %s",
> > appName, 1833 XDisplayName(X11->displayName));
> > 1834 QApplicationPrivate::reset_instance_pointer();
> > 1835 exit(1);
> > 1836 }
> >
> > Imo this is very sub-optimal. DUChainify is a CLI app, no? There is not
> > need for an XServer in it, or is there?
> >
> > Maybe I'll look into the source later today/night.
>
> It uses the standard Core::NoUI initialization, the same stuff that the
> tests do.
No, there's much different here. I can run e.g. PHP unit tests via SSH with no
problems. Running a sublime test directly returns the warnings about no
running Xserver.
No there seem to be several problems:
1) it has to be KApplication app(false); (will submit that)
2) but than we crash when trying to access some kind of Icon because we setup
the uiController even in NoUi mode (is it OK to not set it up in
CorePrivate::initialize ?
3) when I disable it I get a problem in KDevDocumentationViewPlugin, it tries
to accesses the uiController() - how should this be fixed?
But still: this is not the "same stuff that the tests do". They work.
Duchainify not.
Ideas?
--
Milian Wolff
mail at milianw.de
http://milianw.de
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part.
URL: <http://mail.kde.org/pipermail/kdevelop-devel/attachments/20091207/13ae9077/attachment.sig>
More information about the KDevelop-devel
mailing list