Hello community, here is the log from the commit of package kwayland for openSUSE:Factory checked in at 2020-03-19 19:43:40 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/kwayland (Old) and /work/SRC/openSUSE:Factory/.kwayland.new.3160 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kwayland" Thu Mar 19 19:43:40 2020 rev:72 rq:785354 version:5.68.0 Changes: -------- --- /work/SRC/openSUSE:Factory/kwayland/kwayland.changes 2020-02-14 16:34:59.067505821 +0100 +++ /work/SRC/openSUSE:Factory/.kwayland.new.3160/kwayland.changes 2020-03-19 19:46:42.428064570 +0100 @@ -1,0 +2,13 @@ +Sun Mar 8 09:18:02 UTC 2020 - Christophe Giboudeaux <[email protected]> + +- Update to 5.68.0 + * New feature release + * For more details please see: + * https://www.kde.org/announcements/kde-frameworks-5.68.0.php +- Changes since 5.67.0: + * Add application menu dbus paths to org_kde_plasma_window interface + * Registry: don't destroy the callback on globalsync + * Use ecm_qt_install_logging_categories over manual categories file + * [surface] Fix buffer offset when attaching buffers to surfaces + +------------------------------------------------------------------- Old: ---- kwayland-5.67.0.tar.xz kwayland-5.67.0.tar.xz.sig New: ---- kwayland-5.68.0.tar.xz kwayland-5.68.0.tar.xz.sig ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ kwayland.spec ++++++ --- /var/tmp/diff_new_pack.56qIHQ/_old 2020-03-19 19:46:43.512065151 +0100 +++ /var/tmp/diff_new_pack.56qIHQ/_new 2020-03-19 19:46:43.516065153 +0100 @@ -16,7 +16,7 @@ # -%define _tar_path 5.67 +%define _tar_path 5.68 # Full KF5 version (e.g. 5.33.0) %{!?_kf5_version: %global _kf5_version %{version}} # Last major and minor KF5 version (e.g. 5.33) @@ -24,7 +24,7 @@ # Only needed for the package signature condition %bcond_without lang Name: kwayland -Version: 5.67.0 +Version: 5.68.0 Release: 0 Summary: KDE Wayland library License: LGPL-2.1-or-later ++++++ kwayland-5.67.0.tar.xz -> kwayland-5.68.0.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kwayland-5.67.0/.gitignore new/kwayland-5.68.0/.gitignore --- old/kwayland-5.67.0/.gitignore 2020-02-01 10:07:30.000000000 +0100 +++ new/kwayland-5.68.0/.gitignore 2020-03-07 09:54:45.000000000 +0100 @@ -19,3 +19,4 @@ /build*/ CMakeLists.txt.user* *.unc-backup* +.cmake/ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kwayland-5.67.0/CMakeLists.txt new/kwayland-5.68.0/CMakeLists.txt --- old/kwayland-5.67.0/CMakeLists.txt 2020-02-01 10:07:30.000000000 +0100 +++ new/kwayland-5.68.0/CMakeLists.txt 2020-03-07 09:54:45.000000000 +0100 @@ -1,11 +1,11 @@ cmake_minimum_required(VERSION 3.5) -set(KF5_VERSION "5.67.0") # handled by release scripts +set(KF5_VERSION "5.68.0") # handled by release scripts project(KWayland VERSION ${KF5_VERSION}) # ECM setup include(FeatureSummary) -find_package(ECM 5.67.0 NO_MODULE) +find_package(ECM 5.68.0 NO_MODULE) set_package_properties(ECM PROPERTIES TYPE REQUIRED DESCRIPTION "Extra CMake Modules." URL "https://commits.kde.org/extra-cmake-modules") feature_summary(WHAT REQUIRED_PACKAGES_NOT_FOUND FATAL_ON_MISSING_REQUIRED_PACKAGES) set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH} ${CMAKE_SOURCE_DIR}/cmake/Modules) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kwayland-5.67.0/autotests/client/test_wayland_surface.cpp new/kwayland-5.68.0/autotests/client/test_wayland_surface.cpp --- old/kwayland-5.67.0/autotests/client/test_wayland_surface.cpp 2020-02-01 10:07:30.000000000 +0100 +++ new/kwayland-5.68.0/autotests/client/test_wayland_surface.cpp 2020-03-07 09:54:45.000000000 +0100 @@ -289,10 +289,11 @@ QImage img(QSize(10, 10), QImage::Format_ARGB32_Premultiplied); img.fill(Qt::black); auto b = m_shm->createBuffer(img); - s->attachBuffer(b); + s->attachBuffer(b, QPoint(55, 55)); s->damage(QRect(0, 0, 10, 10)); s->commit(KWayland::Client::Surface::CommitFlag::None); QVERIFY(damageSpy.wait()); + QCOMPARE(serverSurface->offset(), QPoint(55, 55)); // offset is surface local so scale doesn't change this QCOMPARE(serverSurface->damage(), QRegion(0, 0, 5, 5)); // scale is 2 QCOMPARE(damageSpy.first().first().value<QRegion>(), QRegion(0, 0, 5, 5)); QVERIFY(serverSurface->isMapped()); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kwayland-5.67.0/src/CMakeLists.txt new/kwayland-5.68.0/src/CMakeLists.txt --- old/kwayland-5.67.0/src/CMakeLists.txt 2020-02-01 10:07:30.000000000 +0100 +++ new/kwayland-5.68.0/src/CMakeLists.txt 2020-03-07 09:54:45.000000000 +0100 @@ -2,7 +2,11 @@ add_subdirectory(server) add_subdirectory(tools) -install( FILES org_kde_kwayland.categories DESTINATION ${KDE_INSTALL_LOGGINGCATEGORIESDIR} ) +ecm_qt_install_logging_categories( + EXPORT KWAYLAND + FILE kwayland.categories + DESTINATION ${KDE_INSTALL_LOGGINGCATEGORIESDIR} +) if(BUILD_QCH) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kwayland-5.67.0/src/client/CMakeLists.txt new/kwayland-5.68.0/src/client/CMakeLists.txt --- old/kwayland-5.67.0/src/client/CMakeLists.txt 2020-02-01 10:07:30.000000000 +0100 +++ new/kwayland-5.68.0/src/client/CMakeLists.txt 2020-03-07 09:54:45.000000000 +0100 @@ -64,7 +64,14 @@ ../compat/wayland-xdg-shell-v5-protocol.c ) -ecm_qt_declare_logging_category(CLIENT_LIB_SRCS HEADER logging.h IDENTIFIER KWAYLAND_CLIENT CATEGORY_NAME kwayland-client DEFAULT_SEVERITY Critical) +ecm_qt_declare_logging_category(CLIENT_LIB_SRCS + HEADER logging.h + IDENTIFIER KWAYLAND_CLIENT + CATEGORY_NAME kwayland-client + DEFAULT_SEVERITY Critical + DESCRIPTION "KWayland Client Library" + EXPORT KWAYLAND +) ecm_add_wayland_client_protocol(CLIENT_LIB_SRCS PROTOCOL ${KWayland_SOURCE_DIR}/src/client/protocols/fullscreen-shell.xml diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kwayland-5.67.0/src/client/plasmawindowmanagement.cpp new/kwayland-5.68.0/src/client/plasmawindowmanagement.cpp --- old/kwayland-5.67.0/src/client/plasmawindowmanagement.cpp 2020-02-01 10:07:30.000000000 +0100 +++ new/kwayland-5.68.0/src/client/plasmawindowmanagement.cpp 2020-03-07 09:54:45.000000000 +0100 @@ -97,6 +97,8 @@ QStringList plasmaVirtualDesktops; QRect geometry; quint32 pid = 0; + QString applicationMenuServiceName; + QString applicationMenuObjectPath; private: static void titleChangedCallback(void *data, org_kde_plasma_window *window, const char *title); @@ -112,6 +114,7 @@ static void iconChangedCallback(void *data, org_kde_plasma_window *org_kde_plasma_window); static void virtualDesktopEnteredCallback(void *data, org_kde_plasma_window *org_kde_plasma_window, const char *id); static void virtualDesktopLeftCallback(void *data, org_kde_plasma_window *org_kde_plasma_window, const char *id); + static void appmenuChangedCallback(void *data, org_kde_plasma_window *org_kde_plasma_window, const char *service_name, const char *object_path); void setActive(bool set); void setMinimized(bool set); void setMaximized(bool set); @@ -353,9 +356,22 @@ iconChangedCallback, pidChangedCallback, virtualDesktopEnteredCallback, - virtualDesktopLeftCallback + virtualDesktopLeftCallback, + appmenuChangedCallback }; +void PlasmaWindow::Private::appmenuChangedCallback(void *data, org_kde_plasma_window *window, const char *service_name, const char *object_path) +{ + Q_UNUSED(window) + + Private *p = cast(data); + + p->applicationMenuServiceName = QString::fromUtf8(service_name); + p->applicationMenuObjectPath = QString::fromUtf8(object_path); + + emit p->q->applicationMenuChanged(); +} + void PlasmaWindow::Private::parentWindowCallback(void *data, org_kde_plasma_window *window, org_kde_plasma_window *parent) { Q_UNUSED(window) @@ -928,6 +944,16 @@ return d->virtualDesktopChangeable; } +QString PlasmaWindow::applicationMenuObjectPath() const +{ + return d->applicationMenuObjectPath; +} + +QString PlasmaWindow::applicationMenuServiceName() const +{ + return d->applicationMenuServiceName; +} + void PlasmaWindow::requestActivate() { org_kde_plasma_window_set_state(d->window, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kwayland-5.67.0/src/client/plasmawindowmanagement.h new/kwayland-5.68.0/src/client/plasmawindowmanagement.h --- old/kwayland-5.67.0/src/client/plasmawindowmanagement.h 2020-02-01 10:07:30.000000000 +0100 +++ new/kwayland-5.68.0/src/client/plasmawindowmanagement.h 2020-03-07 09:54:45.000000000 +0100 @@ -523,6 +523,21 @@ */ QStringList plasmaVirtualDesktops() const; + /** + * Return the D-BUS service name for a window's + * application menu. + * + * @since 5.69 + */ + QString applicationMenuServiceName() const; + /** + * Return the D-BUS object path to a windows's + * application menu. + * + * @since 5.69 + */ + QString applicationMenuObjectPath() const; + Q_SIGNALS: /** * The window title changed. @@ -681,6 +696,14 @@ */ void plasmaVirtualDesktopLeft(const QString &id); + /** + * This signal is emitted when either the D-BUS service name or + * object path for the window's application menu changes. + * + * @since 5.69 + **/ + void applicationMenuChanged(); + private: friend class PlasmaWindowManagement; explicit PlasmaWindow(PlasmaWindowManagement *parent, org_kde_plasma_window *dataOffer, quint32 internalId); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kwayland-5.67.0/src/client/protocols/plasma-window-management.xml new/kwayland-5.68.0/src/client/protocols/plasma-window-management.xml --- old/kwayland-5.67.0/src/client/protocols/plasma-window-management.xml 2020-02-01 10:07:30.000000000 +0100 +++ new/kwayland-5.68.0/src/client/protocols/plasma-window-management.xml 2020-03-07 09:54:45.000000000 +0100 @@ -17,7 +17,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. ]]></copyright> - <interface name="org_kde_plasma_window_management" version="9"> + <interface name="org_kde_plasma_window_management" version="10"> <description summary="application windows management"> This interface manages application windows. It provides requests to show and hide the desktop and emits @@ -84,7 +84,7 @@ </event> </interface> - <interface name="org_kde_plasma_window" version="8"> + <interface name="org_kde_plasma_window" version="10"> <description summary="interface to control application windows"> Manages and control an application window. @@ -309,5 +309,16 @@ <arg name="is" type="string" summary="desktop id"/> </event> + <!-- Version 10 additions --> + + <event name="application_menu" since="10"> + <description summary="notify the client that the current appmenu changed"> + This event will be sent after the application menu + for the window has changed. + </description> + <arg name="service_name" type="string" /> + <arg name="object_path" type="string" /> + </event> + </interface> </protocol> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kwayland-5.67.0/src/client/registry.cpp new/kwayland-5.68.0/src/client/registry.cpp --- old/kwayland-5.67.0/src/client/registry.cpp 2020-02-01 10:07:30.000000000 +0100 +++ new/kwayland-5.68.0/src/client/registry.cpp 2020-03-07 09:54:45.000000000 +0100 @@ -185,7 +185,7 @@ &Registry::plasmaVirtualDesktopManagementRemoved }}, {Registry::Interface::PlasmaWindowManagement, { - 9, + 10, QByteArrayLiteral("org_kde_plasma_window_management"), &org_kde_plasma_window_management_interface, &Registry::plasmaWindowManagementAnnounced, @@ -545,7 +545,7 @@ auto r = reinterpret_cast<Registry::Private*>(data); Q_ASSERT(r->callback == callback); r->handleGlobalSync(); - r->callback.destroy(); + r->callback.release(); } void Registry::Private::handleGlobalSync() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kwayland-5.67.0/src/org_kde_kwayland.categories new/kwayland-5.68.0/src/org_kde_kwayland.categories --- old/kwayland-5.67.0/src/org_kde_kwayland.categories 2020-02-01 10:07:30.000000000 +0100 +++ new/kwayland-5.68.0/src/org_kde_kwayland.categories 1970-01-01 01:00:00.000000000 +0100 @@ -1,2 +0,0 @@ -kwayland-client KWayland Client Library DEFAULT_SEVERITY [CRITICAL] IDENTIFIER [KWAYLAND_CLIENT] -kwayland-server KWayland Server Library DEFAULT_SEVERITY [CRITICAL] IDENTIFIER [KWAYLAND_SERVER] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kwayland-5.67.0/src/server/CMakeLists.txt new/kwayland-5.68.0/src/server/CMakeLists.txt --- old/kwayland-5.67.0/src/server/CMakeLists.txt 2020-02-01 10:07:30.000000000 +0100 +++ new/kwayland-5.68.0/src/server/CMakeLists.txt 2020-03-07 09:54:45.000000000 +0100 @@ -65,7 +65,14 @@ xdgshell_v6_interface.cpp ) -ecm_qt_declare_logging_category(SERVER_LIB_SRCS HEADER logging.h IDENTIFIER KWAYLAND_SERVER CATEGORY_NAME kwayland-server DEFAULT_SEVERITY Critical) +ecm_qt_declare_logging_category(SERVER_LIB_SRCS + HEADER logging.h + IDENTIFIER KWAYLAND_SERVER + CATEGORY_NAME kwayland-server + DEFAULT_SEVERITY Critical + DESCRIPTION "KWayland Server Library" + EXPORT KWAYLAND +) ecm_add_wayland_server_protocol(SERVER_LIB_SRCS PROTOCOL ${KWayland_SOURCE_DIR}/src/client/protocols/output-management.xml diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kwayland-5.67.0/src/server/plasmawindowmanagement_interface.cpp new/kwayland-5.68.0/src/server/plasmawindowmanagement_interface.cpp --- old/kwayland-5.67.0/src/server/plasmawindowmanagement_interface.cpp 2020-02-01 10:07:30.000000000 +0100 +++ new/kwayland-5.68.0/src/server/plasmawindowmanagement_interface.cpp 2020-03-07 09:54:45.000000000 +0100 @@ -82,6 +82,7 @@ void setState(org_kde_plasma_window_management_state flag, bool set); void setParentWindow(PlasmaWindowInterface *parent); void setGeometry(const QRect &geometry); + void setApplicationMenuPaths(const QString &service, const QString &object); wl_resource *resourceForParent(PlasmaWindowInterface *parent, wl_resource *child) const; QVector<wl_resource*> resources; @@ -125,7 +126,7 @@ static const struct org_kde_plasma_window_interface s_interface; }; -const quint32 PlasmaWindowManagementInterface::Private::s_version = 9; +const quint32 PlasmaWindowManagementInterface::Private::s_version = 10; PlasmaWindowManagementInterface::Private::Private(PlasmaWindowManagementInterface *q, Display *d) : Global::Private(d, &org_kde_plasma_window_management_interface, s_version) @@ -588,6 +589,17 @@ } } +void PlasmaWindowInterface::Private::setApplicationMenuPaths(const QString &service, const QString &object) +{ + for (auto it = resources.constBegin(); it != resources.constEnd(); ++it) { + auto resource = *it; + if (wl_resource_get_version(resource) < ORG_KDE_PLASMA_WINDOW_APPLICATION_MENU_SINCE_VERSION) { + continue; + } + org_kde_plasma_window_send_application_menu(resource, qUtf8Printable(service), qUtf8Printable(object)); + } +} + void PlasmaWindowInterface::Private::closeCallback(wl_client *client, wl_resource *resource) { Q_UNUSED(client) @@ -946,5 +958,10 @@ d->setGeometry(geometry); } +void PlasmaWindowInterface::setApplicationMenuPaths(const QString &serviceName, const QString &objectPath) +{ + d->setApplicationMenuPaths(serviceName, objectPath); +} + } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kwayland-5.67.0/src/server/plasmawindowmanagement_interface.h new/kwayland-5.68.0/src/server/plasmawindowmanagement_interface.h --- old/kwayland-5.67.0/src/server/plasmawindowmanagement_interface.h 2020-02-01 10:07:30.000000000 +0100 +++ new/kwayland-5.68.0/src/server/plasmawindowmanagement_interface.h 2020-03-07 09:54:45.000000000 +0100 @@ -228,6 +228,13 @@ */ QStringList plasmaVirtualDesktops() const; + /** + * Set the application menu D-BUS service name and object path for the window. + * + * @since 5.69 + */ + void setApplicationMenuPaths(const QString &serviceName, const QString &objectPath); + Q_SIGNALS: void closeRequested(); /** diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kwayland-5.67.0/src/server/surface_interface.cpp new/kwayland-5.68.0/src/server/surface_interface.cpp --- old/kwayland-5.67.0/src/server/surface_interface.cpp 2020-02-01 10:07:30.000000000 +0100 +++ new/kwayland-5.68.0/src/server/surface_interface.cpp 2020-03-07 09:54:45.000000000 +0100 @@ -374,6 +374,7 @@ // copy values if (bufferChanged) { target->buffer = buffer; + target->offset = source->offset; target->damage = source->damage; target->bufferDamage = source->bufferDamage; target->bufferIsSet = source->bufferIsSet;
