mirror of
https://github.com/archlinuxarm/PKGBUILDs.git
synced 2025-01-17 23:34:07 +00:00
extra/qt5 to 5.5.1-1
This commit is contained in:
parent
f36d8b5b79
commit
098adde256
4 changed files with 4 additions and 210 deletions
|
@ -12,6 +12,8 @@
|
|||
# - drop webengine package and skip in configure
|
||||
# - patch for AArch64 support in qtwebkit
|
||||
|
||||
highmem=1
|
||||
|
||||
pkgbase=qt5
|
||||
pkgname=('qt5-3d'
|
||||
'qt5-base'
|
||||
|
@ -38,8 +40,8 @@ pkgname=('qt5-3d'
|
|||
'qt5-websockets'
|
||||
'qt5-x11extras'
|
||||
'qt5-xmlpatterns')
|
||||
pkgver=5.5.0
|
||||
pkgrel=2
|
||||
pkgver=5.5.1
|
||||
pkgrel=1
|
||||
arch=('i686' 'x86_64')
|
||||
url='http://www.qt.io/developers'
|
||||
license=('GPL3' 'LGPL' 'FDL' 'custom')
|
||||
|
@ -54,9 +56,6 @@ groups=('qt' 'qt5')
|
|||
_pkgfqn="qt-everywhere-opensource-src-${pkgver}"
|
||||
source=("http://download.qt-project.org/official_releases/qt/${pkgver%.*}/${pkgver}/single/${_pkgfqn}.tar.xz"
|
||||
'assistant.desktop' 'designer.desktop' 'linguist.desktop' 'qdbusviewer.desktop'
|
||||
'keypad-shortcuts.patch'
|
||||
'ae51e360f986698eaf41fdb38f8a878a50f69be1.patch'
|
||||
'b0b08cc0e4e38504d6b833702f7477aee4e2a192.patch'
|
||||
'qt5webkit-0002-Fix-QtWebKit-build-on-ARM-softfp.patch'
|
||||
'0001-Add-ARM-64-support.patch')
|
||||
md5sums=('65d5282f3dee0336da9ed1f77148952f'
|
||||
|
@ -64,21 +63,11 @@ md5sums=('65d5282f3dee0336da9ed1f77148952f'
|
|||
'76e150b20178d2d43801f7367232e5f7'
|
||||
'188da8f4c87316e730ebf1c6217bf5a0'
|
||||
'322b419b16c75d4de0ee7ad0a246caa1'
|
||||
'665439088fc7de52a97455c5eaf87889'
|
||||
'4587b9a9438a8e86235a1c1b26dce1e8'
|
||||
'cea675fa4b394653e3bc9f80f9edf4b0'
|
||||
'd55ad1f1c90725834b44eada5db4e401')
|
||||
|
||||
prepare() {
|
||||
cd ${_pkgfqn}
|
||||
|
||||
# https://bugs.archlinux.org/task/44676
|
||||
(cd qtbase; patch -p1 -i "$srcdir/keypad-shortcuts.patch")
|
||||
|
||||
# https://bugs.archlinux.org/task/43986
|
||||
(cd qtbase; patch -p1 -i "$srcdir/ae51e360f986698eaf41fdb38f8a878a50f69be1.patch"
|
||||
patch -p1 -i "$srcdir/b0b08cc0e4e38504d6b833702f7477aee4e2a192.patch")
|
||||
|
||||
# Build qmake using Arch {C,LD}FLAGS
|
||||
# This also sets default {C,CXX,LD}FLAGS for projects built using qmake
|
||||
sed -i -e "s|^\(QMAKE_CFLAGS_RELEASE.*\)|\1 ${CFLAGS}|" \
|
||||
|
|
|
@ -1,56 +0,0 @@
|
|||
From ae51e360f986698eaf41fdb38f8a878a50f69be1 Mon Sep 17 00:00:00 2001
|
||||
From: Alexander Volkov <a.volkov@rusbitech.ru>
|
||||
Date: Fri, 19 Jun 2015 13:34:11 +0300
|
||||
Subject: [PATCH] xcb: Ignore disabling of outputs in the middle of the mode
|
||||
switch
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=utf8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
X server may send RROutputChangeNotify event with null crtc and mode,
|
||||
when it switches an output mode. Request RROutputInfo to distinguish
|
||||
this case from the case when the output is explicitly disabled.
|
||||
|
||||
Change-Id: I4c2356ec71dbcc8013009ea8a6f46dd11f19d6bb
|
||||
Task-number: QTBUG-44158
|
||||
Task-number: QTBUG-46786
|
||||
Task-number: QTBUG-46822
|
||||
Reviewed-by: Daniel Vrátil <dvratil@redhat.com>
|
||||
Reviewed-by: Gatis Paeglis <gatis.paeglis@digia.com>
|
||||
Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
|
||||
---
|
||||
src/plugins/platforms/xcb/qxcbconnection.cpp | 18 +++++++++++++-----
|
||||
1 file changed, 13 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/src/plugins/platforms/xcb/qxcbconnection.cpp b/src/plugins/platforms/xcb/qxcbconnection.cpp
|
||||
index 0867615..29e1fd1 100644
|
||||
--- a/src/plugins/platforms/xcb/qxcbconnection.cpp
|
||||
+++ b/src/plugins/platforms/xcb/qxcbconnection.cpp
|
||||
@@ -265,11 +265,19 @@ void QXcbConnection::updateScreens(const xcb_randr_notify_event_t *event)
|
||||
} else if (screen) {
|
||||
// Screen has been disabled -> remove
|
||||
if (output.crtc == XCB_NONE && output.mode == XCB_NONE) {
|
||||
- qCDebug(lcQpaScreen) << "output" << screen->name() << "has been disabled";
|
||||
- m_screens.removeOne(screen);
|
||||
- foreach (QXcbScreen *otherScreen, m_screens)
|
||||
- otherScreen->removeVirtualSibling((QPlatformScreen *) screen);
|
||||
- QXcbIntegration::instance()->destroyScreen(screen);
|
||||
+ xcb_randr_get_output_info_cookie_t outputInfoCookie =
|
||||
+ xcb_randr_get_output_info(xcb_connection(), output.output, output.config_timestamp);
|
||||
+ QScopedPointer<xcb_randr_get_output_info_reply_t, QScopedPointerPodDeleter> outputInfo(
|
||||
+ xcb_randr_get_output_info_reply(xcb_connection(), outputInfoCookie, NULL));
|
||||
+ if (outputInfo->crtc == XCB_NONE) {
|
||||
+ qCDebug(lcQpaScreen) << "output" << screen->name() << "has been disabled";
|
||||
+ m_screens.removeOne(screen);
|
||||
+ foreach (QXcbScreen *otherScreen, m_screens)
|
||||
+ otherScreen->removeVirtualSibling((QPlatformScreen *) screen);
|
||||
+ QXcbIntegration::instance()->destroyScreen(screen);
|
||||
+ } else {
|
||||
+ qCDebug(lcQpaScreen) << "output" << screen->name() << "has been temporarily disabled for the mode switch";
|
||||
+ }
|
||||
} else {
|
||||
// Just update existing screen
|
||||
screen->updateGeometry(output.config_timestamp);
|
||||
--
|
||||
2.3.5
|
||||
|
|
@ -1,45 +0,0 @@
|
|||
From b0b08cc0e4e38504d6b833702f7477aee4e2a192 Mon Sep 17 00:00:00 2001
|
||||
From: Ralf Jung <post@ralfj.de>
|
||||
Date: Sun, 5 Jul 2015 12:15:29 +0200
|
||||
Subject: [PATCH] When a screen comes back online, the windows need to be told
|
||||
about it
|
||||
|
||||
On my system, this fixes the misbehavior of Qt applications when the (only) active screen is
|
||||
switched, e.g. from an external screen to the laptop.
|
||||
This behavior is caused by the screen() of widgets to be set to NULL when their screen goes away.
|
||||
When a new screen comes online, the widgets *should* be told about it, but they are not. The only
|
||||
place that "maybeSetScreen" is called is when an existing screen changes its geometry, but not
|
||||
when a screen gets enabled without its geometry being affected in any way (e.g. because it was
|
||||
just disabled via xrandr, but has been connected all along). This makes sure that "maybeSetScreen"
|
||||
is also called when a screen gets enabled.
|
||||
|
||||
Task-number: QTBUG-47041
|
||||
Change-Id: Ic72d6beaa544bf9a4efdbea0830b1bc0d6ce5362
|
||||
Reviewed-by: Dmitry Shachnev <mitya57@gmail.com>
|
||||
Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
|
||||
---
|
||||
src/plugins/platforms/xcb/qxcbconnection.cpp | 8 ++++++++
|
||||
1 file changed, 8 insertions(+)
|
||||
|
||||
diff --git a/src/plugins/platforms/xcb/qxcbconnection.cpp b/src/plugins/platforms/xcb/qxcbconnection.cpp
|
||||
index 74f48b0..0867615 100644
|
||||
--- a/src/plugins/platforms/xcb/qxcbconnection.cpp
|
||||
+++ b/src/plugins/platforms/xcb/qxcbconnection.cpp
|
||||
@@ -252,6 +252,14 @@ void QXcbConnection::updateScreens(const xcb_randr_notify_event_t *event)
|
||||
otherScreen->addVirtualSibling(screen);
|
||||
m_screens << screen;
|
||||
QXcbIntegration::instance()->screenAdded(screen, screen->isPrimary());
|
||||
+
|
||||
+ // Windows which had null screens have already had expose events by now.
|
||||
+ // They need to be told the screen is back, it's OK to render.
|
||||
+ foreach (QWindow *window, QGuiApplication::topLevelWindows()) {
|
||||
+ QXcbWindow *xcbWin = static_cast<QXcbWindow*>(window->handle());
|
||||
+ if (xcbWin)
|
||||
+ xcbWin->maybeSetScreen(screen);
|
||||
+ }
|
||||
}
|
||||
// else ignore disabled screens
|
||||
} else if (screen) {
|
||||
--
|
||||
2.3.5
|
||||
|
|
@ -1,94 +0,0 @@
|
|||
From c137502c7fd7550c780c9531ec414098d8101757 Mon Sep 17 00:00:00 2001
|
||||
From: Alexander Volkov <a.volkov@rusbitech.ru>
|
||||
Date: Thu, 18 Sep 2014 16:16:26 +0400
|
||||
Subject: Fix shortcuts with keypad keys
|
||||
|
||||
The way of searching a shortcut match for a key without the keypad
|
||||
modifier introduced in 547a1bea492954d828aa0798be93384669812489 is
|
||||
not correct. QKeyEvent::setModifiers() doesn't change native scan code
|
||||
so we get the incorrect QKeyEvent object which is eventually passed to
|
||||
the implementation of QPlatformIntegration::possibleKeys().
|
||||
And then QPlatformIntegration::possibleKeys() returns the same result
|
||||
as for the original QKeyEvent object.
|
||||
|
||||
So to fix it we have to remove Qt::KeypadModifier from keys after
|
||||
calling the implementation of QPlatformIntegration::possibleKeys(),
|
||||
as it was before 547a1bea492954d828aa0798be93384669812489.
|
||||
|
||||
Task-number: QTBUG-33093
|
||||
Task-number: QTBUG-20191
|
||||
Change-Id: I5b33c9b6cf2c06b133166a31eba9aff9181c9483
|
||||
---
|
||||
src/gui/kernel/qshortcutmap.cpp | 12 +++++-------
|
||||
src/gui/kernel/qshortcutmap_p.h | 4 ++--
|
||||
2 files changed, 7 insertions(+), 9 deletions(-)
|
||||
|
||||
diff --git a/src/gui/kernel/qshortcutmap.cpp b/src/gui/kernel/qshortcutmap.cpp
|
||||
index c915ed39..c13c82c 100644
|
||||
--- a/src/gui/kernel/qshortcutmap.cpp
|
||||
+++ b/src/gui/kernel/qshortcutmap.cpp
|
||||
@@ -388,9 +388,7 @@ QKeySequence::SequenceMatch QShortcutMap::nextState(QKeyEvent *e)
|
||||
result = find(e);
|
||||
if (result == QKeySequence::NoMatch && (e->modifiers() & Qt::KeypadModifier)) {
|
||||
// Try to find a match without keypad modifier
|
||||
- QKeyEvent event = *e;
|
||||
- event.setModifiers(e->modifiers() & ~Qt::KeypadModifier);
|
||||
- result = find(&event);
|
||||
+ result = find(e, Qt::KeypadModifier);
|
||||
}
|
||||
if (result == QKeySequence::NoMatch && e->modifiers() & Qt::ShiftModifier) {
|
||||
// If Shift + Key_Backtab, also try Shift + Qt::Key_Tab
|
||||
@@ -443,13 +441,13 @@ bool QShortcutMap::hasShortcutForKeySequence(const QKeySequence &seq) const
|
||||
which can be access through matches().
|
||||
\sa matches
|
||||
*/
|
||||
-QKeySequence::SequenceMatch QShortcutMap::find(QKeyEvent *e)
|
||||
+QKeySequence::SequenceMatch QShortcutMap::find(QKeyEvent *e, int ignoredModifiers)
|
||||
{
|
||||
Q_D(QShortcutMap);
|
||||
if (!d->sequences.count())
|
||||
return QKeySequence::NoMatch;
|
||||
|
||||
- createNewSequences(e, d->newEntries);
|
||||
+ createNewSequences(e, d->newEntries, ignoredModifiers);
|
||||
#if defined(DEBUG_QSHORTCUTMAP)
|
||||
qDebug() << "Possible shortcut key sequences:" << d->newEntries;
|
||||
#endif
|
||||
@@ -551,7 +549,7 @@ void QShortcutMap::clearSequence(QVector<QKeySequence> &ksl)
|
||||
Alters \a seq to the new sequence state, based on the
|
||||
current sequence state, and the new key event \a e.
|
||||
*/
|
||||
-void QShortcutMap::createNewSequences(QKeyEvent *e, QVector<QKeySequence> &ksl)
|
||||
+void QShortcutMap::createNewSequences(QKeyEvent *e, QVector<QKeySequence> &ksl, int ignoredModifiers)
|
||||
{
|
||||
Q_D(QShortcutMap);
|
||||
QList<int> possibleKeys = QKeyMapper::possibleKeys(e);
|
||||
@@ -581,7 +579,7 @@ void QShortcutMap::createNewSequences(QKeyEvent *e, QVector<QKeySequence> &ksl)
|
||||
curKsl.setKey(0, 2);
|
||||
curKsl.setKey(0, 3);
|
||||
}
|
||||
- curKsl.setKey(possibleKeys.at(pkNum), index);
|
||||
+ curKsl.setKey(possibleKeys.at(pkNum) & ~ignoredModifiers, index);
|
||||
}
|
||||
}
|
||||
}
|
||||
diff --git a/src/gui/kernel/qshortcutmap_p.h b/src/gui/kernel/qshortcutmap_p.h
|
||||
index 3959c2c..39a8eac 100644
|
||||
--- a/src/gui/kernel/qshortcutmap_p.h
|
||||
+++ b/src/gui/kernel/qshortcutmap_p.h
|
||||
@@ -96,10 +96,10 @@ private:
|
||||
QKeySequence::SequenceMatch state();
|
||||
void dispatchEvent(QKeyEvent *e);
|
||||
|
||||
- QKeySequence::SequenceMatch find(QKeyEvent *e);
|
||||
+ QKeySequence::SequenceMatch find(QKeyEvent *e, int ignoredModifiers = 0);
|
||||
QKeySequence::SequenceMatch matches(const QKeySequence &seq1, const QKeySequence &seq2) const;
|
||||
QVector<const QShortcutEntry *> matches() const;
|
||||
- void createNewSequences(QKeyEvent *e, QVector<QKeySequence> &ksl);
|
||||
+ void createNewSequences(QKeyEvent *e, QVector<QKeySequence> &ksl, int ignoredModifiers);
|
||||
void clearSequence(QVector<QKeySequence> &ksl);
|
||||
int translateModifiers(Qt::KeyboardModifiers modifiers);
|
||||
|
||||
--
|
||||
cgit v0.11.0
|
||||
|
Loading…
Reference in a new issue