Created by Iceyer and last modified
Get this branch:
bzr branch lp:~iceyers/gsettings-qt/fix-link-path
Only Iceyer can upload to this branch. If you are Iceyer please log in for upload directions.

Branch merges

Related bugs

Related blueprints

Branch information


Recent revisions

86. By Iceyer on 2017-08-04

Fix make check failed

85. By Iceyer on 2017-07-21

Add ordered config

84. By iceyer@iceyer-PC on 2017-07-20

Fix link path error

83. By Timo Jyrinki on 2017-01-10

No change rebuild

82. By Timo Jyrinki on 2016-07-26

* Build against Qt 5.6.
* Adjust test running to changes in Qt 5.6.
* debian/control: don't use transitional package names
* Update symbols.

81. By CI Train Bot Account on 2016-03-29

Releasing 0.1+16.04.20160329-0ubuntu1

80. By Albert Astals Cid on 2016-03-29

Use QChar toUpper/toLower instead of C version

C version works according to the locale that is not what we want in here
since in some locales there's not capital versions for some of the latin1
characters (i.e. Turkish will return i for toupper('i')) so when we try to
go back to the dashed version it will fail Fixes: #1556461
Approved by: Nick Dedekind, Michael Zanetti

79. By CI Train Bot Account on 2016-01-11

Releasing 0.1+16.04.20160111-0ubuntu1

78. By Albert Astals Cid on 2016-01-11

Disconnect signal handler on destruction

When running unity8 under valgrind sometimes I get

    ==31122== Invalid read of size 8
    ==31122== at 0x620DB42: QMetaObject::invokeMethod(QObject*, char const*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) (in /usr/lib/x86_64-linux-gnu/libQt5Core.so.5.4.2)
    ==31122== by 0x1C7C63EE: invokeMethod (qobjectdefs.h:391)
    ==31122== by 0x1C7C63EE: QGSettingsPrivate::settingChanged(_GSettings*, char const*, void*) (qgsettings.cpp:40)
    ==31122== by 0x129DAA59: g_cclosure_marshal_VOID__STRINGv (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.4700.1)
    ==31122== by 0x129D81D3: _g_closure_invoke_va (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.4700.1)
    ==31122== by 0x129F29D5: g_signal_emit_valist (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.4700.1)
    ==31122== by 0x129F30BE: g_signal_emit (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.4700.1)
    ==31122== by 0x138478EB: g_settings_real_change_event (in /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0.4700.1)
    ==31122== by 0x14540D8F: ffi_call_unix64 (in /usr/lib/x86_64-linux-gnu/libffi.so.6.0.4)
    ==31122== by 0x145407F7: ffi_call (in /usr/lib/x86_64-linux-gnu/libffi.so.6.0.4)
    ==31122== by 0x129D8CF4: g_cclosure_marshal_generic_va (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.4700.1)
    ==31122== by 0x129D81D3: _g_closure_invoke_va (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.4700.1)
    ==31122== by 0x129F24E7: g_signal_emit_valist (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.4700.1)
    ==31122== Address 0x1dbaa450 is 0 bytes inside a block of size 24 free'd
    ==31122== at 0x4C2D28B: operator delete(void*) (vg_replace_malloc.c:575)
    ==31122== by 0x622CD2A: QObjectPrivate::deleteChildren() (in /usr/lib/x86_64-linux-gnu/libQt5Core.so.5.4.2)
    ==31122== by 0x623661F: QObject::~QObject() (in /usr/lib/x86_64-linux-gnu/libQt5Core.so.5.4.2)
    ==31122== by 0x1C5BB7AD: ~QQmlElement (qqmlprivate.h:98)
    ==31122== by 0x1C5BB7AD: QQmlPrivate::QQmlElement<GSettingsQml>::~QQmlElement() (qqmlprivate.h:98)
    ==31122== by 0x622CD2A: QObjectPrivate::deleteChildren() (in /usr/lib/x86_64-linux-gnu/libQt5Core.so.5.4.2)
    ==31122== by 0x623661F: QObject::~QObject() (in /usr/lib/x86_64-linux-gnu/libQt5Core.so.5.4.2)
    ==31122== by 0x53E886C: QQuickItem::~QQuickItem() (qquickitem.cpp:2223)
    ==31122== by 0x5402DED: ~QQuickRectangle (qquickrectangle_p.h:128)
    ==31122== by 0x5402DED: ~QQmlElement (qqmlprivate.h:98)
    ==31122== by 0x5402DED: QQmlPrivate::QQmlElement<QQuickRectangle>::~QQmlElement() (qqmlprivate.h:98)
    ==31122== by 0x622F66F: QObject::event(QEvent*) (in /usr/lib/x86_64-linux-gnu/libQt5Core.so.5.4.2)
    ==31122== by 0x53E66BA: QQuickItem::event(QEvent*) (qquickitem.cpp:7302)
    ==31122== by 0x61FDDE8: QCoreApplication::notify(QObject*, QEvent*) (in /usr/lib/x86_64-linux-gnu/libQt5Core.so.5.4.2)
    ==31122== by 0x61FDF1A: QCoreApplication::notifyInternal(QObject*, QEvent*) (in /usr/lib/x86_64-linux-gnu/libQt5Core.so.5.4.2)
    ==31122== Block was alloc'd at
    ==31122== at 0x4C2C12F: operator new(unsigned long) (vg_replace_malloc.c:333)
    ==31122== by 0x1C5BD113: GSettingsQml::componentComplete() (gsettings-qml.cpp:141)
    ==31122== by 0x5E25421: ??? (in /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5.4.2)
    ==31122== by 0x5DB22E9: ??? (in /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5.4.2)
    ==31122== by 0x5DB2B9E: QQmlEnginePrivate::incubate(QQmlIncubator&, QQmlContextData*) (in /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5.4.2)
    ==31122== by 0x5DAE4EB: QQmlComponent::create(QQmlIncubator&, QQmlContext*, QQmlContext*) (in /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5.4.2)
    ==31122== by 0x5498859: QQuickLoaderPrivate::_q_sourceLoaded() (qquickloader.cpp:713)
    ==31122== by 0x54989F7: QQuickLoaderPrivate::load() (qquickloader.cpp:596)
    ==31122== by 0x5E25421: ??? (in /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5.4.2)
    ==31122== by 0x5DADEAD: QQmlComponentPrivate::complete(QQmlEnginePrivate*, QQmlComponentPrivate::ConstructionState*) (in /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5.4.2)
    ==31122== by 0x5DADF76: QQmlComponentPrivate::completeCreate() (in /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5.4.2)
    ==31122== by 0x5DADDDF: QQmlComponent::create(QQmlContext*) (in /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5.4.2)

Which as far as i understand means that the QGSettingsPrivate::settingChanged is being called even if GSettingsQml has already been destroyed.

By disconnecting the signal handler I have not been able to reproduce the valgrind warning anymore
Approved by: Lars Uebernickel

77. By CI Train Bot Account on 2015-11-30

Releasing 0.1+16.04.20151130-0ubuntu1

Branch metadata

Branch format:
Branch format 7
Repository format:
Bazaar repository format 2a (needs bzr 1.16 or later)
Stacked on:
This branch contains Public information 
Everyone can see this information.