QWidget::setWindowRole does nothing (QTBUG-45484)
This commit is contained in:
		
							parent
							
								
									03e171010a
								
							
						
					
					
						commit
						e0cb122fdd
					
				
							
								
								
									
										39
									
								
								0002-xcb-set-SM_CLIENT_ID-property.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										39
									
								
								0002-xcb-set-SM_CLIENT_ID-property.patch
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,39 @@ | ||||
| From 72de0df09c2fb5b0d61b019753aa4522964113a5 Mon Sep 17 00:00:00 2001 | ||||
| From: Stefan Becker <chemobejk@gmail.com> | ||||
| Date: Mon, 25 May 2015 17:46:49 +0300 | ||||
| Subject: [PATCH 2/2] xcb: set SM_CLIENT_ID property | ||||
| 
 | ||||
| SM_CLIENT_ID is required by kwin for proper session management. | ||||
| 
 | ||||
| Copy the code from the QT4 implementation to the appropriate place in | ||||
| QT5. | ||||
| 
 | ||||
| Task-number: QTBUG-46310 | ||||
| ---
 | ||||
|  src/plugins/platforms/xcb/qxcbwindow.cpp | 10 ++++++++++ | ||||
|  1 file changed, 10 insertions(+) | ||||
| 
 | ||||
| diff --git a/src/plugins/platforms/xcb/qxcbwindow.cpp b/src/plugins/platforms/xcb/qxcbwindow.cpp
 | ||||
| index f8c2ff8..513f556 100644
 | ||||
| --- a/src/plugins/platforms/xcb/qxcbwindow.cpp
 | ||||
| +++ b/src/plugins/platforms/xcb/qxcbwindow.cpp
 | ||||
| @@ -530,6 +530,16 @@ void QXcbWindow::create()
 | ||||
|                                     atom(QXcbAtom::WM_CLIENT_LEADER), XCB_ATOM_WINDOW, 32, | ||||
|                                     1, &leader)); | ||||
|   | ||||
| +#ifndef QT_NO_SESSIONMANAGER
 | ||||
| +    // If we are session managed, inform the window manager about it
 | ||||
| +    QByteArray session = qApp->sessionId().toLatin1();
 | ||||
| +    if (!session.isEmpty()) {
 | ||||
| +        Q_XCB_CALL(xcb_change_property(xcb_connection(), XCB_PROP_MODE_REPLACE, leader,
 | ||||
| +                                       atom(QXcbAtom::SM_CLIENT_ID), XCB_ATOM_STRING, 8,
 | ||||
| +                                       session.length(), session.constData()));
 | ||||
| +    }
 | ||||
| +#endif
 | ||||
| +
 | ||||
|      /* Add XEMBED info; this operation doesn't initiate the embedding. */ | ||||
|      quint32 data[] = { XEMBED_VERSION, XEMBED_MAPPED }; | ||||
|      Q_XCB_CALL(xcb_change_property(xcb_connection(), XCB_PROP_MODE_REPLACE, m_window, | ||||
| -- 
 | ||||
| 2.4.0 | ||||
| 
 | ||||
| @ -105,6 +105,10 @@ Patch52:  qtbase-opensource-src-5.4.1-QTBUG-33093.patch | ||||
| # adapted to apply on top of patch51 | ||||
| Patch53: qtbase-opensource-src-5.4.1-QTBUG-45484.patch | ||||
| 
 | ||||
| # https://bugreports.qt.io/browse/QTBUG-46310 | ||||
| #SM_CLIENT_ID property is not set | ||||
| Patch54: https://bugreports.qt.io/secure/attachment/48820/0002-xcb-set-SM_CLIENT_ID-property.patch | ||||
| 
 | ||||
| ## upstream patches | ||||
| # workaround https://bugreports.qt-project.org/browse/QTBUG-43057 | ||||
| # 'make docs' crash on el6, use qSort instead of std::sort | ||||
| @ -389,6 +393,7 @@ rm -fv mkspecs/linux-g++*/qmake.conf.multilib-optflags | ||||
| %patch51 -p1 -b .QTBUG-42985 | ||||
| %patch52 -p1 -b .QTBUG-33093 | ||||
| %patch53 -p1 -b .QTBUG-45484 | ||||
| %patch54 -p1 -b .QTBUG-46310 | ||||
| 
 | ||||
| %if 0%{?rhel} == 6 | ||||
| %patch100 -p1 -b .QTBUG-43057 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user