Update to 5.4.1
This commit is contained in:
parent
c8544d32b3
commit
cb39c45c15
1
.gitignore
vendored
1
.gitignore
vendored
@ -1 +1,2 @@
|
||||
/qtbase-opensource-src-5.4.0.tar.xz
|
||||
/qtbase-opensource-src-5.4.1.tar.xz
|
||||
|
@ -1,45 +0,0 @@
|
||||
From 501c510cc3cb6215aed27af7599395480a049667 Mon Sep 17 00:00:00 2001
|
||||
From: Allan Sandfeld Jensen <allan.jensen@digia.com>
|
||||
Date: Tue, 11 Nov 2014 13:48:27 +0100
|
||||
Subject: [PATCH 009/131] Do not apply subpixel gamma-correction on XCB
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
To match rendering of subpixel antialiased text in Qt 4.8 and other
|
||||
toolkits on X11, we should not apply gamma-correction. This also
|
||||
makes the rendering of subpixel antialiased text closer to normal
|
||||
antialiased text.
|
||||
|
||||
Task-number: QTBUG-41590
|
||||
Change-Id: I45ad3448334951353657b878d002eea429858f2d
|
||||
Reviewed-by: Samuel Rødal <srodal@gmail.com>
|
||||
Reviewed-by: Sérgio Martins <sergio.martins@kdab.com>
|
||||
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
|
||||
---
|
||||
src/plugins/platforms/xcb/qxcbintegration.cpp | 4 +++-
|
||||
1 file changed, 3 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/plugins/platforms/xcb/qxcbintegration.cpp b/src/plugins/platforms/xcb/qxcbintegration.cpp
|
||||
index cace087..3818494 100644
|
||||
--- a/src/plugins/platforms/xcb/qxcbintegration.cpp
|
||||
+++ b/src/plugins/platforms/xcb/qxcbintegration.cpp
|
||||
@@ -427,12 +427,14 @@ QVariant QXcbIntegration::styleHint(QPlatformIntegration::StyleHint hint) const
|
||||
case QPlatformIntegration::StartDragTime:
|
||||
case QPlatformIntegration::KeyboardAutoRepeatRate:
|
||||
case QPlatformIntegration::PasswordMaskDelay:
|
||||
- case QPlatformIntegration::FontSmoothingGamma:
|
||||
case QPlatformIntegration::StartDragVelocity:
|
||||
case QPlatformIntegration::UseRtlExtensions:
|
||||
case QPlatformIntegration::PasswordMaskCharacter:
|
||||
// TODO using various xcb, gnome or KDE settings
|
||||
break; // Not implemented, use defaults
|
||||
+ case QPlatformIntegration::FontSmoothingGamma:
|
||||
+ // Match Qt 4.8 text rendering, and rendering of other X11 toolkits.
|
||||
+ return qreal(1.0);
|
||||
case QPlatformIntegration::StartDragDistance: {
|
||||
// The default (in QPlatformTheme::defaultThemeHint) is 10 pixels, but
|
||||
// on a high-resolution screen it makes sense to increase it.
|
||||
--
|
||||
1.9.3
|
||||
|
@ -1,38 +0,0 @@
|
||||
From 404f4281fda764cafdaa5635db995dabc4f1de8c Mon Sep 17 00:00:00 2001
|
||||
From: Dmitry Shachnev <mitya57@gmail.com>
|
||||
Date: Tue, 9 Dec 2014 09:27:53 +0300
|
||||
Subject: [PATCH 173/179] qimage_conversions.cpp: Fix build on big endian
|
||||
systems
|
||||
|
||||
Change-Id: I8149eb2deaa101daf85a957ff48c3a7140c43bbc
|
||||
Reviewed-by: Timo Jyrinki <timo.jyrinki@canonical.com>
|
||||
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
|
||||
---
|
||||
src/gui/image/qimage_conversions.cpp | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/gui/image/qimage_conversions.cpp b/src/gui/image/qimage_conversions.cpp
|
||||
index 17563b1..858a0d9 100644
|
||||
--- a/src/gui/image/qimage_conversions.cpp
|
||||
+++ b/src/gui/image/qimage_conversions.cpp
|
||||
@@ -2252,7 +2252,7 @@ Image_Converter qimage_converter_map[QImage::NImageFormats][QImage::NImageFormat
|
||||
convert_ARGB_to_ARGB_PM,
|
||||
#else
|
||||
0,
|
||||
- 0
|
||||
+ 0,
|
||||
#endif
|
||||
0, 0, 0, 0
|
||||
}, // Format_RGBA8888
|
||||
@@ -2281,7 +2281,7 @@ Image_Converter qimage_converter_map[QImage::NImageFormats][QImage::NImageFormat
|
||||
#else
|
||||
0,
|
||||
0,
|
||||
- 0
|
||||
+ 0,
|
||||
#endif
|
||||
0, 0, 0, 0
|
||||
}, // Format_RGBA8888_Premultiplied
|
||||
--
|
||||
1.9.3
|
||||
|
@ -32,8 +32,8 @@
|
||||
|
||||
Summary: Qt5 - QtBase components
|
||||
Name: qt5-qtbase
|
||||
Version: 5.4.0
|
||||
Release: 13%{?dist}
|
||||
Version: 5.4.1
|
||||
Release: 1%{?dist}
|
||||
|
||||
# See LGPL_EXCEPTIONS.txt, for exception details
|
||||
License: LGPLv2 with exceptions or GPLv3 with exceptions
|
||||
@ -87,12 +87,6 @@ Patch51: qtbase-opensource-src-5.4.0-QTBUG-42985.patch
|
||||
# 'make docs' crash on el6, use qSort instead of std::sort
|
||||
Patch100: qtbase-opensource-src-5.4.0-QTBUG-43057.patch
|
||||
|
||||
# Bad font rendering, http://bugzilla.redhat.com/1052389
|
||||
# tweak font gamma correction, from:
|
||||
# https://bugreports.qt-project.org/browse/QTBUG-41590
|
||||
Patch109: 0009-Do-not-apply-subpixel-gamma-correction-on-XCB.patch
|
||||
Patch273: 0173-qimage_conversions.cpp-Fix-build-on-big-endian-syste.patch
|
||||
|
||||
# macros, be mindful to keep sync'd with macros.qt5
|
||||
Source1: macros.qt5
|
||||
%define _qt5 %{name}
|
||||
@ -336,9 +330,6 @@ rm -fv mkspecs/linux-g++*/qmake.conf.multilib-optflags
|
||||
%patch100 -p1 -b .QTBUG-43057
|
||||
%endif
|
||||
|
||||
%patch109 -p1 -b .0009
|
||||
%patch273 -p1 -b .0173
|
||||
|
||||
# drop -fexceptions from $RPM_OPT_FLAGS
|
||||
RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS | sed 's|-fexceptions||g'`
|
||||
|
||||
@ -843,6 +834,9 @@ fi
|
||||
|
||||
|
||||
%changelog
|
||||
* Tue Feb 24 2015 Jan Grulich <jgrulich@redhat.com> 5.4.1-1
|
||||
- update to 5.4.1
|
||||
|
||||
* Mon Feb 16 2015 Rex Dieter <rdieter@fedoraproject.org> 5.4.0-13
|
||||
- -no-use-gold-linker (f22+, #1193044)
|
||||
|
||||
|
@ -1,6 +1,8 @@
|
||||
--- qtbase-opensource-src-5.4.0/src/gui/kernel/qplatformintegration.cpp 2014-12-05 17:24:36.000000000 +0100
|
||||
+++ qtbase-opensource-src-5.4.0/src/gui/kernel/qplatformintegration.cpp 2015-01-31 23:42:47.762253331 +0100
|
||||
@@ -429,16 +429,40 @@ QList<int> QPlatformIntegration::possibl
|
||||
diff --git a/src/gui/kernel/qplatformintegration.cpp b/src/gui/kernel/qplatformintegration.cpp
|
||||
index 39b031e..7f808da 100644
|
||||
--- a/src/gui/kernel/qplatformintegration.cpp
|
||||
+++ b/src/gui/kernel/qplatformintegration.cpp
|
||||
@@ -429,16 +429,40 @@ QList<int> QPlatformIntegration::possibleKeys(const QKeyEvent *) const
|
||||
This adds the screen to QGuiApplication::screens(), and emits the
|
||||
QGuiApplication::screenAdded() signal.
|
||||
|
||||
@ -43,8 +45,10 @@
|
||||
QStringList QPlatformIntegration::themeNames() const
|
||||
{
|
||||
return QStringList();
|
||||
--- qtbase-opensource-src-5.4.0/src/gui/kernel/qplatformintegration.h 2014-12-05 17:24:36.000000000 +0100
|
||||
+++ qtbase-opensource-src-5.4.0/src/gui/kernel/qplatformintegration.h 2015-01-31 20:15:58.620715451 +0100
|
||||
diff --git a/src/gui/kernel/qplatformintegration.h b/src/gui/kernel/qplatformintegration.h
|
||||
index d510240..5ec7896 100644
|
||||
--- a/src/gui/kernel/qplatformintegration.h
|
||||
+++ b/src/gui/kernel/qplatformintegration.h
|
||||
@@ -169,7 +169,8 @@ public:
|
||||
#endif
|
||||
|
||||
@ -55,8 +59,10 @@
|
||||
};
|
||||
|
||||
QT_END_NAMESPACE
|
||||
--- qtbase-opensource-src-5.4.0/src/gui/kernel/qplatformscreen.cpp 2014-12-05 17:24:36.000000000 +0100
|
||||
+++ qtbase-opensource-src-5.4.0/src/gui/kernel/qplatformscreen.cpp 2015-01-31 20:16:25.413205752 +0100
|
||||
diff --git a/src/gui/kernel/qplatformscreen.cpp b/src/gui/kernel/qplatformscreen.cpp
|
||||
index 71710d1..4fb7114 100644
|
||||
--- a/src/gui/kernel/qplatformscreen.cpp
|
||||
+++ b/src/gui/kernel/qplatformscreen.cpp
|
||||
@@ -52,8 +52,6 @@ QPlatformScreen::QPlatformScreen()
|
||||
QPlatformScreen::~QPlatformScreen()
|
||||
{
|
||||
@ -66,9 +72,11 @@
|
||||
delete d->screen;
|
||||
}
|
||||
|
||||
--- qtbase-opensource-src-5.4.0/src/gui/kernel/qscreen.cpp 2014-12-05 17:24:36.000000000 +0100
|
||||
+++ qtbase-opensource-src-5.4.0/src/gui/kernel/qscreen.cpp 2015-01-31 19:30:45.295665651 +0100
|
||||
@@ -66,16 +66,6 @@ QScreen::QScreen(QPlatformScreen *screen
|
||||
diff --git a/src/gui/kernel/qscreen.cpp b/src/gui/kernel/qscreen.cpp
|
||||
index ed6e8dd..8909eed 100644
|
||||
--- a/src/gui/kernel/qscreen.cpp
|
||||
+++ b/src/gui/kernel/qscreen.cpp
|
||||
@@ -66,16 +66,6 @@ QScreen::QScreen(QPlatformScreen *screen)
|
||||
{
|
||||
}
|
||||
|
||||
@ -85,9 +93,11 @@
|
||||
/*!
|
||||
Get the platform screen handle.
|
||||
*/
|
||||
--- qtbase-opensource-src-5.4.0/src/gui/kernel/qscreen.h 2014-12-05 17:24:36.000000000 +0100
|
||||
+++ qtbase-opensource-src-5.4.0/src/gui/kernel/qscreen.h 2015-01-31 19:30:39.204553634 +0100
|
||||
@@ -81,7 +81,6 @@ class Q_GUI_EXPORT QScreen : public QObj
|
||||
diff --git a/src/gui/kernel/qscreen.h b/src/gui/kernel/qscreen.h
|
||||
index 766b3d8..144730a 100644
|
||||
--- a/src/gui/kernel/qscreen.h
|
||||
+++ b/src/gui/kernel/qscreen.h
|
||||
@@ -81,7 +81,6 @@ class Q_GUI_EXPORT QScreen : public QObject
|
||||
Q_PROPERTY(qreal refreshRate READ refreshRate NOTIFY refreshRateChanged)
|
||||
|
||||
public:
|
||||
@ -95,9 +105,11 @@
|
||||
QPlatformScreen *handle() const;
|
||||
|
||||
QString name() const;
|
||||
--- qtbase-opensource-src-5.4.0/src/plugins/platforms/xcb/qxcbclipboard.cpp 2014-12-05 17:24:37.000000000 +0100
|
||||
+++ qtbase-opensource-src-5.4.0/src/plugins/platforms/xcb/qxcbclipboard.cpp 2015-01-31 15:25:10.611111149 +0100
|
||||
@@ -276,7 +276,7 @@ QXcbClipboard::QXcbClipboard(QXcbConnect
|
||||
diff --git a/src/plugins/platforms/xcb/qxcbclipboard.cpp b/src/plugins/platforms/xcb/qxcbclipboard.cpp
|
||||
index f56a29d..0dca2da 100644
|
||||
--- a/src/plugins/platforms/xcb/qxcbclipboard.cpp
|
||||
+++ b/src/plugins/platforms/xcb/qxcbclipboard.cpp
|
||||
@@ -276,7 +276,7 @@ QXcbClipboard::QXcbClipboard(QXcbConnection *c)
|
||||
m_timestamp[QClipboard::Clipboard] = XCB_CURRENT_TIME;
|
||||
m_timestamp[QClipboard::Selection] = XCB_CURRENT_TIME;
|
||||
|
||||
@ -106,7 +118,7 @@
|
||||
|
||||
int x = 0, y = 0, w = 3, h = 3;
|
||||
|
||||
@@ -284,11 +284,11 @@ QXcbClipboard::QXcbClipboard(QXcbConnect
|
||||
@@ -284,11 +284,11 @@ QXcbClipboard::QXcbClipboard(QXcbConnection *c)
|
||||
Q_XCB_CALL(xcb_create_window(xcb_connection(),
|
||||
XCB_COPY_FROM_PARENT, // depth -- same as root
|
||||
m_owner, // window id
|
||||
@ -120,7 +132,7 @@
|
||||
0, // value mask
|
||||
0)); // value list
|
||||
#ifndef QT_NO_DEBUG
|
||||
@@ -462,8 +462,15 @@ bool QXcbClipboard::ownsMode(QClipboard:
|
||||
@@ -462,8 +462,15 @@ bool QXcbClipboard::ownsMode(QClipboard::Mode mode) const
|
||||
return m_timestamp[mode] != XCB_CURRENT_TIME;
|
||||
}
|
||||
|
||||
@ -136,7 +148,7 @@
|
||||
if (!m_requestor) {
|
||||
const int x = 0, y = 0, w = 3, h = 3;
|
||||
QXcbClipboard *that = const_cast<QXcbClipboard *>(this);
|
||||
@@ -472,11 +479,11 @@ xcb_window_t QXcbClipboard::requestor()
|
||||
@@ -472,11 +479,11 @@ xcb_window_t QXcbClipboard::requestor() const
|
||||
Q_XCB_CALL(xcb_create_window(xcb_connection(),
|
||||
XCB_COPY_FROM_PARENT, // depth -- same as root
|
||||
window, // window id
|
||||
@ -150,8 +162,10 @@
|
||||
0, // value mask
|
||||
0)); // value list
|
||||
#ifndef QT_NO_DEBUG
|
||||
--- qtbase-opensource-src-5.4.0/src/plugins/platforms/xcb/qxcbclipboard.h 2014-12-05 17:24:37.000000000 +0100
|
||||
+++ qtbase-opensource-src-5.4.0/src/plugins/platforms/xcb/qxcbclipboard.h 2015-01-31 15:24:53.881807083 +0100
|
||||
diff --git a/src/plugins/platforms/xcb/qxcbclipboard.h b/src/plugins/platforms/xcb/qxcbclipboard.h
|
||||
index e76d502..b6cbda4 100644
|
||||
--- a/src/plugins/platforms/xcb/qxcbclipboard.h
|
||||
+++ b/src/plugins/platforms/xcb/qxcbclipboard.h
|
||||
@@ -59,7 +59,7 @@ public:
|
||||
bool supportsMode(QClipboard::Mode mode) const;
|
||||
bool ownsMode(QClipboard::Mode mode) const;
|
||||
@ -170,9 +184,11 @@
|
||||
// Selection and Clipboard
|
||||
QXcbClipboardMime *m_xClipboard[2];
|
||||
QMimeData *m_clientClipboard[2];
|
||||
--- qtbase-opensource-src-5.4.0/src/plugins/platforms/xcb/qxcbconnection.cpp 2014-12-05 17:24:37.000000000 +0100
|
||||
+++ qtbase-opensource-src-5.4.0/src/plugins/platforms/xcb/qxcbconnection.cpp 2015-01-31 20:19:49.394941407 +0100
|
||||
@@ -182,7 +182,6 @@ QXcbScreen* QXcbConnection::findOrCreate
|
||||
diff --git a/src/plugins/platforms/xcb/qxcbconnection.cpp b/src/plugins/platforms/xcb/qxcbconnection.cpp
|
||||
index 5510c3b..c9600f0 100644
|
||||
--- a/src/plugins/platforms/xcb/qxcbconnection.cpp
|
||||
+++ b/src/plugins/platforms/xcb/qxcbconnection.cpp
|
||||
@@ -182,7 +182,6 @@ QXcbScreen* QXcbConnection::findOrCreateScreen(QList<QXcbScreen *>& newScreens,
|
||||
void QXcbConnection::updateScreens()
|
||||
{
|
||||
xcb_screen_iterator_t it = xcb_setup_roots_iterator(m_setup);
|
||||
@ -269,9 +285,11 @@
|
||||
}
|
||||
|
||||
QXcbConnection::QXcbConnection(QXcbNativeInterface *nativeInterface, bool canGrabServer, const char *displayName)
|
||||
--- qtbase-opensource-src-5.4.0/src/plugins/platforms/xcb/qxcbwindow.cpp 2014-12-05 17:24:37.000000000 +0100
|
||||
+++ qtbase-opensource-src-5.4.0/src/plugins/platforms/xcb/qxcbwindow.cpp 2015-01-31 23:42:36.248036556 +0100
|
||||
@@ -241,9 +241,7 @@ QXcbWindow::QXcbWindow(QWindow *window)
|
||||
diff --git a/src/plugins/platforms/xcb/qxcbwindow.cpp b/src/plugins/platforms/xcb/qxcbwindow.cpp
|
||||
index 0094278..d17aa7d 100644
|
||||
--- a/src/plugins/platforms/xcb/qxcbwindow.cpp
|
||||
+++ b/src/plugins/platforms/xcb/qxcbwindow.cpp
|
||||
@@ -257,9 +257,7 @@ QXcbWindow::QXcbWindow(QWindow *window)
|
||||
, m_syncState(NoSyncNeeded)
|
||||
, m_pendingSyncRequest(0)
|
||||
{
|
||||
@ -282,7 +300,7 @@
|
||||
|
||||
if (window->type() != Qt::ForeignWindow)
|
||||
create();
|
||||
@@ -282,11 +280,13 @@ void QXcbWindow::create()
|
||||
@@ -298,11 +296,13 @@ void QXcbWindow::create()
|
||||
|
||||
Qt::WindowType type = window()->type();
|
||||
|
||||
@ -300,7 +318,7 @@
|
||||
m_imageFormat = imageFormatForVisual(m_depth, visual->red_mask, visual->blue_mask);
|
||||
connection()->addWindowEventListener(m_window, this);
|
||||
return;
|
||||
@@ -327,7 +327,7 @@ void QXcbWindow::create()
|
||||
@@ -343,7 +343,7 @@ void QXcbWindow::create()
|
||||
rect.setHeight(defaultWindowHeight);
|
||||
}
|
||||
|
||||
@ -309,7 +327,7 @@
|
||||
if (parent()) {
|
||||
xcb_parent_id = static_cast<QXcbWindow *>(parent())->xcb_window();
|
||||
m_embedded = parent()->window()->type() == Qt::ForeignWindow;
|
||||
@@ -342,7 +342,7 @@ void QXcbWindow::create()
|
||||
@@ -358,7 +358,7 @@ void QXcbWindow::create()
|
||||
#if (defined(XCB_USE_GLX) || defined(XCB_USE_EGL)) && defined(XCB_USE_XLIB)
|
||||
if (QGuiApplicationPrivate::platformIntegration()->hasCapability(QPlatformIntegration::OpenGL)) {
|
||||
#if defined(XCB_USE_GLX)
|
||||
@ -318,7 +336,7 @@
|
||||
#elif defined(XCB_USE_EGL)
|
||||
EGLDisplay eglDisplay = connection()->egl_display();
|
||||
EGLConfig eglConfig = q_configFromGLFormat(eglDisplay, m_format, true);
|
||||
@@ -371,8 +371,8 @@ void QXcbWindow::create()
|
||||
@@ -387,8 +387,8 @@ void QXcbWindow::create()
|
||||
Colormap cmap = XCreateColormap(DISPLAY_FROM_XCB(this), xcb_parent_id, visualInfo->visual, AllocNone);
|
||||
|
||||
XSetWindowAttributes a;
|
||||
@ -329,7 +347,7 @@
|
||||
a.colormap = cmap;
|
||||
|
||||
m_visualId = visualInfo->visualid;
|
||||
@@ -391,14 +391,14 @@ void QXcbWindow::create()
|
||||
@@ -407,14 +407,14 @@ void QXcbWindow::create()
|
||||
#endif //defined(XCB_USE_GLX) || defined(XCB_USE_EGL)
|
||||
{
|
||||
m_window = xcb_generate_id(xcb_connection());
|
||||
@ -347,7 +365,7 @@
|
||||
while (depthIter.rem) {
|
||||
if (depthIter.data->depth == 32) {
|
||||
xcb_visualtype_iterator_t visualIter = xcb_depth_visuals_iterator(depthIter.data);
|
||||
@@ -409,8 +409,8 @@ void QXcbWindow::create()
|
||||
@@ -425,8 +425,8 @@ void QXcbWindow::create()
|
||||
xcb_create_colormap(xcb_connection(), XCB_COLORMAP_ALLOC_NONE, colormap,
|
||||
xcb_parent_id, m_visualId);
|
||||
mask |= XCB_CW_BACK_PIXEL | XCB_CW_BORDER_PIXEL | XCB_CW_COLORMAP;
|
||||
@ -358,7 +376,7 @@
|
||||
values[2] = colormap;
|
||||
break;
|
||||
}
|
||||
@@ -419,7 +419,7 @@ void QXcbWindow::create()
|
||||
@@ -435,7 +435,7 @@ void QXcbWindow::create()
|
||||
}
|
||||
}
|
||||
|
||||
@ -367,7 +385,7 @@
|
||||
m_imageFormat = imageFormatForVisual(m_depth, visual->red_mask, visual->blue_mask);
|
||||
|
||||
Q_XCB_CALL(xcb_create_window(xcb_connection(),
|
||||
@@ -449,7 +449,7 @@ void QXcbWindow::create()
|
||||
@@ -465,7 +465,7 @@ void QXcbWindow::create()
|
||||
properties[propertyCount++] = atom(QXcbAtom::WM_TAKE_FOCUS);
|
||||
properties[propertyCount++] = atom(QXcbAtom::_NET_WM_PING);
|
||||
|
||||
@ -376,7 +394,7 @@
|
||||
#if !defined(XCB_USE_GLX)
|
||||
// synced resize only implemented on GLX
|
||||
if (window()->supportsOpenGL())
|
||||
@@ -508,7 +508,7 @@ void QXcbWindow::create()
|
||||
@@ -524,7 +524,7 @@ void QXcbWindow::create()
|
||||
|
||||
xcb_set_wm_hints(xcb_connection(), m_window, &hints);
|
||||
|
||||
@ -385,7 +403,7 @@
|
||||
Q_XCB_CALL(xcb_change_property(xcb_connection(), XCB_PROP_MODE_REPLACE, m_window,
|
||||
atom(QXcbAtom::WM_CLIENT_LEADER), XCB_ATOM_WINDOW, 32,
|
||||
1, &leader));
|
||||
@@ -534,7 +534,7 @@ void QXcbWindow::create()
|
||||
@@ -550,7 +550,7 @@ void QXcbWindow::create()
|
||||
|
||||
#ifdef XCB_USE_XLIB
|
||||
// force sync to read outstanding requests - see QTBUG-29106
|
||||
@ -394,7 +412,7 @@
|
||||
#endif
|
||||
|
||||
#ifndef QT_NO_DRAGANDDROP
|
||||
@@ -728,7 +728,7 @@ void QXcbWindow::show()
|
||||
@@ -744,7 +744,7 @@ void QXcbWindow::show()
|
||||
// Default to client leader if there is no transient parent, else modal dialogs can
|
||||
// be hidden by their parents.
|
||||
if (!transientXcbParent)
|
||||
@ -403,7 +421,7 @@
|
||||
if (transientXcbParent) { // ICCCM 4.1.2.6
|
||||
Q_XCB_CALL(xcb_change_property(xcb_connection(), XCB_PROP_MODE_REPLACE, m_window,
|
||||
XCB_ATOM_WM_TRANSIENT_FOR, XCB_ATOM_WINDOW, 32,
|
||||
@@ -756,7 +756,7 @@ void QXcbWindow::show()
|
||||
@@ -772,7 +772,7 @@ void QXcbWindow::show()
|
||||
if (QGuiApplication::modalWindow() == window())
|
||||
requestActivateWindow();
|
||||
|
||||
@ -412,7 +430,7 @@
|
||||
|
||||
connection()->sync();
|
||||
}
|
||||
@@ -768,10 +768,10 @@ void QXcbWindow::hide()
|
||||
@@ -784,10 +784,10 @@ void QXcbWindow::hide()
|
||||
// send synthetic UnmapNotify event according to icccm 4.1.4
|
||||
xcb_unmap_notify_event_t event;
|
||||
event.response_type = XCB_UNMAP_NOTIFY;
|
||||
@ -425,7 +443,7 @@
|
||||
XCB_EVENT_MASK_SUBSTRUCTURE_NOTIFY | XCB_EVENT_MASK_SUBSTRUCTURE_REDIRECT, (const char *)&event));
|
||||
|
||||
xcb_flush(xcb_connection());
|
||||
@@ -1091,7 +1091,7 @@ void QXcbWindow::changeNetWmState(bool s
|
||||
@@ -1107,7 +1107,7 @@ void QXcbWindow::changeNetWmState(bool set, xcb_atom_t one, xcb_atom_t two)
|
||||
event.data.data32[3] = 0;
|
||||
event.data.data32[4] = 0;
|
||||
|
||||
@ -434,7 +452,7 @@
|
||||
}
|
||||
|
||||
void QXcbWindow::setWindowState(Qt::WindowState state)
|
||||
@@ -1132,7 +1132,7 @@ void QXcbWindow::setWindowState(Qt::Wind
|
||||
@@ -1148,7 +1148,7 @@ void QXcbWindow::setWindowState(Qt::WindowState state)
|
||||
event.data.data32[3] = 0;
|
||||
event.data.data32[4] = 0;
|
||||
|
||||
@ -443,7 +461,7 @@
|
||||
}
|
||||
break;
|
||||
case Qt::WindowMaximized:
|
||||
@@ -1375,7 +1375,7 @@ void QXcbWindow::setParent(const QPlatfo
|
||||
@@ -1391,7 +1391,7 @@ void QXcbWindow::setParent(const QPlatformWindow *parent)
|
||||
xcb_parent_id = qXcbParent->xcb_window();
|
||||
m_embedded = qXcbParent->window()->type() == Qt::ForeignWindow;
|
||||
} else {
|
||||
@ -452,7 +470,7 @@
|
||||
m_embedded = false;
|
||||
}
|
||||
Q_XCB_CALL(xcb_reparent_window(xcb_connection(), xcb_window(), xcb_parent_id, topLeft.x(), topLeft.y()));
|
||||
@@ -1543,7 +1543,7 @@ void QXcbWindow::requestActivateWindow()
|
||||
@@ -1559,7 +1559,7 @@ void QXcbWindow::requestActivateWindow()
|
||||
event.data.data32[3] = 0;
|
||||
event.data.data32[4] = 0;
|
||||
|
||||
@ -461,7 +479,7 @@
|
||||
} else {
|
||||
Q_XCB_CALL(xcb_set_input_focus(xcb_connection(), XCB_INPUT_FOCUS_PARENT, m_window, connection()->time()));
|
||||
}
|
||||
@@ -1780,15 +1780,15 @@ void QXcbWindow::handleClientMessageEven
|
||||
@@ -1796,15 +1796,15 @@ void QXcbWindow::handleClientMessageEvent(const xcb_client_message_event_t *even
|
||||
relayFocusToModalWindow();
|
||||
return;
|
||||
} else if (event->data.data32[0] == atom(QXcbAtom::_NET_WM_PING)) {
|
||||
@ -480,7 +498,7 @@
|
||||
xcb_flush(xcb_connection());
|
||||
} else if (event->data.data32[0] == atom(QXcbAtom::_NET_WM_SYNC_REQUEST)) {
|
||||
connection()->setTime(event->data.data32[1]);
|
||||
@@ -1838,7 +1838,7 @@ void QXcbWindow::handleConfigureNotifyEv
|
||||
@@ -1871,7 +1871,7 @@ void QXcbWindow::handleConfigureNotifyEvent(const xcb_configure_notify_event_t *
|
||||
if (!parent() && !fromSendEvent) {
|
||||
// Do not trust the position, query it instead.
|
||||
xcb_translate_coordinates_cookie_t cookie = xcb_translate_coordinates(xcb_connection(), xcb_window(),
|
||||
@ -489,17 +507,16 @@
|
||||
xcb_translate_coordinates_reply_t *reply = xcb_translate_coordinates_reply(xcb_connection(), cookie, NULL);
|
||||
if (reply) {
|
||||
pos.setX(reply->dst_x);
|
||||
@@ -1853,8 +1853,7 @@ void QXcbWindow::handleConfigureNotifyEv
|
||||
@@ -1888,7 +1888,7 @@ void QXcbWindow::handleConfigureNotifyEvent(const xcb_configure_notify_event_t *
|
||||
QWindowSystemInterface::handleGeometryChange(window(), rect);
|
||||
|
||||
QPlatformScreen *newScreen = screenForGeometry(rect);
|
||||
QPlatformScreen *newScreen = screenForNativeGeometry(nativeRect);
|
||||
- if (newScreen != m_screen) {
|
||||
- m_screen = static_cast<QXcbScreen*>(newScreen);
|
||||
+ if (newScreen != screen()) {
|
||||
m_screen = static_cast<QXcbScreen*>(newScreen);
|
||||
QWindowSystemInterface::handleWindowScreenChanged(window(), newScreen->screen());
|
||||
}
|
||||
|
||||
@@ -1892,7 +1891,7 @@ QPoint QXcbWindow::mapToGlobal(const QPo
|
||||
int newDpr = devicePixelRatio();
|
||||
@@ -1933,7 +1933,7 @@ QPoint QXcbWindow::mapToGlobal(const QPoint &pos) const
|
||||
const int dpr = int(devicePixelRatio());
|
||||
QPoint ret;
|
||||
xcb_translate_coordinates_cookie_t cookie =
|
||||
@ -508,7 +525,7 @@
|
||||
pos.x() * dpr, pos.y() * dpr);
|
||||
xcb_translate_coordinates_reply_t *reply =
|
||||
xcb_translate_coordinates_reply(xcb_connection(), cookie, NULL);
|
||||
@@ -1913,7 +1912,7 @@ QPoint QXcbWindow::mapFromGlobal(const Q
|
||||
@@ -1954,7 +1954,7 @@ QPoint QXcbWindow::mapFromGlobal(const QPoint &pos) const
|
||||
const int dpr = int(devicePixelRatio());
|
||||
QPoint ret;
|
||||
xcb_translate_coordinates_cookie_t cookie =
|
||||
@ -517,7 +534,7 @@
|
||||
pos.x() *dpr, pos.y() * dpr);
|
||||
xcb_translate_coordinates_reply_t *reply =
|
||||
xcb_translate_coordinates_reply(xcb_connection(), cookie, NULL);
|
||||
@@ -2136,8 +2135,8 @@ void QXcbWindow::handlePropertyNotifyEve
|
||||
@@ -2178,8 +2178,8 @@ void QXcbWindow::handlePropertyNotifyEvent(const xcb_property_notify_event_t *ev
|
||||
m_windowState = newState;
|
||||
}
|
||||
return;
|
||||
@ -528,7 +545,7 @@
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2260,7 +2259,7 @@ bool QXcbWindow::startSystemResize(const
|
||||
@@ -2308,7 +2308,7 @@ bool QXcbWindow::startSystemResize(const QPoint &pos, Qt::Corner corner)
|
||||
xev.data.data32[3] = XCB_BUTTON_INDEX_1;
|
||||
xev.data.data32[4] = 0;
|
||||
xcb_ungrab_pointer(connection()->xcb_connection(), XCB_CURRENT_TIME);
|
||||
@ -537,7 +554,7 @@
|
||||
XCB_EVENT_MASK_SUBSTRUCTURE_REDIRECT | XCB_EVENT_MASK_SUBSTRUCTURE_NOTIFY,
|
||||
(const char *)&xev);
|
||||
return true;
|
||||
@@ -2396,13 +2395,18 @@ void QXcbWindow::postSyncWindowRequest()
|
||||
@@ -2444,13 +2444,18 @@ void QXcbWindow::postSyncWindowRequest()
|
||||
if (!m_pendingSyncRequest) {
|
||||
QXcbSyncWindowRequest *e = new QXcbSyncWindowRequest(this);
|
||||
m_pendingSyncRequest = e;
|
||||
@ -558,8 +575,10 @@
|
||||
}
|
||||
|
||||
QT_END_NAMESPACE
|
||||
--- qtbase-opensource-src-5.4.0/src/plugins/platforms/xcb/qxcbwindow.h 2014-12-05 17:24:37.000000000 +0100
|
||||
+++ qtbase-opensource-src-5.4.0/src/plugins/platforms/xcb/qxcbwindow.h 2015-01-31 23:25:18.560692091 +0100
|
||||
diff --git a/src/plugins/platforms/xcb/qxcbwindow.h b/src/plugins/platforms/xcb/qxcbwindow.h
|
||||
index 254421e..966a834 100644
|
||||
--- a/src/plugins/platforms/xcb/qxcbwindow.h
|
||||
+++ b/src/plugins/platforms/xcb/qxcbwindow.h
|
||||
@@ -152,6 +152,8 @@ public:
|
||||
void postSyncWindowRequest();
|
||||
void clearSyncWindowRequest() { m_pendingSyncRequest = 0; }
|
||||
@ -568,8 +587,8 @@
|
||||
+
|
||||
qreal devicePixelRatio() const;
|
||||
|
||||
public Q_SLOTS:
|
||||
@@ -186,8 +188,6 @@ private:
|
||||
QPlatformScreen *screenForNativeGeometry(const QRect &newGeometry) const;
|
||||
@@ -188,8 +190,6 @@ private:
|
||||
void doFocusIn();
|
||||
void doFocusOut();
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user