UITK gallery: can't open subpages on Qt 5.6 because of TypeError

Bug #1585996 reported by Timo Jyrinki
This bug affects 3 people
Affects Status Importance Assigned to Milestone
ubuntu-ui-toolkit (Ubuntu)
Fix Released
Zsombor Egri

Bug Description

On Qt 5.6 I can't seem to be able to open subpages in UITK Gallery (installed from Store). In logs I have:

qml: sourcePage must be added to the view to add new page.

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

Tags: qt5.6

Related branches

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

(no change with Qt 5.6.1)

Revision history for this message
Tim Peeters (tpeeters) wrote :

I get this on desktop (in a xenial lxd container with silo 11):

ubuntu@xenial4:~/dev/ubuntu-ui-toolkit/m/qt56-failures1$ ./gallery.sh
initctl: Name "com.ubuntu.Upstart" does not exist
QQmlComponent: Cannot create new component instance before completing the previous
file:///home/ubuntu/dev/ubuntu-ui-toolkit/m/qt56-failures1/qml/Ubuntu/Components/1.3/AdaptivePageLayout.qml:945: TypeError: Type error
[PERFORMANCE]: Last frame took 41 ms to render.
Only root node has parentNode null.
qml: sourcePage must be added to the view to add new page.

Changed in ubuntu-ui-toolkit (Ubuntu):
status: New → Confirmed
Tim Peeters (tpeeters)
summary: - UITK gallery: can't open subpages on Qt 5.6
+ UITK gallery: can't open subpages on Qt 5.6 because of TypeError
Cris Dywan (kalikiana)
Changed in ubuntu-ui-toolkit (Ubuntu):
assignee: nobody → Christian Dywan (kalikiana)
Cris Dywan (kalikiana)
Changed in ubuntu-ui-toolkit (Ubuntu):
assignee: Christian Dywan (kalikiana) → nobody
assignee: nobody → Zsombor Egri (zsombi)
Zsombor Egri (zsombi)
Changed in ubuntu-ui-toolkit (Ubuntu):
importance: High → Critical
Zsombor Egri (zsombi)
Changed in ubuntu-ui-toolkit (Ubuntu):
status: Confirmed → In Progress
Revision history for this message
Zsombor Egri (zsombi) wrote :

There are two problems:
1) the component the APL creates the default metrics is called in parallel by two changes: body.onChildrenChanged is processed in parallel with d.onDefaultColumnWidthChanged, both call the object creation. This can be filtered out, as done in the attached branch.

2) variant type properties are causing trouble when a string value is added. The property change signal is triggered twice, which - in case of the primaryPageSource - causes the primary page to be loaded twice. Changing the property type to string makes APL to work again. With the previous change applied too.

Revision history for this message
Zsombor Egri (zsombi) wrote :

If the primaryPageSource is a component, the APL works fine.

This problem doesn't appear to affect adding pages to columns

Cris Dywan (kalikiana)
Changed in ubuntu-ui-toolkit (Ubuntu):
status: In Progress → Fix Committed
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (4.4 KiB)

This bug was fixed in the package ubuntu-ui-toolkit - 1.3.2135+16.10.20161003.1

ubuntu-ui-toolkit (1.3.2135+16.10.20161003.1) yakkety; urgency=medium

  [ Christian Dywan ]
  * Fix warning about using implicit char* to QString conversion.
  * __styleInstance may be null, when doesn't handle that. Fixes LP: #1586013
  * Focus ring, arrow keys and space to expand OptionSelector.
    Fixes LP: #1514860
  * Use QStringLiteral with QString.replace. Fixes LP: #1625507
  * Use displayText to determine if the clear button should show.
    Fixes LP: #1461571
  * && escapes an ampersand used in a mnemonic label. Fixes LP: #1587580
  * Try harder to pass an item to QuickUtils.rootItem. Fixes LP: #1586013

  [ Timo Jyrinki ]
  * Enable arm64 unit tests on xenial and newer. Fixes LP: #1580172.
  * Add initial snapcraft.yaml

  [ Marco Trevisan ]
  * UCSlotsLayout: update the size of the element when top/bottom paddings change.
    Fixes LP: #1628161

  [ Tim Peeters ]
  * Ensure that the model in TabBarStyle is a list and not null.
    Fixes LP: #1622577.
  * Initialize the 'window' context property with null and add MainView 1.3 unit
    tests. Fixes LP: #1610231, LP: #1621509, LP: #1625993.
  * Fix libpng sRGB profile warnings on Yakkety. Fixes LP: #1625137.
  * Disable layouts unit test to work around bug 1625137 on Yakkety.

  [ Zsombor Egri ]
  * Fix AdaptivePageLayout behavior on Qt5.6. Fixes LP: #1585996.
  * Fix property binding restore on theme palette values. Fixes LP: #1570478.
  * Move activeFocusOnTab from style into components. Fixes LP: #1590005.

  [ Loïc Molinari ]
  * Added public headers extra robustness checks. Made use of the qmake
    headersclean feature to check the robustness of our public headers.
  * Excluded LTTng features from non-Linux builds.
  * Moved common C++ configs to ubuntu_common.prf. The common config file
    doesn't add -Werror directly to QMAKE_CXXFLAGS anymore, it sets the
    warnings_are_errors variable so that it is correctly handled by different
    compilers (not just GCC). That allows to remove the
    -Werror=deprecated-declarations flag since warnings_are_errors defines it
    for us. Removed the DEFINES += QT_USE_QSTRINGBUILDER lines since it's
    already handled by qt_module.prf. Set the -Wsuggest-override warning to
  * Cleaned up qmake Ubuntu packaging variables. The qtbase packaging for Ubuntu
    exports the CFLAGS, CXXFLAGS and LFLAGS variables in the environment before
    running configure so that the qtbase shared libraries can be compiled with
    the required distribution defined compiler flags. That is fine (though I
    guess that could be handled better at the qtbase packaging level with maybe
    a dedicated prf) but it results in qt_build_config.prf defining the
    QMAKE_CFLAGS, QMAKE_CXXFLAGS and QMAKE_LFLAGS variables with these
    distribution specific flags. Since we load this prf, these variables end up
    being defined when building the toolkit for development purpose. This is
    problematic because -O2 and -g are always defined (whatever the debug or
    release config chosen by the developer), al...


Changed in ubuntu-ui-toolkit (Ubuntu):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers