oxide-qt fails to build against Qt 5.4.0

Bug #1398044 reported by Timo Jyrinki
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Oxide
Fix Released
Critical
Chris Coulson
1.4
Won't Fix
Undecided
Unassigned
1.5
Fix Released
Critical
Chris Coulson

Bug Description

It seems Oxide fails to build against Qt 5.4.0:

https://launchpad.net/~canonical-qt5-edgers/+archive/ubuntu/qt5-beta2/+sourcepub/4596336/+listing-archive-extra

Note that it used to build against Qt 5.4.0 beta so this is a recent upstream change.

More information about Qt testing https://wiki.ubuntu.com/Touch/QtTesting

Tags: qt5.4
Revision history for this message
Chris Coulson (chrisccoulson) wrote :
affects: oxide-qt (Ubuntu) → oxide
Revision history for this message
Alexandre Abreu (abreu-alexandre) wrote :

It will also affect the webbrowser-app/webapp-container and ubuntu-system-settings-online-accounts (that also use the private header)

Revision history for this message
Timo Jyrinki (timo-jyrinki) wrote :

It seems the actual removal commit https://codereview.qt-project.org/#/c/97487/ was a couple of days after the beta release.

When fixing the problem, please do a conditional fix with #if QT_VERSION < QT_VERSION_CHECK(5, 4, 0) so that you can ship the fix already before Qt 5.4 lands. It makes Qt landings less complex if no-change rebuilds are possible.

Providing the Oxide functionality to fix bug #1387537 would mean webbrowser/online-accounts would not need to be touched or even included in the Qt landings (they would continue to work with new Qt without a rebuild).

Revision history for this message
Timo Jyrinki (timo-jyrinki) wrote :

UI Toolkit has a fix for this in the following MP: https://code.launchpad.net/~ubuntu-sdk-team/ubuntu-ui-toolkit/newOpenGlPrivates/+merge/243373. You can probably just use a similar landing (please attach a patch already before your landing so that I can try it out in the PPA).

Changed in oxide:
milestone: none → branch-1.5
Revision history for this message
Timo Jyrinki (timo-jyrinki) wrote :

Changing QOpenGLContextPrivate::setGlobalShareContext(shareContext.data()); to qt_gl_set_global_share_context(shareContext.data()); and additionally QOpenGLContextPrivate::globalShareContext() to qt_gl_global_share_context() were enough and I was able to build Oxide against Qt 5.4.0.

Changed in oxide:
importance: Undecided → Critical
status: New → Triaged
assignee: nobody → Chris Coulson (chrisccoulson)
Changed in oxide:
status: Triaged → In Progress
Changed in oxide:
status: In Progress → Fix Released
Revision history for this message
Timo Jyrinki (timo-jyrinki) wrote :

1.5 seems to have fixed only qt/tests/qmltests/main.cc while qt/qmlrunner/main.cc remains unfixed.

Is qt/quick/oxide_qquick_init.cc ok with its "oxide::qt::EnsureChromiumStarted"?

Attached is the patch I used for 1.4, patching three places.

Changed in oxide:
status: Fix Released → Confirmed
Revision history for this message
Chris Coulson (chrisccoulson) wrote :
Changed in oxide:
milestone: branch-1.5 → branch-1.6
status: Confirmed → Fix Released
Revision history for this message
Timo Jyrinki (timo-jyrinki) wrote :
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.