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

Proposed by Albert Astals Cid
Status: Merged
Approved by: Zsombor Egri
Approved revision: 2185
Merged at revision: 2185
Proposed branch: lp:~aacid/ubuntu-ui-toolkit/fix-borderimage-regression
Merge into: lp:ubuntu-ui-toolkit/staging
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-build-bot continuous-integration Approve
Zsombor Egri Approve
Review via email: mp+319556@code.launchpad.net

This proposal supersedes 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.
Revision history for this message
Zsombor Egri (zsombi) wrote :

Oh, what a weirdo :) Thanks for getting back to it.

review: Approve
Revision history for this message
ubuntu-sdk-build-bot (ubuntu-sdk-build-bot) wrote :
review: Approve (continuous-integration)
Revision history for this message
ubuntu-sdk-build-bot (ubuntu-sdk-build-bot) wrote :
review: Approve (continuous-integration)
Revision history for this message
ubuntu-sdk-build-bot (ubuntu-sdk-build-bot) wrote :
review: Approve (continuous-integration)
Revision history for this message
ubuntu-sdk-build-bot (ubuntu-sdk-build-bot) wrote :
review: Approve (continuous-integration)
Revision history for this message
ubuntu-sdk-build-bot (ubuntu-sdk-build-bot) wrote :
review: Approve (continuous-integration)

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 12:04:49 +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 12:04:49 +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