Merge lp:~aacid/ubuntu-ui-toolkit/fix-borderimage-regression into lp:ubuntu-ui-toolkit

Proposed by Albert Astals Cid
Status: Superseded
Proposed branch: lp:~aacid/ubuntu-ui-toolkit/fix-borderimage-regression
Merge into: lp:ubuntu-ui-toolkit
Diff against target: 46 lines (+12/-7)
2 files modified
src/UbuntuToolkit/ucqquickimageextension.cpp (+11/-7)
src/UbuntuToolkit/ucqquickimageextension_p.h (+1/-0)
To merge this branch: bzr merge lp:~aacid/ubuntu-ui-toolkit/fix-borderimage-regression
Reviewer Review Type Date Requested Status
Ubuntu SDK team Pending
Review via email: mp+319555@code.launchpad.net

This proposal has been superseded by a proposal from 2017-03-10.

Commit message

Fix regression that broke BorderImage

Description of the change

Sorry :/

To post a comment you must log in.

Unmerged revisions

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'src/UbuntuToolkit/ucqquickimageextension.cpp'
2--- src/UbuntuToolkit/ucqquickimageextension.cpp 2017-02-06 13:20:30 +0000
3+++ src/UbuntuToolkit/ucqquickimageextension.cpp 2017-03-10 11:47:37 +0000
4@@ -86,19 +86,23 @@
5 // This way if the Image {} has a sourceSize set the lambda gets called because of it
6 // and if there's no sourceSize set the lambda gets called because we registered the finalize callback
7
8- connect(m_image, &QQuickImageBase::sourceSizeChanged,
9- this,
10- [&] {
11- QObject::disconnect(m_image, &QQuickImageBase::sourceSizeChanged, this, nullptr);
12- reloadSource();
13- });
14-
15+ // WARNING do not convert this to a "modern-style" connect, i.e. &QQuickImageBase::sourceSizeChanged,
16+ // it will break if m_image is a QQuickBorderImage since it redeclares the sourceSizeChanged
17+ // See https://codereview.qt-project.org/#/c/187967/
18+ connect(m_image, SIGNAL(sourceSizeChanged()), this, SLOT(onSourceSizeChanged()));
19 QQmlEnginePrivate *engPriv = QQmlEnginePrivate::get(qmlEngine(m_image));
20 engPriv->registerFinalizeCallback(m_image, m_image->metaObject()->indexOfSignal("sourceSizeChanged()"));
21 }
22 }
23 }
24
25+void UCQQuickImageExtension::onSourceSizeChanged()
26+{
27+ // See WARNING above
28+ QObject::disconnect(m_image, SIGNAL(sourceSizeChanged()), this, SLOT(onSourceSizeChanged()));
29+ reloadSource();
30+}
31+
32 void UCQQuickImageExtension::reloadSource()
33 {
34 if (!m_image) {
35
36=== modified file 'src/UbuntuToolkit/ucqquickimageextension_p.h'
37--- src/UbuntuToolkit/ucqquickimageextension_p.h 2017-02-06 10:52:06 +0000
38+++ src/UbuntuToolkit/ucqquickimageextension_p.h 2017-03-10 11:47:37 +0000
39@@ -49,6 +49,7 @@
40
41 protected Q_SLOTS:
42 void reloadSource();
43+ void onSourceSizeChanged();
44
45 protected:
46 bool rewriteSciFile(const QString &sciFilePath, const QString &scaleFactor, QTextStream& output);

Subscribers

People subscribed via source and target branches

to status/vote changes: