Bug 406056 - Kwin no longer compiles against Qt 5.13 after changes
Summary: Kwin no longer compiles against Qt 5.13 after changes
Status: RESOLVED FIXED
Alias: None
Product: kwin
Classification: Plasma
Component: core (show other bugs)
Version: unspecified
Platform: Other Linux
: NOR normal
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-03-30 19:32 UTC by bluescreenavenger
Modified: 2019-04-07 19:10 UTC (History)
4 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description bluescreenavenger 2019-03-30 19:32:47 UTC
I think something changed in the QPA part of Qt in 5.13. QtWayland had a recent fix, as it's build was broken earlier as well


Here is the build log I get:
[ 70%] Linking CXX static library ../../../../lib/libeglx11common.a
/srcbuild/kwin/plugins/qpa/integration.cpp: In member function ‘virtual void KWin::QPA::Integration::initialize()’:
/srcbuild/kwin/plugins/qpa/integration.cpp:100:5: error: ‘screenAdded’ was not declared in this scope
     screenAdded(dummyScreen);
     ^~~~~~~~~~~
/srcbuild/kwin/plugins/qpa/integration.cpp:100:5: note: suggested alternative: ‘ScreenEdges’
     screenAdded(dummyScreen);
     ^~~~~~~~~~~
     ScreenEdges
/srcbuild/kwin/plugins/qpa/integration.cpp: In member function ‘void KWin::QPA::Integration::initScreens()’:
/srcbuild/kwin/plugins/qpa/integration.cpp:203:9: error: ‘screenAdded’ was not declared in this scope
         screenAdded(screen);
         ^~~~~~~~~~~
/srcbuild/kwin/plugins/qpa/integration.cpp:203:9: note: suggested alternative: ‘ScreenEdges’
         screenAdded(screen);
         ^~~~~~~~~~~
         ScreenEdges
/srcbuild/kwin/plugins/qpa/integration.cpp:208:9: error: ‘screenAdded’ was not declared in this scope
         screenAdded(dummyScreen);
         ^~~~~~~~~~~
In file included from /srcbuild/kwin/toplevel.h:28,
                 from /srcbuild/kwin/abstract_client.h:23,
                 from /srcbuild/kwin/client.h:29,
                 from /srcbuild/kwin/plugins/scenes/opengl/lanczosfilter.cpp:23:
/srcbuild/kwin/xcbutils.h: In function ‘QVector<xcb_rectangle_t> KWin::Xcb::regionToRects(const QRegion&)’:
/srcbuild/kwin/xcbutils.h:1790:53: warning: ‘QVector<QRect> QRegion::rects() const’ is deprecated: Use begin()/end() instead [-Wdeprecated-declarations]
     const QVector<QRect> regionRects = region.rects();
                                                     ^
Comment 1 Arfrever Frehtes Taifersar Arahesis 2019-04-03 18:22:01 UTC
Relevant changes in Qt:
  In 5.12 and 5.13:
    https://code.qt.io/cgit/qt/qtbase.git/commit/?id=01e1df90a7debd333314720fdd5cf6cd9964d796

  In 5.13:
    https://code.qt.io/cgit/qt/qtbase.git/commit/?id=7a64ffb7738dc975b5008800901c8cd8ab238a0f


Summary of needed replacements:
  screenAdded       =>  QWindowSystemInterface::handleScreenAdded
  removeScreen      =>  QWindowSystemInterface::handleScreenRemoved
  destroyScreen     =>  QWindowSystemInterface::handleScreenRemoved
  setPrimaryScreen  =>  QWindowSystemInterface::handlePrimaryScreenChanged
Comment 2 David Edmundson 2019-04-03 18:25:02 UTC
Given you have already looked and have 5.13 already if you could make a patch I would happily accept it.
Comment 3 Andreas Sturmlechner 2019-04-03 22:41:05 UTC
Diff added on behalf of Chiitoo: https://phabricator.kde.org/D20239
Comment 4 Andreas Sturmlechner 2019-04-03 23:18:07 UTC
Git commit 3cc39ba35eb2afa9a39925daf58354e500e4da2b by Andreas Sturmlechner, on behalf of Jimi Huotari.
Committed on 03/04/2019 at 23:17.
Pushed by asturmlechner into branch 'master'.

Fix plugins/qpa build with Qt 5.13

Summary:
Upstream moved screen maintenance functions from
QPlatformIntegration to QWSI.
See also: https://code.qt.io/cgit/qt/qtbase.git/commit/?h=5.13&id=01e1df90

Test Plan: Built fine with Qt 5.12.2 and Qt 5.13 stable branch.

Reviewers: #kwin, zzag

Reviewed By: #kwin, zzag

Subscribers: zzag, arojas, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D20239

M  +16   -0    plugins/qpa/integration.cpp

https://commits.kde.org/kwin/3cc39ba35eb2afa9a39925daf58354e500e4da2b
Comment 5 Andreas Sturmlechner 2019-04-07 19:10:44 UTC
Git commit 6e1655e3cce082b2e7d0daf21dc58bbe3d4524f2 by Andreas Sturmlechner, on behalf of Jimi Huotari.
Committed on 07/04/2019 at 18:54.
Pushed by asturmlechner into branch 'Plasma/5.15'.

Fix plugins/qpa build with Qt 5.13

Summary:
Upstream moved screen maintenance functions from
QPlatformIntegration to QWSI.
See also: https://code.qt.io/cgit/qt/qtbase.git/commit/?h=5.13&id=01e1df90

Test Plan: Built fine with Qt 5.12.2 and Qt 5.13 stable branch.

Reviewers: #kwin, zzag

Reviewed By: #kwin, zzag

Subscribers: zzag, arojas, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D20239

M  +16   -0    plugins/qpa/integration.cpp

https://commits.kde.org/kwin/6e1655e3cce082b2e7d0daf21dc58bbe3d4524f2