mirror of
git://slackware.nl/current.git
synced 2024-12-30 10:24:23 +01:00
7cde3ca9e7
a/kernel-generic-5.4.20-x86_64-1.txz: Upgraded. a/kernel-huge-5.4.20-x86_64-1.txz: Upgraded. a/kernel-modules-5.4.20-x86_64-1.txz: Upgraded. a/shadow-4.8.1-x86_64-3.txz: Rebuilt. a/util-linux-2.35.1-x86_64-3.txz: Rebuilt. d/kernel-headers-5.4.20-x86-1.txz: Upgraded. k/kernel-source-5.4.20-noarch-1.txz: Upgraded. l/ConsoleKit2-1.2.1-x86_64-2.txz: Rebuilt. l/dconf-editor-3.34.4-x86_64-1.txz: Upgraded. l/libxkbcommon-0.10.0-x86_64-1.txz: Added. l/openal-soft-1.19.1-x86_64-1.txz: Added. l/qt5-5.13.2-x86_64-1.txz: Added. Thanks to alienBOB. n/openssh-8.2p1-x86_64-1.txz: Upgraded. Potentially incompatible changes: * ssh(1), sshd(8): the removal of "ssh-rsa" from the accepted CASignatureAlgorithms list. * ssh(1), sshd(8): this release removes diffie-hellman-group14-sha1 from the default key exchange proposal for both the client and server. * ssh-keygen(1): the command-line options related to the generation and screening of safe prime numbers used by the diffie-hellman-group-exchange-* key exchange algorithms have changed. Most options have been folded under the -O flag. * sshd(8): the sshd listener process title visible to ps(1) has changed to include information about the number of connections that are currently attempting authentication and the limits configured by MaxStartups. x/mesa-19.3.4-x86_64-2.txz: Rebuilt. Reverted "[PATCH] swr: Fix GCC 4.9 checks." which makes X fail to start with an illegal instruction on some hardware. isolinux/initrd.img: Rebuilt. kernels/*: Upgraded. testing/packages/PAM/ConsoleKit2-1.2.1-x86_64-2_pam.txz: Rebuilt. Rebuilt with --disable-libcgmanager to fix setting limits on PAM. Thanks to gattocarlo. testing/packages/PAM/openssh-8.2p1-x86_64-1_pam.txz: Upgraded. testing/packages/PAM/shadow-4.8.1-x86_64-3_pam.txz: Rebuilt. Moved some of the /etc/pam.d/ file to the util-linux package where they more properly belong. testing/packages/PAM/util-linux-2.35.1-x86_64-3_pam.txz: Rebuilt. Added some /etc/pam.d/ files previously in the shadow package. Changed /etc/pam.d/{chfn,chsh} and made chfn/chsh setuid root to fix them. Added /etc/pam.d/{runuser,runuser-l}. usb-and-pxe-installers/usbboot.img: Rebuilt.
185 lines
7.5 KiB
Diff
185 lines
7.5 KiB
Diff
From 5149aa68eca6ede8836ec4f07a14d22d9da9b161 Mon Sep 17 00:00:00 2001
|
|
From: Mitch Curtis <mitch.curtis@qt.io>
|
|
Date: Tue, 13 Sep 2016 12:42:12 +0200
|
|
Subject: Fix crash on exit when using default property aliases with layouts
|
|
|
|
The layout was being destroyed before the text, which meant that the
|
|
removeItemChangeListener() call never got hit. To ensure that the
|
|
listener is always removed, loop through each child in QQuickLayout's
|
|
destructor.
|
|
|
|
This is a manual cherry-pick of
|
|
59c6c0e0b1b5b46747595a58e11311b7393d7e70.
|
|
|
|
Task-number: QTBUG-51927
|
|
Change-Id: I669f42beb8c3dd6b4b741cae0b16e017bb3409df
|
|
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
|
|
---
|
|
src/imports/layouts/qquicklayout.cpp | 4 ++
|
|
.../qquicklayouts/data/rowlayout/Container.qml | 55 ++++++++++++++++++++++
|
|
.../qquicklayouts/data/rowlayout/ContainerUser.qml | 53 +++++++++++++++++++++
|
|
.../quick/qquicklayouts/data/tst_rowlayout.qml | 12 +++++
|
|
4 files changed, 124 insertions(+)
|
|
create mode 100644 tests/auto/quick/qquicklayouts/data/rowlayout/Container.qml
|
|
create mode 100644 tests/auto/quick/qquicklayouts/data/rowlayout/ContainerUser.qml
|
|
|
|
diff --git a/src/imports/layouts/qquicklayout.cpp b/src/imports/layouts/qquicklayout.cpp
|
|
index abc8f97..9914826 100644
|
|
--- a/src/imports/layouts/qquicklayout.cpp
|
|
+++ b/src/imports/layouts/qquicklayout.cpp
|
|
@@ -698,6 +698,10 @@ QQuickLayout::QQuickLayout(QQuickLayoutPrivate &dd, QQuickItem *parent)
|
|
QQuickLayout::~QQuickLayout()
|
|
{
|
|
d_func()->m_isReady = false;
|
|
+
|
|
+ const auto childItems = d_func()->childItems;
|
|
+ for (QQuickItem *child : childItems)
|
|
+ QQuickItemPrivate::get(child)->removeItemChangeListener(this, QQuickItemPrivate::SiblingOrder);
|
|
}
|
|
|
|
QQuickLayoutAttached *QQuickLayout::qmlAttachedProperties(QObject *object)
|
|
diff --git a/tests/auto/quick/qquicklayouts/data/rowlayout/Container.qml b/tests/auto/quick/qquicklayouts/data/rowlayout/Container.qml
|
|
new file mode 100644
|
|
index 0000000..22205c1
|
|
--- /dev/null
|
|
+++ b/tests/auto/quick/qquicklayouts/data/rowlayout/Container.qml
|
|
@@ -0,0 +1,55 @@
|
|
+/****************************************************************************
|
|
+**
|
|
+** Copyright (C) 2016 The Qt Company Ltd.
|
|
+** Contact: http://www.qt.io/licensing/
|
|
+**
|
|
+** This file is part of the test suite of the Qt Toolkit.
|
|
+**
|
|
+** $QT_BEGIN_LICENSE:BSD$
|
|
+** You may use this file under the terms of the BSD license as follows:
|
|
+**
|
|
+** "Redistribution and use in source and binary forms, with or without
|
|
+** modification, are permitted provided that the following conditions are
|
|
+** met:
|
|
+** * Redistributions of source code must retain the above copyright
|
|
+** notice, this list of conditions and the following disclaimer.
|
|
+** * Redistributions in binary form must reproduce the above copyright
|
|
+** notice, this list of conditions and the following disclaimer in
|
|
+** the documentation and/or other materials provided with the
|
|
+** distribution.
|
|
+** * Neither the name of The Qt Company Ltd nor the names of its
|
|
+** contributors may be used to endorse or promote products derived
|
|
+** from this software without specific prior written permission.
|
|
+**
|
|
+**
|
|
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
|
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
|
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
|
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
|
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
|
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
|
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
|
|
+**
|
|
+** $QT_END_LICENSE$
|
|
+**
|
|
+****************************************************************************/
|
|
+
|
|
+import QtQuick 2.7
|
|
+import QtQuick.Layouts 1.3
|
|
+
|
|
+Item {
|
|
+ objectName: "qtbug51927-window"
|
|
+ visible: true
|
|
+
|
|
+ default property alias _contents: customContent.data
|
|
+
|
|
+ RowLayout {
|
|
+ id: customContent
|
|
+ objectName: "qtbug51927-columnLayout"
|
|
+ anchors.fill: parent
|
|
+ }
|
|
+}
|
|
diff --git a/tests/auto/quick/qquicklayouts/data/rowlayout/ContainerUser.qml b/tests/auto/quick/qquicklayouts/data/rowlayout/ContainerUser.qml
|
|
new file mode 100644
|
|
index 0000000..ff7ce62
|
|
--- /dev/null
|
|
+++ b/tests/auto/quick/qquicklayouts/data/rowlayout/ContainerUser.qml
|
|
@@ -0,0 +1,53 @@
|
|
+/****************************************************************************
|
|
+**
|
|
+** Copyright (C) 2016 The Qt Company Ltd.
|
|
+** Contact: http://www.qt.io/licensing/
|
|
+**
|
|
+** This file is part of the test suite of the Qt Toolkit.
|
|
+**
|
|
+** $QT_BEGIN_LICENSE:BSD$
|
|
+** You may use this file under the terms of the BSD license as follows:
|
|
+**
|
|
+** "Redistribution and use in source and binary forms, with or without
|
|
+** modification, are permitted provided that the following conditions are
|
|
+** met:
|
|
+** * Redistributions of source code must retain the above copyright
|
|
+** notice, this list of conditions and the following disclaimer.
|
|
+** * Redistributions in binary form must reproduce the above copyright
|
|
+** notice, this list of conditions and the following disclaimer in
|
|
+** the documentation and/or other materials provided with the
|
|
+** distribution.
|
|
+** * Neither the name of The Qt Company Ltd nor the names of its
|
|
+** contributors may be used to endorse or promote products derived
|
|
+** from this software without specific prior written permission.
|
|
+**
|
|
+**
|
|
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
|
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
|
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
|
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
|
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
|
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
|
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
|
|
+**
|
|
+** $QT_END_LICENSE$
|
|
+**
|
|
+****************************************************************************/
|
|
+
|
|
+import QtQuick 2.6
|
|
+import QtQuick.Window 2.2
|
|
+
|
|
+Container {
|
|
+ visible: true
|
|
+
|
|
+ Text {
|
|
+ objectName: "qtbug51927-text"
|
|
+ text: qsTr("Hello World")
|
|
+ anchors.centerIn: parent
|
|
+ renderType: Text.QtRendering
|
|
+ }
|
|
+}
|
|
diff --git a/tests/auto/quick/qquicklayouts/data/tst_rowlayout.qml b/tests/auto/quick/qquicklayouts/data/tst_rowlayout.qml
|
|
index 33b8fd0..2d4e227 100644
|
|
--- a/tests/auto/quick/qquicklayouts/data/tst_rowlayout.qml
|
|
+++ b/tests/auto/quick/qquicklayouts/data/tst_rowlayout.qml
|
|
@@ -926,5 +926,17 @@ Item {
|
|
waitForRendering(layout)
|
|
layout.destroy()
|
|
}
|
|
+
|
|
+
|
|
+ function test_defaultPropertyAliasCrash() {
|
|
+ var containerUserComponent = Qt.createComponent("rowlayout/ContainerUser.qml");
|
|
+ compare(containerUserComponent.status, Component.Ready);
|
|
+
|
|
+ var containerUser = containerUserComponent.createObject(testCase);
|
|
+ verify(containerUser);
|
|
+
|
|
+ // Shouldn't crash.
|
|
+ containerUser.destroy();
|
|
+ }
|
|
}
|
|
}
|
|
--
|
|
cgit v1.0-4-g1e03
|
|
|