Review Request 127631: [ksmserver] We must be sure that kwin process is ended
Thomas Lübking
thomas.luebking at gmail.com
Mon Apr 11 09:15:28 UTC 2016
> On April 11, 2016, 5:45 vorm., Martin Gräßlin wrote:
> > > otherwise kwindowsystem::self() is nullptr
> >
> > how can KWindowSystem::self() be null? And why should that have anything to do with KWin? KWindowSystem does not depend on a window manager running.
>
> Thomas Lübking wrote:
> The entire thing sounds as if the problem would be that the session restorage in kwin overrides the placement for restored windows (with the restored position)
>
> That's however not a bug (at least it's intended) and I've no idea why that's relevant to the weird geometry handling of SNI items (which looks *faaaar* too complex - the position of remapped windows is usually maintained by QWidget ...)
>
> Anthony Fieroni wrote:
> I saw the code, it looks like KWindowSystem not depend on Kwin, but Kwin *must* be started *before* use of kwindowsystem. Thomas may right, because setGeometry even not work on sessions restored app.
> When session was finish if start apps with kmail --session session-id everything wors fine.
>
> Anthony Fieroni wrote:
> Now, after Thomas comment, i even think only widget->show() must works because widget has internal frameGeometry and position.
>
> Martin Gräßlin wrote:
> > but Kwin must be started before use of kwindowsystem
>
> no, really there is no reason for that. KWindowSystem doesn't depend on a window manager running.
>
> Anthony Fieroni wrote:
> Then, correct KWin to kwindowsystem to start working. If there is no bug this will works on all cases -> https://git.reviewboard.kde.org/r/127216/ but it's not.
>
> Martin Gräßlin wrote:
> I don't know why you have problems, but it's impossible that KWindowSystem::self() returns a nullptr. You can check the code to verify. Something is really broken on your side, but I don't know what. Maybe missing plugins installed?
it's not a hard dependecy on the instace, the sni geometry handling is just plain broken.
the workaround operates on configure events on the mapped window which will go nowhere if there's no running wm.
the client needs to handle the no-wm case, ie. configure the window correctly, but to repeat myself: such requirement implies that either sni or qwidget/qwindow is completely fucked up.
qwindow/qwidget::setGeometry should justwork(tm)
- Thomas
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/127631/#review94513
-----------------------------------------------------------
On April 10, 2016, 7:46 nachm., Anthony Fieroni wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/127631/
> -----------------------------------------------------------
>
> (Updated April 10, 2016, 7:46 nachm.)
>
>
> Review request for kwin, Plasma, David Edmundson, Martin Gräßlin, and Thomas Lübking.
>
>
> Repository: plasma-workspace
>
>
> Description
> -------
>
> We must proceed with autoStart0 when kwin process is ended otherwise kwindowsystem::self() is nullptr. Every restored session app cannot use kwindowsystem. This depends of cpu speed, it can be faster enough to start wm before ksmserver restore apps and kwindowsystem will be usable.
>
>
> Diffs
> -----
>
> ksmserver/startup.cpp f118b55
>
> Diff: https://git.reviewboard.kde.org/r/127631/diff/
>
>
> Testing
> -------
>
> It's needed to fix this bug -> https://git.reviewboard.kde.org/r/127216/
> I don't know how to proceed if kwin fails to start in every way, can we process - i think not?
>
>
> Thanks,
>
> Anthony Fieroni
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20160411/909c240b/attachment.html>
More information about the Plasma-devel
mailing list