summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry Shachnev <mitya57@gmail.com>2017-02-16 11:05:42 +0300
committerDmitry Shachnev <mitya57@gmail.com>2017-02-16 11:05:42 +0300
commit1dc752132886cd603266a263ecaa6f41020689f7 (patch)
tree7df076bdd288eec1dd3984d3537ece1f112f8980
parentcb6554f54dee8415868daaa85eb017add7f91ff5 (diff)
downloadqtbase-1dc752132886cd603266a263ecaa6f41020689f7.tar.gz
Replace qvncscreen_semicolon.diff with a more complete patch.
-rw-r--r--debian/changelog2
-rw-r--r--debian/patches/qvncscreen_semicolon.diff16
-rw-r--r--debian/patches/series2
-rw-r--r--debian/patches/vnc_big_endian.diff75
4 files changed, 78 insertions, 17 deletions
diff --git a/debian/changelog b/debian/changelog
index c67ae63..71746cb 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -3,6 +3,8 @@ qtbase-opensource-src (5.8.0+dfsg-3) UNRELEASED; urgency=medium
[ Dmitry Shachnev ]
* Mark the private parts of QtEglFSDeviceIntegration as non-Hurd too.
* Mark hurd_tilde.diff as applied upstream.
+ * Replace qvncscreen_semicolon.diff with a more complete patch from
+ Shawn Rutledge (vnc_big_endian.diff).
-- Debian Qt/KDE Maintainers <debian-qt-kde@lists.debian.org> Thu, 16 Feb 2017 10:51:02 +0300
diff --git a/debian/patches/qvncscreen_semicolon.diff b/debian/patches/qvncscreen_semicolon.diff
deleted file mode 100644
index 794d85a..0000000
--- a/debian/patches/qvncscreen_semicolon.diff
+++ /dev/null
@@ -1,16 +0,0 @@
-Description: add missing semicolon after member function declaration
-Author: Dmitry Shachnev <mitya57@debian.org>
-Forwarded: https://codereview.qt-project.org/185207
-Last-Update: 2017-02-10
-
---- a/src/plugins/platforms/vnc/qvncscreen.h
-+++ b/src/plugins/platforms/vnc/qvncscreen.h
-@@ -73,7 +73,7 @@
- void clearDirty() { dirtyRegion = QRegion(); }
-
- #if Q_BYTE_ORDER == Q_BIG_ENDIAN
-- bool swapBytes() const
-+ bool swapBytes() const;
- #endif
-
- QStringList mArgs;
diff --git a/debian/patches/series b/debian/patches/series
index dda5b65..1f330aa 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -4,7 +4,7 @@ qsettings_XDG_CONFIG_DIRS.diff
hurd_tilde.diff
# Forwarded upstream
-qvncscreen_semicolon.diff
+vnc_big_endian.diff
# Debian specific.
no_dbus_dependency.diff
diff --git a/debian/patches/vnc_big_endian.diff b/debian/patches/vnc_big_endian.diff
new file mode 100644
index 0000000..3c79d85
--- /dev/null
+++ b/debian/patches/vnc_big_endian.diff
@@ -0,0 +1,75 @@
+Description: fix VNC platform plugin build on big-endian machines
+Author: Shawn Rutledge <shawn.rutledge@digia.com>
+Origin: https://codereview.qt-project.org/185248
+Last-Update: 2017-02-16
+
+--- a/src/plugins/platforms/vnc/qvncclient.cpp
++++ b/src/plugins/platforms/vnc/qvncclient.cpp
+@@ -142,7 +142,7 @@
+ case 16: {
+ quint16 p = *reinterpret_cast<const quint16*>(src);
+ #if Q_BYTE_ORDER == Q_BIG_ENDIAN
+- if (swapBytes)
++ if (m_swapBytes)
+ p = ((p & 0xff) << 8) | ((p & 0xff00) >> 8);
+ #endif
+ r = (p >> 11) & 0x1f;
+@@ -484,7 +484,7 @@
+ m_sameEndian = (QSysInfo::ByteOrder == QSysInfo::BigEndian) == !!m_pixelFormat.bigEndian;
+ m_needConversion = pixelConversionNeeded();
+ #if Q_BYTE_ORDER == Q_BIG_ENDIAN
+- m_swapBytes = qvnc_screen->swapBytes();
++ m_swapBytes = server()->screen()->swapBytes();
+ #endif
+ }
+ }
+@@ -639,7 +639,7 @@
+ return true;
+
+ #if Q_BYTE_ORDER == Q_BIG_ENDIAN
+- if (qvnc_screen->swapBytes())
++ if (server()->screen()->swapBytes())
+ return true;
+ #endif
+
+--- a/src/plugins/platforms/vnc/qvncscreen.cpp
++++ b/src/plugins/platforms/vnc/qvncscreen.cpp
+@@ -43,6 +43,7 @@
+ #include <QtFbSupport/private/qfbcursor_p.h>
+
+ #include <QtGui/QPainter>
++#include <QtGui/QScreen>
+ #include <QtCore/QRegularExpression>
+
+
+@@ -172,14 +173,18 @@
+ }
+
+ #if Q_BYTE_ORDER == Q_BIG_ENDIAN
+-bool QVNCScreen::swapBytes() const
++bool QVncScreen::swapBytes() const
+ {
++ return false;
++
++ /* TODO
+ if (depth() != 16)
+ return false;
+
+ if (screen())
+ return screen()->frameBufferLittleEndian();
+ return frameBufferLittleEndian();
++ */
+ }
+ #endif
+
+--- a/src/plugins/platforms/vnc/qvncscreen.h
++++ b/src/plugins/platforms/vnc/qvncscreen.h
+@@ -73,7 +73,7 @@
+ void clearDirty() { dirtyRegion = QRegion(); }
+
+ #if Q_BYTE_ORDER == Q_BIG_ENDIAN
+- bool swapBytes() const
++ bool swapBytes() const;
+ #endif
+
+ QStringList mArgs;