Accepting request 355088 from KDE:Frameworks5
baserev update by copy to link target OBS-URL: https://build.opensuse.org/request/show/355088 OBS-URL: https://build.opensuse.org/package/show/KDE:Frameworks5/plasma5-workspace?expand=0&rev=167
This commit is contained in:
parent
4d35f7ff04
commit
c133b0c955
@ -35,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
|
||||
# PATCH-FIX-UPSTREAM xembedsniproxy-check-for-null-geometry.patch boo#954623, kde#355463, kde#358227 -- fixes an xembedsniproxy crash
|
||||
Patch100: xembedsniproxy-check-for-null-geometry.patch
|
||||
# PATCHES 201-300 and above are from upstream master/5.6 branch
|
||||
BuildRequires: kf5-filesystem
|
||||
BuildRequires: update-desktop-files
|
||||
@ -205,7 +203,6 @@ workspace. Development files.
|
||||
%patch0 -p1
|
||||
%patch1 -p1
|
||||
%patch2 -p1
|
||||
%patch100 -p1
|
||||
|
||||
%build
|
||||
%cmake_kf5 -d build -- -DKDE4_COMMON_PAM_SERVICE=xdm -DKDE_DEFAULT_HOME=.kde4 -DCMAKE_INSTALL_LOCALEDIR=share/locale/kf5
|
||||
|
@ -1,59 +0,0 @@
|
||||
From: David Edmundson <kde@davidedmundson.co.uk>
|
||||
Date: Mon, 21 Dec 2015 23:09:50 +0000
|
||||
Subject: Check for null geometry in client window
|
||||
X-Git-Url: http://quickgit.kde.org/?p=plasma-workspace.git&a=commitdiff&h=6232362cca7021e5b436d267e07f9d6875a20a4c
|
||||
---
|
||||
Check for null geometry in client window
|
||||
|
||||
BUG: 355463
|
||||
---
|
||||
|
||||
|
||||
--- a/xembed-sni-proxy/sniproxy.cpp
|
||||
+++ b/xembed-sni-proxy/sniproxy.cpp
|
||||
@@ -158,23 +158,30 @@
|
||||
windowMoveConfigVals);
|
||||
|
||||
|
||||
+ QSize clientWindowSize;
|
||||
+
|
||||
+ if (clientGeom) {
|
||||
+ clientWindowSize = QSize(clientGeom->width, clientGeom->height);
|
||||
+ }
|
||||
//if the window is a clearly stupid size resize to be something sensible
|
||||
//this is needed as chormium and such when resized just fill the icon with transparent space and only draw in the middle
|
||||
//however spotify does need this as by default the window size is 900px wide.
|
||||
//use an artbitrary heuristic to make sure icons are always sensible
|
||||
- if (clientGeom->width > s_embedSize || clientGeom->height > s_embedSize )
|
||||
+ if (clientWindowSize.isEmpty() || clientWindowSize.width() > s_embedSize || clientWindowSize.height() > s_embedSize )
|
||||
{
|
||||
+ qCDebug(SNIPROXY) << "Resizing window" << wid << Title() << "from w*h" << clientWindowSize;
|
||||
+
|
||||
const uint32_t windowMoveConfigVals[2] = { s_embedSize, s_embedSize };
|
||||
xcb_configure_window(c, wid,
|
||||
XCB_CONFIG_WINDOW_WIDTH | XCB_CONFIG_WINDOW_HEIGHT,
|
||||
windowMoveConfigVals);
|
||||
- qCDebug(SNIPROXY) << "Resizing window" << wid << Title() << "from w*h" << clientGeom->width << clientGeom->height;
|
||||
+ clientWindowSize = QSize(s_embedSize, s_embedSize);
|
||||
}
|
||||
|
||||
//show the embedded window otherwise nothing happens
|
||||
xcb_map_window(c, wid);
|
||||
|
||||
- xcb_clear_area(c, 0, wid, 0, 0, qMin(clientGeom->width, s_embedSize), qMin(clientGeom->height, s_embedSize));
|
||||
+ xcb_clear_area(c, 0, wid, 0, 0, clientWindowSize.width(), clientWindowSize.height());
|
||||
|
||||
xcb_flush(c);
|
||||
|
||||
@@ -245,6 +252,10 @@
|
||||
auto cookie = xcb_get_geometry(c, m_windowId);
|
||||
QScopedPointer<xcb_get_geometry_reply_t, QScopedPointerPodDeleter>
|
||||
geom(xcb_get_geometry_reply(c, cookie, Q_NULLPTR));
|
||||
+
|
||||
+ if (!geom) {
|
||||
+ return QImage();
|
||||
+ }
|
||||
|
||||
xcb_image_t *image = xcb_image_get(c, m_windowId, 0, 0, geom->width, geom->height, 0xFFFFFF, XCB_IMAGE_FORMAT_Z_PIXMAP);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user