Test your applications on Wayland

2016-10-11 Thread Martin Graesslin
Hello KDE application developers,

with Plasma 5.8 we have reached a quite solid state in the Wayland porting 
efforts. A state where you can start to test whether your application works 
correctly on Wayland. Normally your application should just work, but if not 
we need to know it before we start pushing Wayland to a wider audience.

So please start to test your application, Test it completely, even the most 
obscure functionality.

If you hit a bug, please report it against product kwin, component wayland-
generic. We will take it from there and forward the bug report to the right 
component, be it in our code, your code, Qt code or even missing functionality 
in Wayland itself. Please report every issue, even if it is extremely minor - 
it might indicate a bug in QtWayland. I don't mind if I get too many bug 
reports due to an issue being reported a few times.

If for whatever reason a problem should exist in your code base we are happy 
to help you with porting it, so that it works on X11 and Wayland.

For testing I recommend to use a Wayland live iso like http://files.kde.org/
neon/images/plasma-wayland-devedition-gitunstable/current/

Such isos have the latest code and also hand-picked patches for QtWayland.

Thank you for helping our great Wayland endeavour.

If you have any questions please do not hesitate to ask!

Cheers
Martin Graesslin

signature.asc
Description: This is a digitally signed message part.


Re: Test your applications on Wayland

2016-10-11 Thread Martin Graesslin
On Tuesday, October 11, 2016 10:23:06 PM CEST Luca Beltrame wrote:
> Il giorno Tue, 11 Oct 2016 14:14:45 +0200
> 
> Martin Graesslin  ha scritto:
> > Such isos have the latest code and also hand-picked patches for
> > QtWayland.
> 
> Can we have a list of these hand picked patches? Other distributions
> may be interested in applying them, or at least knowing what problems
> they fix.

Sure, assuming you are on Qt 5.7 (if you are not still on Qt 5.6: you want 
5.7)
* 25df38cad562c458538037b9e50552b6885e5d05 (explained in BUG 366509)
* 54b819679cd39e997cc9319deaf432c37667ae6f (explained in BUG 367843)
* acd10cd393abe04a8fd6fe3ab14055e09c85bc15 (explained in BUG 370518)

Best is of course if Qt would release a 5.7.1, so that this cherry-picking is 
no longer required. Most important is the first of those three patches as 
without the applications are pretty much unusable.

Cheers
Martin

signature.asc
Description: This is a digitally signed message part.


Re: Test your applications on Wayland

2016-10-12 Thread Thiago Macieira
Em quarta-feira, 12 de outubro de 2016, às 07:47:44 CEST, Martin Graesslin 
escreveu:
> Best is of course if Qt would release a 5.7.1, so that this cherry-picking
> is no longer required. Most important is the first of those three patches
> as without the applications are pretty much unusable.

Should happen in the next couple of weeks, now that 5.6.2 is closed.

-- 
Thiago Macieira - thiago (AT) macieira.info - thiago (AT) kde.org
   Software Architect - Intel Open Source Technology Center



Re: Test your applications on Wayland

2016-10-13 Thread Martin Graesslin
On Tuesday, October 11, 2016 2:14:45 PM CEST Martin Graesslin wrote:
> Hello KDE application developers,
> 
> with Plasma 5.8 we have reached a quite solid state in the Wayland porting
> efforts. A state where you can start to test whether your application works
> correctly on Wayland. Normally your application should just work, but if not
> we need to know it before we start pushing Wayland to a wider audience.
> 
> So please start to test your application, Test it completely, even the most
> obscure functionality.

Just an example of an issue I run into today: https://git.reviewboard.kde.org/
r/129171/

Application just crashed on startup due to a missing nullptr check exposed by 
a different windowing systems.

Hey all, it shouldn't be me finding and fixing such issues ;-)

Cheers
Martin

signature.asc
Description: This is a digitally signed message part.


Re: Test your applications on Wayland

2016-10-13 Thread Adriaan de Groot
On Thursday, October 13, 2016 01:12:27 PM Martin Graesslin wrote:
> Just an example of an issue I run into today:
> https://git.reviewboard.kde.org/ r/129171/
> 
> Application just crashed on startup due to a missing nullptr check exposed
> by a different windowing systems.

 
This intrigued me, so I went looking at the Qt docs 
(e.g.http://doc.qt.io/qt-5/qguiapplication.html#clipboard)  to see if they 
said anything about the returned pointers:

===
QClipboard *QGuiApplication::clipboard()

Returns the object for interacting with the clipboard.
===
const QMimeData *QClipboard::mimeData(Mode mode = Clipboard) const

Returns a reference to a QMimeData representation of the current clipboard 
data.
===

Neither function's documentation says it can return a nullptr; neither says it 
can't. But what really surprises me in the documentation is the use of the 
words "object" and "reference" here. Since that's not what those functions are 
returning, and certainly the use of the word "reference" suggests to me (when 
somewhat-wrongly applied to a pointer) "can't be null".

So to a very limited extent we can claim it's the documentation's fault.

[ade]


Re: Test your applications on Wayland

2016-10-27 Thread Elvis Angelaccio
On Thu, Oct 13, 2016 at 2:31 PM, Adriaan de Groot  wrote:
> On Thursday, October 13, 2016 01:12:27 PM Martin Graesslin wrote:
>> Just an example of an issue I run into today:
>> https://git.reviewboard.kde.org/ r/129171/
>>
>> Application just crashed on startup due to a missing nullptr check exposed
>> by a different windowing systems.
>
>
> This intrigued me, so I went looking at the Qt docs
> (e.g.http://doc.qt.io/qt-5/qguiapplication.html#clipboard)  to see if they
> said anything about the returned pointers:
>
>
> Neither function's documentation says it can return a nullptr; neither says it
> can't. But what really surprises me in the documentation is the use of the
> words "object" and "reference" here.

What's even more surprising is that the behavior seems to differ
across applications. For example on the very same system I can
reproduce the kcolourpaint crash pointed by Martin, but I cannot
reproduce the crash in [1], which according to the stacktrace is also
happening because of a null mimeData pointer from the clipboard.

[1]: https://bugs.kde.org/show_bug.cgi?id=359883

>
> [ade]

Cheers
Elvis


QtWebEngine on Wayland (was: Re: Test your applications on Wayland)

2016-10-12 Thread Kevin Kofler
Hi,

one major issue is that QtWebEngine does not work on Wayland at this time, 
at least not if it is built with desktop OpenGL. See:
https://bugreports.qt.io/browse/QTBUG-55384

This affects kdepim applications (at least KMail) and also some Qt 
applications developed outside of KDE infrastructure (QupZilla, the 
Calamares webview module, etc.).

Kevin Kofler



Re: QtWebEngine on Wayland (was: Re: Test your applications on Wayland)

2016-10-12 Thread Martin Graesslin
On Wednesday, October 12, 2016 2:05:25 PM CEST Kevin Kofler wrote:
> Hi,
> 
> one major issue is that QtWebEngine does not work on Wayland at this time,
> at least not if it is built with desktop OpenGL. See:
> https://bugreports.qt.io/browse/QTBUG-55384
> 
> This affects kdepim applications (at least KMail) and also some Qt
> applications developed outside of KDE infrastructure (QupZilla, the
> Calamares webview module, etc.).

at least kmail is adjusted to force the xcb platform plugin. All other 
applications which use QWebEngine should do the same:

qputenv("QT_QPA_PLATFORM", "xcb");
QGuiApplication app(argc, argv);

It's unfortunate that this happens - the only defense I have for it is that no 
browser currently works on Wayland ootb.

Cheers
Martin



signature.asc
Description: This is a digitally signed message part.