duchainify requires XServer [WAS: Re: QFSFileEngine::map: Mapping a file beyond its size is not portable]

Andreas Pakulat apaku at gmx.de
Mon Dec 7 22:32:34 UTC 2009


On 07.12.09 20:49:06, Milian Wolff wrote:
> 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:
> > > 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 ?

No thats not ok. No controller can be absent from Core. The uicontroller
however shouldn't request an Icon at all, can you share the backtrace?

> 3) when I disable it I get a problem in KDevDocumentationViewPlugin, it tries 
> to accesses the uiController() - how should this be fixed?

That plugin shouldn't be loaded in Non-UI mode, that should be written
in the plugins desktop file. And it is even, if its still loaded even if
the NoUi flag is properly passed onto plugincontroller then something is
wrong there.

Andreas

-- 
You have an unusual understanding of the problems of human relationships.




More information about the KDevelop-devel mailing list