Hello community, here is the log from the commit of package kwindowsystem for openSUSE:Factory checked in at 2015-09-24 07:14:24 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/kwindowsystem (Old) and /work/SRC/openSUSE:Factory/.kwindowsystem.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "kwindowsystem" Changes: -------- --- /work/SRC/openSUSE:Factory/kwindowsystem/kwindowsystem.changes 2015-09-02 07:48:45.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.kwindowsystem.new/kwindowsystem.changes 2015-09-24 07:14:25.000000000 +0200 @@ -1,0 +2,7 @@ +Tue Sep 8 17:13:36 UTC 2015 - hrvoje.senjan@gmail.com + +- Update to 5.14.0 + * For more details please see: + https://www.kde.org/announcements/kde-frameworks-5.14.0.php + +------------------------------------------------------------------- Old: ---- kwindowsystem-5.13.0.tar.xz New: ---- kwindowsystem-5.14.0.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ kwindowsystem.spec ++++++ --- /var/tmp/diff_new_pack.Lwccfk/_old 2015-09-24 07:14:26.000000000 +0200 +++ /var/tmp/diff_new_pack.Lwccfk/_new 2015-09-24 07:14:26.000000000 +0200 @@ -18,9 +18,9 @@ %bcond_without lang %define lname libKF5WindowSystem5 -%define _tar_path 5.13 +%define _tar_path 5.14 Name: kwindowsystem -Version: 5.13.0 +Version: 5.14.0 Release: 0 BuildRequires: cmake >= 2.8.12 BuildRequires: extra-cmake-modules >= %{_tar_path} ++++++ kwindowsystem-5.13.0.tar.xz -> kwindowsystem-5.14.0.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kwindowsystem-5.13.0/CMakeLists.txt new/kwindowsystem-5.14.0/CMakeLists.txt --- old/kwindowsystem-5.13.0/CMakeLists.txt 2015-08-04 13:44:33.000000000 +0200 +++ new/kwindowsystem-5.14.0/CMakeLists.txt 2015-09-05 11:17:32.000000000 +0200 @@ -4,7 +4,7 @@ # ECM setup include(FeatureSummary) -find_package(ECM 5.13.0 NO_MODULE) +find_package(ECM 5.14.0 NO_MODULE) set_package_properties(ECM PROPERTIES TYPE REQUIRED DESCRIPTION "Extra CMake Modules." URL "https://projects.kde.org/projects/kdesupport/extra-cmake-modules") feature_summary(WHAT REQUIRED_PACKAGES_NOT_FOUND FATAL_ON_MISSING_REQUIRED_PACKAGES) @@ -19,7 +19,7 @@ include(ECMPoQmTools) -set(KF5_VERSION "5.13.0") # handled by release scripts +set(KF5_VERSION "5.14.0") # handled by release scripts ecm_setup_version(${KF5_VERSION} VARIABLE_PREFIX KWINDOWSYSTEM VERSION_HEADER "${CMAKE_CURRENT_BINARY_DIR}/kwindowsystem_version.h" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kwindowsystem-5.13.0/src/kwindowsystem.cpp new/kwindowsystem-5.14.0/src/kwindowsystem.cpp --- old/kwindowsystem-5.13.0/src/kwindowsystem.cpp 2015-08-04 13:44:33.000000000 +0200 +++ new/kwindowsystem-5.14.0/src/kwindowsystem.cpp 2015-09-05 11:17:32.000000000 +0200 @@ -31,6 +31,13 @@ #include <QWidget> #include <QWindow> +//QPoint and QSize all have handy / operators which are useful for scaling, positions and sizes for high DPI support +//QRect does not, so we create one for internal purposes within this class +inline QRect operator/(const QRect &rectangle, qreal factor) +{ + return QRect(rectangle.topLeft() / factor, rectangle.size() / factor); +} + class KWindowSystemStaticContainer { public: @@ -487,6 +494,8 @@ QPixmap KWindowSystem::icon(WId win, int width, int height, bool scale, int flags, NETWinInfo *info) { Q_D(KWindowSystem); + width *= qApp->devicePixelRatio(); + height *= qApp->devicePixelRatio(); #if KWINDOWSYSTEM_HAVE_X11 if (info) { if (QGuiApplication::platformName().compare(QLatin1String("xcb"), Qt::CaseInsensitive) == 0) { @@ -578,13 +587,13 @@ QRect KWindowSystem::workArea(int desktop) { Q_D(KWindowSystem); - return d->workArea(desktop); + return d->workArea(desktop) / qApp->devicePixelRatio(); } QRect KWindowSystem::workArea(const QList<WId> &exclude, int desktop) { Q_D(KWindowSystem); - return d->workArea(exclude, desktop); + return d->workArea(exclude, desktop) / qApp->devicePixelRatio(); } QString KWindowSystem::desktopName(int desktop) @@ -622,15 +631,17 @@ int bottom_width, int bottom_start, int bottom_end) { Q_D(KWindowSystem); - d->setExtendedStrut(win, left_width, left_start, left_end, - right_width, right_start, right_end, top_width, top_start, top_end, - bottom_width, bottom_start, bottom_end); + const qreal dpr = qApp->devicePixelRatio(); + d->setExtendedStrut(win, left_width * dpr, left_start * dpr, left_end * dpr, + right_width * dpr, right_start * dpr, right_end * dpr, top_width * dpr, top_start * dpr, top_end * dpr, + bottom_width * dpr, bottom_start * dpr, bottom_end * dpr); } void KWindowSystem::setStrut(WId win, int left, int right, int top, int bottom) { Q_D(KWindowSystem); - d->setStrut(win, left, right, top, bottom); + const qreal dpr = qApp->devicePixelRatio(); + d->setStrut(win, left * dpr, right * dpr, top * dpr, bottom * dpr); } bool KWindowSystem::icccmCompliantMappingState() @@ -672,13 +683,13 @@ int KWindowSystem::viewportToDesktop(const QPoint &p) { Q_D(KWindowSystem); - return d->viewportToDesktop(p); + return d->viewportToDesktop(p / qApp->devicePixelRatio()); } int KWindowSystem::viewportWindowToDesktop(const QRect &r) { Q_D(KWindowSystem); - return d->viewportWindowToDesktop(r); + return d->viewportWindowToDesktop(r / qApp->devicePixelRatio()); } QPoint KWindowSystem::desktopToViewport(int desktop, bool absolute) @@ -690,5 +701,5 @@ QPoint KWindowSystem::constrainViewportRelativePosition(const QPoint &pos) { Q_D(KWindowSystem); - return d->constrainViewportRelativePosition(pos); + return d->constrainViewportRelativePosition(pos / qApp->devicePixelRatio()); }