This commit is contained in:
committed by
Git OBS Bridge
parent
28d71e2dd0
commit
a708e7b6cd
@@ -1,72 +0,0 @@
|
||||
From 1390b40b399770e7a67da714c74d172eee1bb433 Mon Sep 17 00:00:00 2001
|
||||
From: Anthony Fieroni <bvbfan@abv.bg>
|
||||
Date: Tue, 15 Dec 2015 12:49:39 +0000
|
||||
Subject: [PATCH 1/2] Fix left click on item in panel being ignored
|
||||
|
||||
Last patch has a reggression due to QtQuick issue (only on Xcb):
|
||||
QEvent::Leave is triggered after QEvent::MouseButtonPress Qt::LeftButton
|
||||
|
||||
BUG: 354651
|
||||
REVIEW: 126331
|
||||
---
|
||||
shell/panelview.cpp | 25 +++++++++----------------
|
||||
1 file changed, 9 insertions(+), 16 deletions(-)
|
||||
|
||||
diff --git a/shell/panelview.cpp b/shell/panelview.cpp
|
||||
index 28faac44350ccc0ab6a4246045795ba99c7a6ea8..893def0ced7297271d03dd27f40f8f6599a2354f 100644
|
||||
--- a/shell/panelview.cpp
|
||||
+++ b/shell/panelview.cpp
|
||||
@@ -748,7 +748,6 @@ bool PanelView::event(QEvent *e)
|
||||
* on the mouse edge, forward the click in the containment boundaries
|
||||
*/
|
||||
switch (e->type()) {
|
||||
- case QEvent::Enter:
|
||||
case QEvent::MouseMove:
|
||||
case QEvent::MouseButtonPress:
|
||||
case QEvent::MouseButtonRelease: {
|
||||
@@ -756,7 +755,7 @@ bool PanelView::event(QEvent *e)
|
||||
|
||||
//first, don't mess with position if the cursor is actually outside the view:
|
||||
//somebody is doing a click and drag that must not break when the cursor i outside
|
||||
- if (geometry().contains(me->screenPos().toPoint())) {
|
||||
+ if (geometry().contains(QCursor::pos())) {
|
||||
if (!containmentContainsPosition(me->windowPos())) {
|
||||
auto me2 = new QMouseEvent(me->type(),
|
||||
positionAdjustedForContainment(me->windowPos()),
|
||||
@@ -767,25 +766,19 @@ bool PanelView::event(QEvent *e)
|
||||
QCoreApplication::postEvent(this, me2);
|
||||
return true;
|
||||
}
|
||||
- }
|
||||
- break;
|
||||
- }
|
||||
- case QEvent::Leave: {
|
||||
- QMouseEvent *me = static_cast<QMouseEvent *>(e);
|
||||
- // don't forget to trigger QEvent::Leave if current mouse position is outside the panel
|
||||
- if (!geometry().contains(me->screenPos().toPoint())) {
|
||||
- auto me2 = new QMouseEvent(QEvent::Leave,
|
||||
- positionAdjustedForContainment(me->windowPos()),
|
||||
- positionAdjustedForContainment(me->windowPos()),
|
||||
- positionAdjustedForContainment(me->windowPos()) + position(),
|
||||
- me->button(), me->buttons(), me->modifiers());
|
||||
-
|
||||
- QCoreApplication::postEvent(this, me2);
|
||||
+ } else {
|
||||
+ // discard event if current mouse position is outside the panel
|
||||
return true;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
+ case QEvent::Enter:
|
||||
+ case QEvent::Leave:
|
||||
+ // QtQuick < 5.6 issue:
|
||||
+ // QEvent::Leave is triggered on MouseButtonPress Qt::LeftButton
|
||||
+ break;
|
||||
+
|
||||
case QEvent::Wheel: {
|
||||
QWheelEvent *we = static_cast<QWheelEvent *>(e);
|
||||
|
||||
--
|
||||
2.6.2
|
||||
|
@@ -1,47 +0,0 @@
|
||||
From a0578e6e5dbd429366e6a9837af543a4c85b5a75 Mon Sep 17 00:00:00 2001
|
||||
From: Xuetian Weng <wengxt@gmail.com>
|
||||
Date: Tue, 15 Dec 2015 12:52:26 +0000
|
||||
Subject: [PATCH 2/2] Workaround a system icon tray issue in bug
|
||||
|
||||
QTimer::singleShot(time, QObject*, char*)
|
||||
QTimer::singleShot(time, QObject*, PointerToFunction)
|
||||
|
||||
behave differently when time == 0
|
||||
|
||||
So the porting had an effect
|
||||
|
||||
This patch migrates to QMetaObject::invokeMethod which is clearer
|
||||
|
||||
CCBUG: 352055
|
||||
|
||||
There seems to be two different bug in 352055 but looks similar, the other one is fixed in Qt 5.6 according to Albert Astals Cid.
|
||||
---
|
||||
applets/systemtray/plugin/host.cpp | 5 +++--
|
||||
1 file changed, 3 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/applets/systemtray/plugin/host.cpp b/applets/systemtray/plugin/host.cpp
|
||||
index 61e87050826a28409e44c8dac5baebe12e59bf63..06ecf18cc2d520eff76423cbd748119ac35d067d 100644
|
||||
--- a/applets/systemtray/plugin/host.cpp
|
||||
+++ b/applets/systemtray/plugin/host.cpp
|
||||
@@ -32,7 +32,7 @@
|
||||
|
||||
#include <QLoggingCategory>
|
||||
#include <QQuickItem>
|
||||
-#include <QTimer>
|
||||
+#include <QMetaObject>
|
||||
#include <QVariant>
|
||||
#include <QStandardItemModel>
|
||||
#include <QMenu>
|
||||
@@ -99,7 +99,8 @@ Host::Host(QObject* parent) :
|
||||
QObject(parent),
|
||||
d(new HostPrivate(this))
|
||||
{
|
||||
- QTimer::singleShot(0, this, &Host::init);
|
||||
+ // Workaround for bug 352055
|
||||
+ QMetaObject::invokeMethod(this, "init", Qt::QueuedConnection);
|
||||
}
|
||||
|
||||
Host::~Host()
|
||||
--
|
||||
2.6.2
|
||||
|
3
plasma-workspace-5.5.1.1.tar.xz
Normal file
3
plasma-workspace-5.5.1.1.tar.xz
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:7e91dac2301975ae8ee788deddc9e4ac8c5f699865e85d09cefe0f9f29ac3705
|
||||
size 7383100
|
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:b8423fe5b8f6ef08f5c187320a58538dde37cb47263371bc8e1de2f9619eaecd
|
||||
size 7383196
|
@@ -18,8 +18,9 @@
|
||||
|
||||
%bcond_without lang
|
||||
Name: plasma5-workspace
|
||||
Version: 5.5.1
|
||||
Version: 5.5.1.1
|
||||
Release: 0
|
||||
%define plasma_version 5.5.1
|
||||
Summary: The KDE Plasma Workspace Components
|
||||
License: GPL-2.0+
|
||||
Group: System/GUI/KDE
|
||||
@@ -34,8 +35,6 @@ Patch1: create_kdehome.patch
|
||||
# PATCH-FIX_OPENSUSE fix-breeze-sddm-theme-with-many-users.patch alarrosa@suse.com -- Asks for user/password and hide the user list when there's a large number of users
|
||||
Patch2: fix-breeze-sddm-theme-with-many-users.patch
|
||||
# PATCHES 100-200 and above are from upstream 5.5 branch
|
||||
Patch100: 0001-Fix-left-click-on-item-in-panel-being-ignored.patch
|
||||
Patch101: 0002-Workaround-a-system-icon-tray-issue-in-bug.patch
|
||||
# PATCHES 201-300 and above are from upstream master/5.6 branch
|
||||
BuildRequires: kf5-filesystem
|
||||
BuildRequires: update-desktop-files
|
||||
@@ -62,14 +61,14 @@ BuildRequires: cmake(KF5Runner) >= 5.15.0
|
||||
BuildRequires: cmake(KF5Screen) >= 5.0.93
|
||||
BuildRequires: cmake(KF5Solid) >= 5.15.0
|
||||
BuildRequires: cmake(KF5Su) >= 5.15.0
|
||||
BuildRequires: cmake(KF5SysGuard) >= %{version}
|
||||
BuildRequires: cmake(KF5SysGuard) >= %{plasma_version}
|
||||
BuildRequires: cmake(KF5TextEditor)
|
||||
BuildRequires: cmake(KF5TextWidgets) >= 5.15.0
|
||||
BuildRequires: cmake(KF5Wallet) >= 5.15.0
|
||||
BuildRequires: cmake(KF5Wayland) >= %{version}
|
||||
BuildRequires: cmake(KF5Wayland) >= %{plasma_version}
|
||||
BuildRequires: cmake(KF5XmlRpcClient)
|
||||
BuildRequires: cmake(KScreenLocker) >= %{version}
|
||||
BuildRequires: cmake(KWinDBusInterface) >= %{version}
|
||||
BuildRequires: cmake(KScreenLocker) >= %{plasma_version}
|
||||
BuildRequires: cmake(KWinDBusInterface) >= %{plasma_version}
|
||||
BuildRequires: cmake(Phonon4Qt5) >= 4.6.60
|
||||
BuildRequires: cmake(Qt5Concurrent) >= 5.4.0
|
||||
BuildRequires: cmake(Qt5DBus) >= 5.4.0
|
||||
@@ -82,7 +81,7 @@ BuildRequires: cmake(Qt5Sql) >= 5.4.0
|
||||
BuildRequires: cmake(Qt5Test) >= 5.4.0
|
||||
BuildRequires: cmake(Qt5Widgets) >= 5.4.0
|
||||
BuildRequires: cmake(Qt5X11Extras) >= 5.4.0
|
||||
BuildRequires: cmake(ScreenSaverDBusInterface) >= %{version}
|
||||
BuildRequires: cmake(ScreenSaverDBusInterface) >= %{plasma_version}
|
||||
BuildRequires: cmake(dbusmenu-qt5)
|
||||
BuildRequires: pkgconfig(libgps)
|
||||
BuildRequires: pkgconfig(libqalculate)
|
||||
@@ -100,34 +99,34 @@ BuildRequires: pkgconfig(zlib)
|
||||
Conflicts: kdebase4-workspace < 5.3.0
|
||||
# Some files have been moved from kio-extras5 to plasma5-workspace in 5.4. This should prevent a possible file conflict. (boo#944656)
|
||||
Conflicts: kio-extras5 < 15.08.0
|
||||
Requires: %{name}-branding = %{version}
|
||||
Requires: %{name}-branding = %{plasma_version}
|
||||
Requires: %{name}-libs = %{version}-%{release}
|
||||
# used within startup
|
||||
Requires: kde-cli-tools5 >= %{version}
|
||||
Requires: kde-cli-tools5 >= %{plasma_version}
|
||||
Requires: kded
|
||||
Requires: kdelibs4support
|
||||
Requires: kinit
|
||||
Requires: kscreenlocker >= %{version}
|
||||
Requires: kwin5 >= %{version}
|
||||
Requires: kscreenlocker >= %{plasma_version}
|
||||
Requires: kwin5 >= %{plasma_version}
|
||||
Requires: libqt5-qttools >= 5.4.0
|
||||
# /usr/bin/startkde calls xprop
|
||||
Requires: xprop
|
||||
# contains default style, cursors, etc
|
||||
Requires: breeze >= %{version}
|
||||
Requires: breeze >= %{plasma_version}
|
||||
# needed by krunner
|
||||
Requires: milou5 >= %{version}
|
||||
Requires: milou5 >= %{plasma_version}
|
||||
# heavily used by plasma
|
||||
Requires: libqt5-qtquickcontrols
|
||||
# battery applet
|
||||
Requires: drkonqi5 >= %{version}
|
||||
Requires: kglobalaccel5 >= %{version}
|
||||
Requires: drkonqi5 >= %{plasma_version}
|
||||
Requires: kglobalaccel5 >= %{plasma_version}
|
||||
Requires: solid-imports
|
||||
# dialog/platformtheme/etc
|
||||
Requires: frameworkintegration-plugin
|
||||
Requires: kscreen5 >= %{version}
|
||||
Requires: libkscreen2-plugin >= %{version}
|
||||
Requires: kscreen5 >= %{plasma_version}
|
||||
Requires: libkscreen2-plugin >= %{plasma_version}
|
||||
# boo#912317
|
||||
Requires: oxygen5-sounds >= %{version}
|
||||
Requires: oxygen5-sounds >= %{plasma_version}
|
||||
# hardcode versions of plasma-framework-componets and plasma-framework-private packages, as upstream doesn't keep backwards compability there
|
||||
%requires_ge plasma-framework-components
|
||||
%requires_ge plasma-framework-private
|
||||
@@ -150,7 +149,7 @@ This package contains the basic packages for a Plasma workspace.
|
||||
%package branding-upstream
|
||||
Summary: The KDE Plasma Workspace Components
|
||||
Group: System/GUI/KDE
|
||||
Provides: %{name}-branding = %{version}
|
||||
Provides: %{name}-branding = %{plasma_version}
|
||||
Supplements: packageand(plasma5-workspace:branding-upstream)
|
||||
Conflicts: otherproviders(%{name}-branding)
|
||||
|
||||
@@ -189,7 +188,7 @@ workspace.
|
||||
Summary: The KDE Plasma Workspace Components
|
||||
Group: Development/Libraries/KDE
|
||||
Requires: %{name}-libs = %{version}-%{release}
|
||||
Requires: cmake(KF5SysGuard) >= %{version}
|
||||
Requires: cmake(KF5SysGuard) >= %{plasma_version}
|
||||
Conflicts: kdebase4-workspace-devel
|
||||
Provides: plasma-workspace5-devel = %{version}
|
||||
Obsoletes: plasma-workspace5-devel <= %{version}
|
||||
@@ -204,8 +203,6 @@ workspace. Development files.
|
||||
%patch0 -p1
|
||||
%patch1 -p1
|
||||
%patch2 -p1
|
||||
%patch100 -p1
|
||||
%patch101 -p1
|
||||
|
||||
%build
|
||||
%cmake_kf5 -d build -- -DKDE4_COMMON_PAM_SERVICE=xdm -DKDE_DEFAULT_HOME=.kde4 -DCMAKE_INSTALL_LOCALEDIR=share/locale/kf5
|
||||
|
Reference in New Issue
Block a user