Hello community,
here is the log from the commit of package kwayland-integration for
openSUSE:Factory checked in at 2019-07-26 12:31:43
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kwayland-integration (Old)
and /work/SRC/openSUSE:Factory/.kwayland-integration.new.4126 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kwayland-integration"
Fri Jul 26 12:31:43 2019 rev:69 rq:717048 version:5.16.3
Changes:
--------
---
/work/SRC/openSUSE:Factory/kwayland-integration/kwayland-integration.changes
2019-06-27 16:21:14.706149307 +0200
+++
/work/SRC/openSUSE:Factory/.kwayland-integration.new.4126/kwayland-integration.changes
2019-07-26 12:31:45.078244153 +0200
@@ -1,0 +2,10 @@
+Tue Jul 9 17:29:06 UTC 2019 - [email protected]
+
+- Update to 5.16.3
+ * New bugfix release
+ * For more details please see:
+ * https://www.kde.org/announcements/plasma-5.16.3.php
+- Changes since 5.16.2:
+ * Span wayland objects to lifespan of the QApplication (kde#372789)
+
+-------------------------------------------------------------------
Old:
----
kwayland-integration-5.16.2.tar.xz
kwayland-integration-5.16.2.tar.xz.sig
New:
----
kwayland-integration-5.16.3.tar.xz
kwayland-integration-5.16.3.tar.xz.sig
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ kwayland-integration.spec ++++++
--- /var/tmp/diff_new_pack.wi1ff7/_old 2019-07-26 12:31:46.118243623 +0200
+++ /var/tmp/diff_new_pack.wi1ff7/_new 2019-07-26 12:31:46.118243623 +0200
@@ -18,7 +18,7 @@
%bcond_without lang
Name: kwayland-integration
-Version: 5.16.2
+Version: 5.16.3
Release: 0
# Full Plasma 5 version (e.g. 5.8.95)
%{!?_plasma5_bugfix: %define _plasma5_bugfix %{version}}
++++++ kwayland-integration-5.16.2.tar.xz -> kwayland-integration-5.16.3.tar.xz
++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/kwayland-integration-5.16.2/CMakeLists.txt
new/kwayland-integration-5.16.3/CMakeLists.txt
--- old/kwayland-integration-5.16.2/CMakeLists.txt 2019-06-25
13:43:21.000000000 +0200
+++ new/kwayland-integration-5.16.3/CMakeLists.txt 2019-07-09
17:44:26.000000000 +0200
@@ -1,5 +1,5 @@
project(kwayland-integration)
-set(PROJECT_VERSION "5.16.2")
+set(PROJECT_VERSION "5.16.3")
set(PROJECT_VERSION_MAJOR 5)
cmake_minimum_required(VERSION 2.8.12 FATAL_ERROR)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/kwayland-integration-5.16.2/src/windowsystem/waylandintegration.cpp
new/kwayland-integration-5.16.3/src/windowsystem/waylandintegration.cpp
--- old/kwayland-integration-5.16.2/src/windowsystem/waylandintegration.cpp
2019-06-25 13:43:21.000000000 +0200
+++ new/kwayland-integration-5.16.3/src/windowsystem/waylandintegration.cpp
2019-07-09 17:44:26.000000000 +0200
@@ -62,37 +62,10 @@
qCWarning(KWAYLAND_KWS) << "Failed getting Wayland connection from
QPA";
return;
}
- m_registry = new Registry(this);
+ m_registry = new Registry(qApp);
m_registry->create(m_waylandConnection);
m_waylandCompositor = Compositor::fromApplication(this);
- //when the Qt QPA closes it deletes the wl_display
- //closing wl_display deletes the wl_registry
- //when we destroy the kwayland wrapper we double delete
- //as we're a singleton we're not deleted till after qApp
- //we want to release our wayland parts first
- connect(qApp, &QCoreApplication::aboutToQuit, this, [=]() {
- if (m_waylandBlurManager) {
- m_waylandBlurManager->release();
- }
- if (m_waylandContrastManager) {
- m_waylandContrastManager->release();
- }
- if (m_waylandSlideManager) {
- m_waylandSlideManager->release();
- }
- if (m_waylandCompositor) {
- m_waylandCompositor->release();
- }
- if (m_wm) {
- m_wm->release();
- }
- if (m_waylandPlasmaShell) {
- m_waylandPlasmaShell->release();
- }
- m_registry->release();
- });
-
m_registry->setup();
m_waylandConnection->roundtrip();
}
@@ -110,19 +83,18 @@
KWayland::Client::BlurManager *WaylandIntegration::waylandBlurManager()
{
- if (!m_waylandBlurManager) {
+ if (!m_waylandBlurManager && m_registry) {
const KWayland::Client::Registry::AnnouncedInterface wmInterface =
m_registry->interface(KWayland::Client::Registry::Interface::Blur);
if (wmInterface.name == 0) {
return nullptr;
}
- m_waylandBlurManager = m_registry->createBlurManager(wmInterface.name,
wmInterface.version, this);
+ m_waylandBlurManager = m_registry->createBlurManager(wmInterface.name,
wmInterface.version, qApp);
connect(m_waylandBlurManager, &KWayland::Client::BlurManager::removed,
this,
[this] () {
m_waylandBlurManager->deleteLater();
- m_waylandBlurManager = nullptr;
}
);
}
@@ -132,41 +104,38 @@
KWayland::Client::ContrastManager *WaylandIntegration::waylandContrastManager()
{
- if (!m_waylandContrastManager) {
+ if (!m_waylandContrastManager && m_registry) {
const KWayland::Client::Registry::AnnouncedInterface wmInterface =
m_registry->interface(KWayland::Client::Registry::Interface::Contrast);
if (wmInterface.name == 0) {
return nullptr;
}
- m_waylandContrastManager =
m_registry->createContrastManager(wmInterface.name, wmInterface.version, this);
+ m_waylandContrastManager =
m_registry->createContrastManager(wmInterface.name, wmInterface.version, qApp);
connect(m_waylandContrastManager,
&KWayland::Client::ContrastManager::removed, this,
[this] () {
m_waylandContrastManager->deleteLater();
- m_waylandContrastManager = nullptr;
}
);
}
-
return m_waylandContrastManager;
}
KWayland::Client::SlideManager *WaylandIntegration::waylandSlideManager()
{
- if (!m_waylandSlideManager) {
+ if (!m_waylandSlideManager && m_registry) {
const KWayland::Client::Registry::AnnouncedInterface wmInterface =
m_registry->interface(KWayland::Client::Registry::Interface::Slide);
if (wmInterface.name == 0) {
return nullptr;
}
- m_waylandSlideManager =
m_registry->createSlideManager(wmInterface.name, wmInterface.version, this);
+ m_waylandSlideManager =
m_registry->createSlideManager(wmInterface.name, wmInterface.version, qApp);
connect(m_waylandSlideManager,
&KWayland::Client::SlideManager::removed, this,
[this] () {
m_waylandSlideManager->deleteLater();
- m_waylandSlideManager = nullptr;
}
);
}
@@ -183,7 +152,7 @@
{
using namespace KWayland::Client;
- if (!m_wm) {
+ if (!m_wm && m_registry) {
const Registry::AnnouncedInterface wmInterface =
m_registry->interface(Registry::Interface::PlasmaWindowManagement);
if (wmInterface.name == 0) {
@@ -191,7 +160,7 @@
return nullptr;
}
- m_wm = m_registry->createPlasmaWindowManagement(wmInterface.name,
wmInterface.version, this);
+ m_wm = m_registry->createPlasmaWindowManagement(wmInterface.name,
wmInterface.version, qApp);
connect(m_wm, &PlasmaWindowManagement::windowCreated, this,
[this] (PlasmaWindow *w) {
emit KWindowSystem::self()->windowAdded(w->internalId());
@@ -215,6 +184,12 @@
);
connect(m_wm, &PlasmaWindowManagement::showingDesktopChanged,
KWindowSystem::self(), &KWindowSystem::showingDesktopChanged);
qCDebug(KWAYLAND_KWS) << "Plasma Window Management interface bound";
+
+ connect(m_wm, &KWayland::Client::PlasmaWindowManagement::removed, this,
+ [this] () {
+ m_wm->deleteLater();
+ }
+ );
}
return m_wm;
@@ -222,14 +197,14 @@
KWayland::Client::PlasmaShell *WaylandIntegration::waylandPlasmaShell()
{
- if (!m_waylandPlasmaShell) {
+ if (!m_waylandPlasmaShell && m_registry) {
const KWayland::Client::Registry::AnnouncedInterface wmInterface =
m_registry->interface(KWayland::Client::Registry::Interface::PlasmaShell);
if (wmInterface.name == 0) {
return nullptr;
}
- m_waylandPlasmaShell = m_registry->createPlasmaShell(wmInterface.name,
wmInterface.version, this);
+ m_waylandPlasmaShell = m_registry->createPlasmaShell(wmInterface.name,
wmInterface.version, qApp);
}
return m_waylandPlasmaShell;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/kwayland-integration-5.16.2/src/windowsystem/waylandintegration.h
new/kwayland-integration-5.16.3/src/windowsystem/waylandintegration.h
--- old/kwayland-integration-5.16.2/src/windowsystem/waylandintegration.h
2019-06-25 13:43:21.000000000 +0200
+++ new/kwayland-integration-5.16.3/src/windowsystem/waylandintegration.h
2019-07-09 17:44:26.000000000 +0200
@@ -22,6 +22,7 @@
#define WAYLANDINTEGRATION_H
#include <KWindowSystem/private/kwindoweffects_p.h>
+#include <QPointer>
namespace KWayland
{
@@ -56,14 +57,14 @@
KWayland::Client::PlasmaShell *waylandPlasmaShell();
private:
- KWayland::Client::ConnectionThread *m_waylandConnection = nullptr;
- KWayland::Client::BlurManager *m_waylandBlurManager = nullptr;
- KWayland::Client::ContrastManager *m_waylandContrastManager = nullptr;
- KWayland::Client::SlideManager *m_waylandSlideManager = nullptr;
- KWayland::Client::Compositor *m_waylandCompositor = nullptr;
- KWayland::Client::PlasmaWindowManagement *m_wm = nullptr;
- KWayland::Client::PlasmaShell *m_waylandPlasmaShell = nullptr;
- KWayland::Client::Registry *m_registry = nullptr;
+ QPointer<KWayland::Client::ConnectionThread> m_waylandConnection;
+ QPointer<KWayland::Client::Compositor> m_waylandCompositor;
+ QPointer<KWayland::Client::Registry> m_registry;
+ QPointer<KWayland::Client::BlurManager> m_waylandBlurManager;
+ QPointer<KWayland::Client::ContrastManager> m_waylandContrastManager;
+ QPointer<KWayland::Client::SlideManager> m_waylandSlideManager;
+ QPointer<KWayland::Client::PlasmaWindowManagement> m_wm;
+ QPointer<KWayland::Client::PlasmaShell> m_waylandPlasmaShell;
};
#endif