sync w/devel branch (for 4.5.3)
This commit is contained in:
parent
9a5bc66ccf
commit
4101233f14
|
@ -1,11 +1,10 @@
|
|||
hi128-app-qt4-logo.png
|
||||
hi48-app-qt4-logo.png
|
||||
gstreamer-logo.svg
|
||||
qt-x11-opensource-src-4.5.2.tar.bz2
|
||||
qt-copy-patches-20090626svn.tar.bz2
|
||||
hi128-phonon-gstreamer.png
|
||||
hi16-phonon-gstreamer.png
|
||||
hi22-phonon-gstreamer.png
|
||||
hi32-phonon-gstreamer.png
|
||||
hi48-phonon-gstreamer.png
|
||||
hi64-phonon-gstreamer.png
|
||||
qt-x11-opensource-src-4.5.3.tar.gz
|
||||
|
|
|
@ -0,0 +1,117 @@
|
|||
From b48e2091871516496cf0b133249fbf5326a55831 Mon Sep 17 00:00:00 2001
|
||||
From: Lubos Lunak <l.lunak@kde.org>
|
||||
Date: Sat, 23 Feb 2008 16:44:52 +0100
|
||||
Subject: [PATCH 01/18] This patch uses object name as a fallback for window role if no window
|
||||
role is set explicitly using setWindowRole(). Since Qt3 always used
|
||||
the object name as the window role and most Qt3/KDE3 code is ported to
|
||||
call setObjectName(),
|
||||
|
||||
this makes the window role set in many cases (which KWin uses for window identifying).
|
||||
|
||||
NOTE: It is suggested to apply patch #0209 as well when this patch is used.
|
||||
|
||||
qt-bugs@ issue : 167704
|
||||
Trolltech task ID : 168283 (status: "fixed" for Qt 4.4.0, but effectively refused)
|
||||
---
|
||||
src/corelib/kernel/qobject.cpp | 8 ++++++++
|
||||
src/corelib/kernel/qobject_p.h | 3 +++
|
||||
src/gui/kernel/qwidget_p.h | 1 +
|
||||
src/gui/kernel/qwidget_x11.cpp | 27 +++++++++++++++++++++------
|
||||
4 files changed, 33 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/src/corelib/kernel/qobject.cpp b/src/corelib/kernel/qobject.cpp
|
||||
index 6487194..ef0369e 100644
|
||||
--- a/src/corelib/kernel/qobject.cpp
|
||||
+++ b/src/corelib/kernel/qobject.cpp
|
||||
@@ -993,8 +993,16 @@ void QObject::setObjectName(const QString &name)
|
||||
{
|
||||
Q_D(QObject);
|
||||
d->objectName = name;
|
||||
+#if defined(Q_WS_X11)
|
||||
+ d->checkWindowRole();
|
||||
+#endif
|
||||
}
|
||||
|
||||
+#if defined(Q_WS_X11)
|
||||
+void QObjectPrivate::checkWindowRole()
|
||||
+{
|
||||
+}
|
||||
+#endif
|
||||
|
||||
#ifdef QT3_SUPPORT
|
||||
/*! \internal
|
||||
diff --git a/src/corelib/kernel/qobject_p.h b/src/corelib/kernel/qobject_p.h
|
||||
index 0bcccba..6ab9e10 100644
|
||||
--- a/src/corelib/kernel/qobject_p.h
|
||||
+++ b/src/corelib/kernel/qobject_p.h
|
||||
@@ -144,6 +144,9 @@ public:
|
||||
mutable quint32 connectedSignals;
|
||||
|
||||
QString objectName;
|
||||
+#if defined(Q_WS_X11)
|
||||
+ virtual void checkWindowRole();
|
||||
+#endif
|
||||
|
||||
// Note: you must hold the signalSlotLock() before accessing the lists below or calling the functions
|
||||
struct Connection
|
||||
diff --git a/src/gui/kernel/qwidget_p.h b/src/gui/kernel/qwidget_p.h
|
||||
index 774e390..176d6fa 100644
|
||||
--- a/src/gui/kernel/qwidget_p.h
|
||||
+++ b/src/gui/kernel/qwidget_p.h
|
||||
@@ -358,6 +358,7 @@ public:
|
||||
|
||||
#if defined(Q_WS_X11)
|
||||
void setWindowRole();
|
||||
+ virtual void checkWindowRole();
|
||||
void sendStartupMessage(const char *message) const;
|
||||
void setNetWmWindowTypes();
|
||||
void x11UpdateIsOpaque();
|
||||
diff --git a/src/gui/kernel/qwidget_x11.cpp b/src/gui/kernel/qwidget_x11.cpp
|
||||
index 79ee8c9..b56849c 100644
|
||||
--- a/src/gui/kernel/qwidget_x11.cpp
|
||||
+++ b/src/gui/kernel/qwidget_x11.cpp
|
||||
@@ -778,13 +778,17 @@ void QWidgetPrivate::create_sys(WId window, bool initializeWindow, bool destroyO
|
||||
data.fstrut_dirty = 1;
|
||||
|
||||
// declare the widget's window role
|
||||
+ QByteArray windowRole;
|
||||
if (QTLWExtra *topData = maybeTopData()) {
|
||||
- if (!topData->role.isEmpty()) {
|
||||
- QByteArray windowRole = topData->role.toUtf8();
|
||||
- XChangeProperty(dpy, id,
|
||||
- ATOM(WM_WINDOW_ROLE), XA_STRING, 8, PropModeReplace,
|
||||
- (unsigned char *)windowRole.constData(), windowRole.length());
|
||||
- }
|
||||
+ if (!topData->role.isEmpty())
|
||||
+ windowRole = topData->role.toUtf8();
|
||||
+ }
|
||||
+ if (windowRole.isEmpty()) // use object name as a fallback
|
||||
+ windowRole = objectName.toUtf8();
|
||||
+ if (!windowRole.isEmpty()) {
|
||||
+ XChangeProperty(dpy, id,
|
||||
+ ATOM(WM_WINDOW_ROLE), XA_STRING, 8, PropModeReplace,
|
||||
+ (unsigned char *)windowRole.constData(), windowRole.length());
|
||||
}
|
||||
|
||||
// set client leader property
|
||||
@@ -2768,6 +2772,17 @@ void QWidgetPrivate::setWindowRole()
|
||||
(unsigned char *)windowRole.constData(), windowRole.length());
|
||||
}
|
||||
|
||||
+void QWidgetPrivate::checkWindowRole()
|
||||
+{
|
||||
+ Q_Q(QWidget);
|
||||
+ if( !q->windowRole().isEmpty() || !q->internalWinId())
|
||||
+ return;
|
||||
+ QByteArray windowRole = objectName.toUtf8(); // use as a fallback
|
||||
+ XChangeProperty(X11->display, q->internalWinId(),
|
||||
+ ATOM(WM_WINDOW_ROLE), XA_STRING, 8, PropModeReplace,
|
||||
+ (unsigned char *)windowRole.constData(), windowRole.length());
|
||||
+}
|
||||
+
|
||||
Q_GLOBAL_STATIC(QX11PaintEngine, qt_widget_paintengine)
|
||||
QPaintEngine *QWidget::paintEngine() const
|
||||
{
|
||||
--
|
||||
1.6.2.5
|
||||
|
|
@ -0,0 +1,67 @@
|
|||
From 339e220e29ff39b86705438b4be6f90e5618d27b Mon Sep 17 00:00:00 2001
|
||||
From: Lubos Lunak <l.lunak@kde.org>
|
||||
Date: Tue, 2 Oct 2007 16:08:32 +0200
|
||||
Subject: [PATCH 02/18] This patch makes override-redirect windows (popup menu, dropdown menu,
|
||||
tooltip, combobox, etc.) also have more window properties like WM_CLASS,
|
||||
so they can be used when compositing.
|
||||
|
||||
qt-bugs@ issue : none
|
||||
bugs.kde.org number : none
|
||||
---
|
||||
src/gui/kernel/qwidget_x11.cpp | 21 +++++++++++++++------
|
||||
1 files changed, 15 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/src/gui/kernel/qwidget_x11.cpp b/src/gui/kernel/qwidget_x11.cpp
|
||||
index 79ee8c9..a74a849 100644
|
||||
--- a/src/gui/kernel/qwidget_x11.cpp
|
||||
+++ b/src/gui/kernel/qwidget_x11.cpp
|
||||
@@ -719,6 +719,11 @@ void QWidgetPrivate::create_sys(WId window, bool initializeWindow, bool destroyO
|
||||
Q_ASSERT(id);
|
||||
XChangeWindowAttributes(dpy, id, CWOverrideRedirect | CWSaveUnder,
|
||||
&wsa);
|
||||
+ XClassHint class_hint;
|
||||
+ QByteArray appName = qAppName().toLatin1();
|
||||
+ class_hint.res_name = appName.data(); // application name
|
||||
+ class_hint.res_class = const_cast<char *>(QX11Info::appClass()); // application class
|
||||
+ XSetWMProperties(dpy, id, 0, 0, 0, 0, 0, 0, &class_hint);
|
||||
} else if (topLevel && !desktop) { // top-level widget
|
||||
if (!X11->wm_client_leader)
|
||||
create_wm_client_leader();
|
||||
@@ -769,13 +774,21 @@ void QWidgetPrivate::create_sys(WId window, bool initializeWindow, bool destroyO
|
||||
// set EWMH window types
|
||||
setNetWmWindowTypes();
|
||||
|
||||
+ // when we create a toplevel widget, the frame strut should be dirty
|
||||
+ data.fstrut_dirty = 1;
|
||||
+
|
||||
+ } else {
|
||||
+ // non-toplevel widgets don't have a frame, so no need to
|
||||
+ // update the strut
|
||||
+ data.fstrut_dirty = 0;
|
||||
+ }
|
||||
+
|
||||
+ if (initializeWindow && (popup || (topLevel && !desktop))) { // properties set on all toplevel windows
|
||||
// set _NET_WM_PID
|
||||
long curr_pid = getpid();
|
||||
XChangeProperty(dpy, id, ATOM(_NET_WM_PID), XA_CARDINAL, 32, PropModeReplace,
|
||||
(unsigned char *) &curr_pid, 1);
|
||||
|
||||
- // when we create a toplevel widget, the frame strut should be dirty
|
||||
- data.fstrut_dirty = 1;
|
||||
|
||||
// declare the widget's window role
|
||||
if (QTLWExtra *topData = maybeTopData()) {
|
||||
@@ -791,10 +804,6 @@ void QWidgetPrivate::create_sys(WId window, bool initializeWindow, bool destroyO
|
||||
XChangeProperty(dpy, id, ATOM(WM_CLIENT_LEADER),
|
||||
XA_WINDOW, 32, PropModeReplace,
|
||||
(unsigned char *)&X11->wm_client_leader, 1);
|
||||
- } else {
|
||||
- // non-toplevel widgets don't have a frame, so no need to
|
||||
- // update the strut
|
||||
- data.fstrut_dirty = 0;
|
||||
}
|
||||
|
||||
if (initializeWindow && q->internalWinId()) {
|
||||
--
|
||||
1.6.2.5
|
||||
|
|
@ -0,0 +1,37 @@
|
|||
From 68eaa07de69e873b89d4aba341c6ed1ca81f6819 Mon Sep 17 00:00:00 2001
|
||||
From: Lubos Lunak <l.lunak@kde.org>
|
||||
Date: Wed, 30 Jan 2008 14:24:01 +0100
|
||||
Subject: [PATCH 03/18] This patch changes QObjectPrivateVersion, thus preventing mixing
|
||||
parts of upstream Qt and qt-copy. In general it is a bad idea to mix
|
||||
e.g. libQtCore from one build and libQtGui from another one, and other
|
||||
qt-copy patches could make changes in Qt internal structures that could
|
||||
cause problems when mixed with upstream Qt.
|
||||
|
||||
This patch does not make qt-copy binary incompatible with upstream Qt.
|
||||
It only further enforces using the same sources for the whole Qt build.
|
||||
|
||||
qt-bugs@ issue : none
|
||||
Trolltech task ID : none
|
||||
bugs.kde.org number : none
|
||||
---
|
||||
src/corelib/kernel/qobject_p.h | 4 +++-
|
||||
1 files changed, 3 insertions(+), 1 deletions(-)
|
||||
|
||||
diff --git a/src/corelib/kernel/qobject_p.h b/src/corelib/kernel/qobject_p.h
|
||||
index 0bcccba..88192fd 100644
|
||||
--- a/src/corelib/kernel/qobject_p.h
|
||||
+++ b/src/corelib/kernel/qobject_p.h
|
||||
@@ -83,7 +83,9 @@ extern QSignalSpyCallbackSet Q_CORE_EXPORT qt_signal_spy_callback_set;
|
||||
|
||||
inline QObjectData::~QObjectData() {}
|
||||
|
||||
-enum { QObjectPrivateVersion = QT_VERSION };
|
||||
+// add 0x1000000 to mark it as qt-copy version, with possible modifications
|
||||
+// in some Q*Private class
|
||||
+enum { QObjectPrivateVersion = QT_VERSION + 0x1000000 };
|
||||
|
||||
class Q_CORE_EXPORT QObjectPrivate : public QObjectData
|
||||
{
|
||||
--
|
||||
1.6.2.5
|
||||
|
|
@ -0,0 +1,56 @@
|
|||
From 86fc0d43cdcf3232ae0e4e6f4f28cf8f1a45ede5 Mon Sep 17 00:00:00 2001
|
||||
From: Benjamin Reed <rangerrick@befunk.com>
|
||||
Date: Tue, 19 Feb 2008 17:37:37 +0100
|
||||
Subject: [PATCH 04/18] This patch adds support for using -isystem to allow putting an include
|
||||
directory at the end of the compiler's header search path.
|
||||
|
||||
I don't have the exact output anymore (I've since patched Qt's configure) but
|
||||
essentially, since I have pcre.h in /opt/kde4-deps/include, it was
|
||||
conflicting with Qt's (modified) pcre.h in the WebKit bits, since
|
||||
-I /opt/kde4-deps/include ends up in CXXFLAGS in the generated makefiles, it
|
||||
comes *before* the specific locations in INCPATH on the compile line, and you
|
||||
end up with a conflict with the system-installed pcre.h.
|
||||
|
||||
Presumably, if your pcre.h is in /usr/include as on most Linux systems, you
|
||||
wouldn't notice this issue since /usr/include's already in your include path
|
||||
and people likely don't pass -I /usr/include to configure. I suspect that on
|
||||
any platform with a regular, system-installed pcre.h (or clucene headers),
|
||||
adding -I /usr/include would exhibit this bug, just as a custom-installed
|
||||
pcre/clucene in another root would.
|
||||
|
||||
qt-bugs@ issue : 199610
|
||||
Trolltech task ID :
|
||||
bugs.kde.org number :
|
||||
---
|
||||
configure | 8 ++++++++
|
||||
1 files changed, 8 insertions(+), 0 deletions(-)
|
||||
|
||||
diff --git a/configure b/configure
|
||||
index 2c108ad..610a201 100755
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -927,6 +927,11 @@ while [ "$#" -gt 0 ]; do
|
||||
VAL=`echo $1 | sed 's,-D,,'`
|
||||
fi
|
||||
;;
|
||||
+ -isystem)
|
||||
+ VAR="add_isystempath"
|
||||
+ shift
|
||||
+ VAL="$1"
|
||||
+ ;;
|
||||
-I?*|-I)
|
||||
VAR="add_ipath"
|
||||
if [ "$1" = "-I" ]; then
|
||||
@@ -1890,6 +1895,9 @@ while [ "$#" -gt 0 ]; do
|
||||
add_ipath)
|
||||
I_FLAGS="$I_FLAGS -I\"${VAL}\""
|
||||
;;
|
||||
+ add_isystempath)
|
||||
+ I_FLAGS="$I_FLAGS -isystem \"${VAL}\""
|
||||
+ ;;
|
||||
add_lpath)
|
||||
L_FLAGS="$L_FLAGS -L\"${VAL}\""
|
||||
;;
|
||||
--
|
||||
1.6.2.5
|
||||
|
|
@ -0,0 +1,47 @@
|
|||
From 733d1afd03908d695aa8a6518f453b9ff0e5b8a2 Mon Sep 17 00:00:00 2001
|
||||
From: Robert Knight <robertknight@gmail.com>
|
||||
Date: Sun, 20 Apr 2008 16:28:31 +0200
|
||||
Subject: [PATCH 05/18] When tabs are inserted or removed in a QTabBar,
|
||||
QTabBarPrivate::refresh() is called to update the layout. If the
|
||||
tabbar widget is hidden, this just sets a boolean variable
|
||||
(layoutDirty) and returns, so the parent widget's layout is not
|
||||
notified about the possible geometry change.
|
||||
|
||||
Prior to Qt 4.4 this was not a problem because the geometry was
|
||||
recalculated in QTabBar::sizeHint() if the layoutDirty variable was
|
||||
set. In Qt 4.4 however the layout caches size hint information in
|
||||
QWidgetItemV2. Since the cache information is not invalidated, the
|
||||
layout may end up using out-of-date size hint information to compute
|
||||
the widget size.
|
||||
|
||||
If the QTabBar is empty when QTabBar::sizeHint() is called, it will
|
||||
return a size with a height of 0, which will be kept in the cache and
|
||||
so the tab bar will never be shown.
|
||||
|
||||
This patch fixes the problem by calling updateGeometry() whenever the
|
||||
tab bar's layout is refreshed.
|
||||
|
||||
qt-bugs@ issue : 208185
|
||||
Trolltech task ID : 208349
|
||||
bugs.kde.org number : 159014
|
||||
---
|
||||
src/gui/widgets/qtabbar.cpp | 2 +-
|
||||
1 files changed, 1 insertions(+), 1 deletions(-)
|
||||
|
||||
diff --git a/src/gui/widgets/qtabbar.cpp b/src/gui/widgets/qtabbar.cpp
|
||||
index 419d456..41107a0 100644
|
||||
--- a/src/gui/widgets/qtabbar.cpp
|
||||
+++ b/src/gui/widgets/qtabbar.cpp
|
||||
@@ -678,8 +678,8 @@ void QTabBarPrivate::refresh()
|
||||
layoutTabs();
|
||||
makeVisible(currentIndex);
|
||||
q->update();
|
||||
- q->updateGeometry();
|
||||
}
|
||||
+ q->updateGeometry();
|
||||
}
|
||||
|
||||
/*!
|
||||
--
|
||||
1.6.2.5
|
||||
|
|
@ -0,0 +1,67 @@
|
|||
From 8e28e0603a900e1b18ebfd14c4f87b16dabf4cf6 Mon Sep 17 00:00:00 2001
|
||||
From: Christian Ehrlicher <ch.ehrlicher@gmx.de>
|
||||
Date: Fri, 19 Sep 2008 17:41:26 +0200
|
||||
Subject: [PATCH 06/18] Fix configure.exe to do an out-of-source build on windows
|
||||
|
||||
qt-bugs@ issue : N227213
|
||||
Trolltech task ID : none yet
|
||||
---
|
||||
bin/syncqt | 6 +++++-
|
||||
projects.pro | 3 +++
|
||||
src/tools/moc/main.cpp | 6 ++++++
|
||||
3 files changed, 14 insertions(+), 1 deletions(-)
|
||||
|
||||
diff --git a/bin/syncqt b/bin/syncqt
|
||||
index 7a9f1d3..b5a8e1c 100755
|
||||
--- a/bin/syncqt
|
||||
+++ b/bin/syncqt
|
||||
@@ -365,9 +365,13 @@ sub fixPaths {
|
||||
$match_dir = $tmp;
|
||||
$i = $slash;
|
||||
}
|
||||
+ my $cnt_ofs = 0;
|
||||
+ if($match_dir =~ /^[a-zA-Z]:$/) {
|
||||
+ $cnt_ofs = 1;
|
||||
+ }
|
||||
if($match_dir) {
|
||||
my $after = substr($dir, length($match_dir));
|
||||
- my $count = ($after =~ tr,/,,);
|
||||
+ my $count = ($after =~ tr,/,,) - $cnt_ofs;
|
||||
my $dots = "";
|
||||
for(my $i = 0; $i < $count; $i++) {
|
||||
$dots .= "../";
|
||||
diff --git a/projects.pro b/projects.pro
|
||||
index 2596c0a..3ba0688 100644
|
||||
--- a/projects.pro
|
||||
+++ b/projects.pro
|
||||
@@ -127,6 +127,9 @@ unix {
|
||||
DEFAULT_QMAKESPEC ~= s,^.*mkspecs/,,g
|
||||
mkspecs.commands += $(DEL_FILE) $(INSTALL_ROOT)$$mkspecs.path/default; $(SYMLINK) $$DEFAULT_QMAKESPEC $(INSTALL_ROOT)$$mkspecs.path/default
|
||||
}
|
||||
+win32 {
|
||||
+ mkspecs.files += $$QT_BUILD_TREE/mkspecs/default
|
||||
+}
|
||||
INSTALLS += mkspecs
|
||||
|
||||
false:macx { #mac install location
|
||||
diff --git a/src/tools/moc/main.cpp b/src/tools/moc/main.cpp
|
||||
index d519b09..7979836 100644
|
||||
--- a/src/tools/moc/main.cpp
|
||||
+++ b/src/tools/moc/main.cpp
|
||||
@@ -94,7 +94,13 @@ static QByteArray combinePath(const char *infile, const char *outfile)
|
||||
inSplitted.prepend(QLatin1String(".."));
|
||||
}
|
||||
inSplitted.append(inFileInfo.fileName());
|
||||
+#ifdef Q_WS_WIN
|
||||
+ const QString rel = inSplitted.join(QLatin1String("/"));
|
||||
+ const QString abs = inFileInfo.absoluteFilePath();
|
||||
+ return QFile::encodeName(rel.length() < abs.length() ? rel : abs);
|
||||
+#else
|
||||
return QFile::encodeName(inSplitted.join(QLatin1String("/")));
|
||||
+#endif
|
||||
}
|
||||
|
||||
|
||||
--
|
||||
1.6.2.5
|
||||
|
|
@ -0,0 +1,73 @@
|
|||
From 0afcf33127c6ccbe5dfaae4f4c5e02f28dc10ae1 Mon Sep 17 00:00:00 2001
|
||||
From: Christian Ehrlicher <ch.ehrlicher@gmx.de>
|
||||
Date: Thu, 8 May 2008 21:25:49 +0200
|
||||
Subject: [PATCH 07/18] When using qmake outside qt src tree, it sometimes generates wrong
|
||||
paths (wrong path separator)
|
||||
|
||||
qt-bugs@ issue : none
|
||||
Trolltech task ID : 214661
|
||||
---
|
||||
qmake/property.cpp | 29 ++++++++++++++++-------------
|
||||
1 files changed, 16 insertions(+), 13 deletions(-)
|
||||
|
||||
diff --git a/qmake/property.cpp b/qmake/property.cpp
|
||||
index 8ba89f9..dd78349 100644
|
||||
--- a/qmake/property.cpp
|
||||
+++ b/qmake/property.cpp
|
||||
@@ -81,29 +81,32 @@ QMakeProperty::keyBase(bool version) const
|
||||
QString
|
||||
QMakeProperty::value(QString v, bool just_check)
|
||||
{
|
||||
+ QString ret;
|
||||
if(v == "QT_INSTALL_PREFIX")
|
||||
- return QLibraryInfo::location(QLibraryInfo::PrefixPath);
|
||||
+ ret = QLibraryInfo::location(QLibraryInfo::PrefixPath);
|
||||
else if(v == "QT_INSTALL_DATA")
|
||||
- return QLibraryInfo::location(QLibraryInfo::DataPath);
|
||||
+ ret = QLibraryInfo::location(QLibraryInfo::DataPath);
|
||||
else if(v == "QT_INSTALL_DOCS")
|
||||
- return QLibraryInfo::location(QLibraryInfo::DocumentationPath);
|
||||
+ ret = QLibraryInfo::location(QLibraryInfo::DocumentationPath);
|
||||
else if(v == "QT_INSTALL_HEADERS")
|
||||
- return QLibraryInfo::location(QLibraryInfo::HeadersPath);
|
||||
+ ret = QLibraryInfo::location(QLibraryInfo::HeadersPath);
|
||||
else if(v == "QT_INSTALL_LIBS")
|
||||
- return QLibraryInfo::location(QLibraryInfo::LibrariesPath);
|
||||
+ ret = QLibraryInfo::location(QLibraryInfo::LibrariesPath);
|
||||
else if(v == "QT_INSTALL_BINS")
|
||||
- return QLibraryInfo::location(QLibraryInfo::BinariesPath);
|
||||
+ ret = QLibraryInfo::location(QLibraryInfo::BinariesPath);
|
||||
else if(v == "QT_INSTALL_PLUGINS")
|
||||
- return QLibraryInfo::location(QLibraryInfo::PluginsPath);
|
||||
+ ret = QLibraryInfo::location(QLibraryInfo::PluginsPath);
|
||||
else if(v == "QT_INSTALL_TRANSLATIONS")
|
||||
- return QLibraryInfo::location(QLibraryInfo::TranslationsPath);
|
||||
+ ret = QLibraryInfo::location(QLibraryInfo::TranslationsPath);
|
||||
else if(v == "QT_INSTALL_CONFIGURATION")
|
||||
- return QLibraryInfo::location(QLibraryInfo::SettingsPath);
|
||||
+ ret = QLibraryInfo::location(QLibraryInfo::SettingsPath);
|
||||
else if(v == "QT_INSTALL_EXAMPLES")
|
||||
- return QLibraryInfo::location(QLibraryInfo::ExamplesPath);
|
||||
+ ret = QLibraryInfo::location(QLibraryInfo::ExamplesPath);
|
||||
else if(v == "QT_INSTALL_DEMOS")
|
||||
- return QLibraryInfo::location(QLibraryInfo::DemosPath);
|
||||
- else if(v == "QMAKE_MKSPECS")
|
||||
+ ret = QLibraryInfo::location(QLibraryInfo::DemosPath);
|
||||
+ if(!ret.isEmpty())
|
||||
+ return QDir::toNativeSeparators(ret);
|
||||
+ if(v == "QMAKE_MKSPECS")
|
||||
return qmake_mkspec_paths().join(Option::target_mode == Option::TARG_WIN_MODE ? ";" : ":");
|
||||
else if(v == "QMAKE_VERSION")
|
||||
return qmake_version();
|
||||
@@ -116,7 +119,7 @@ QMakeProperty::value(QString v, bool just_check)
|
||||
int slash = v.lastIndexOf('/');
|
||||
QVariant var = settings->value(keyBase(slash == -1) + v);
|
||||
bool ok = var.isValid();
|
||||
- QString ret = var.toString();
|
||||
+ ret = var.toString();
|
||||
if(!ok) {
|
||||
QString version = qmake_version();
|
||||
if(slash != -1) {
|
||||
--
|
||||
1.6.2.5
|
||||
|
|
@ -0,0 +1,52 @@
|
|||
From 1ec9dd029abaa0f00798535fdb1722154b1c63f6 Mon Sep 17 00:00:00 2001
|
||||
From: =?utf-8?q?Rafael=20Fern=C3=A1ndez=20L=C3=B3pez?= <ereslibre@kde.org>
|
||||
Date: Sun, 26 Oct 2008 10:40:51 +0100
|
||||
Subject: [PATCH 08/18] In a treeview with columns like this:
|
||||
|
||||
Column 1 | Column 2 | ... | Column k | ... | Column n
|
||||
|
||||
When selecting with rubberband (by clicking on the blank part of the viewport) while Column k is
|
||||
hidden, you get double items on the selection model, when asking for selection(). This is becase
|
||||
ranges are incorrectly calculated when there are hidden columns. A way to reproduce:
|
||||
|
||||
Column 1 | Column 2 | Column 4 (Column 3 is hidden)
|
||||
item
|
||||
item
|
||||
item
|
||||
x <- press button here and move it up to select items (on this same column)
|
||||
|
||||
If you do like this:
|
||||
|
||||
Column 1 | Column 2 | Column 4 (Column 3 is hidden)
|
||||
item
|
||||
item
|
||||
item
|
||||
x <- press button here and move it up
|
||||
|
||||
you won't be able to reproduce, since you need the hidden column to be between the one you click and
|
||||
the last one. The reason is that columnRanges returns two ranges when there is supposed to return 1
|
||||
range (even when there are hidden columns).
|
||||
|
||||
qt-bugs@ issue : N232819
|
||||
Trolltech task ID : 232831
|
||||
bugs.kde.org number : 171436
|
||||
---
|
||||
src/gui/itemviews/qtreeview.cpp | 2 +-
|
||||
1 files changed, 1 insertions(+), 1 deletions(-)
|
||||
|
||||
diff --git a/src/gui/itemviews/qtreeview.cpp b/src/gui/itemviews/qtreeview.cpp
|
||||
index ed6ad03..dc147f2 100644
|
||||
--- a/src/gui/itemviews/qtreeview.cpp
|
||||
+++ b/src/gui/itemviews/qtreeview.cpp
|
||||
@@ -3575,7 +3575,7 @@ QList<QPair<int, int> > QTreeViewPrivate::columnRanges(const QModelIndex &topInd
|
||||
current.first = -2; // -1 is not enough because -1+1 = 0
|
||||
current.second = -2;
|
||||
foreach (int logicalColumn, logicalIndexes) {
|
||||
- if (current.second + 1 != logicalColumn) {
|
||||
+ if (current.second + 1 != logicalColumn && !header->isSectionHidden(current.second + 1)) {
|
||||
if (current.first != -2) {
|
||||
//let's save the current one
|
||||
ret += current;
|
||||
--
|
||||
1.6.2.5
|
||||
|
|
@ -0,0 +1,54 @@
|
|||
From b274bbaf4768dcfdfcf95ceda08b6402ffedb80d Mon Sep 17 00:00:00 2001
|
||||
From: George Goldberg <grundleborg@googlemail.com>
|
||||
Date: Tue, 28 Apr 2009 17:08:07 +0200
|
||||
Subject: [PATCH 09/18] This patch fixes deserialization of values with custom types when setting
|
||||
properties on dbus adaptors. It is needed, in particular by telepathy/Qt
|
||||
programs and libraries. The bug was reported to Nokia on 2009-01-07 along
|
||||
with the patch supplied here. The summary of the issue from the Qt
|
||||
Software task tracker follows:
|
||||
|
||||
When calling the setter for a DBus property, if that property has a custom type
|
||||
(e.g. a struct with dbus type (uss)), QtDBus fails to demarshall the
|
||||
QDBusArgument before attempting to set the property on the adaptor. The result
|
||||
is that it attempts to call adaptor->setProperty() with a QDBusArgument of type
|
||||
"uss" instead of with the type of the custom struct.
|
||||
|
||||
qt-bugs@ issue : N240326
|
||||
Qt Software task ID : 240608
|
||||
bugs.kde.org number : none
|
||||
---
|
||||
src/dbus/qdbusinternalfilters.cpp | 16 +++++++++++++++-
|
||||
1 files changed, 15 insertions(+), 1 deletions(-)
|
||||
|
||||
diff --git a/src/dbus/qdbusinternalfilters.cpp b/src/dbus/qdbusinternalfilters.cpp
|
||||
index c71f2f4..d261d01 100644
|
||||
--- a/src/dbus/qdbusinternalfilters.cpp
|
||||
+++ b/src/dbus/qdbusinternalfilters.cpp
|
||||
@@ -274,9 +274,23 @@ QDBusMessage qDBusPropertySet(const QDBusConnectionPrivate::ObjectTreeNode &node
|
||||
QDBusAdaptorConnector::AdaptorMap::ConstIterator it;
|
||||
it = qLowerBound(connector->adaptors.constBegin(), connector->adaptors.constEnd(),
|
||||
interface_name);
|
||||
- if (it != connector->adaptors.end() && interface_name == QLatin1String(it->interface))
|
||||
+ if (it != connector->adaptors.end() && interface_name == QLatin1String(it->interface)) {
|
||||
+ if (value.userType() == qMetaTypeId<QDBusArgument>()) {
|
||||
+ QDBusArgument valueArg = qvariant_cast<QDBusArgument>(value);
|
||||
+ if (valueArg.currentType() != -1) {
|
||||
+ int mid = it->adaptor->metaObject()->property(it->adaptor->metaObject()->indexOfProperty(property_name)).userType();
|
||||
+ void *null = 0;
|
||||
+ QVariant valueStore(mid, null);
|
||||
+ QDBusMetaType::demarshall(valueArg, mid, valueStore.data());
|
||||
+
|
||||
+ if (it->adaptor->setProperty(property_name, valueStore))
|
||||
+ return msg.createReply();
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
if (it->adaptor->setProperty(property_name, value))
|
||||
return msg.createReply();
|
||||
+ }
|
||||
}
|
||||
}
|
||||
|
||||
--
|
||||
1.6.2.5
|
||||
|
|
@ -0,0 +1,207 @@
|
|||
From 9a3fe8fc4912bf82b791c4131f553c18140ca838 Mon Sep 17 00:00:00 2001
|
||||
From: Thiago Macieira <thiago@doriath.(none)>
|
||||
Date: Sun, 21 Jun 2009 13:17:13 -0300
|
||||
Subject: [PATCH 10/18] Import README.qt-copy from the original qt-copy
|
||||
|
||||
---
|
||||
README.kde-qt | 188 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
1 files changed, 188 insertions(+), 0 deletions(-)
|
||||
create mode 100644 README.kde-qt
|
||||
|
||||
diff --git a/README.kde-qt b/README.kde-qt
|
||||
new file mode 100644
|
||||
index 0000000..f605a0b
|
||||
--- /dev/null
|
||||
+++ b/README.kde-qt
|
||||
@@ -0,0 +1,188 @@
|
||||
+This is a copy of Qt version 4.5.1. It may include
|
||||
+modifications which are necessary for KDE; these are listed in the
|
||||
+patches directory.
|
||||
+
|
||||
+1. Qt-copy patches
|
||||
+==================
|
||||
+
|
||||
+You may also consider running the apply_patches script before configuring qt-copy,
|
||||
+which will apply all not yet applied patches from the patches/ directory that
|
||||
+are considered safe (they mostly include optimizations and features that don't
|
||||
+add new API). Note that most of those patches haven't been accepted
|
||||
+by Qt Software yet. and therefore they'll make your qt-copy differ from official
|
||||
+Qt version.
|
||||
+
|
||||
+2. Configuring Qt
|
||||
+=================
|
||||
+
|
||||
+The recommended compile line is:
|
||||
+
|
||||
+--default-config-begin--
|
||||
+./configure -qt-gif -debug -fast -no-exceptions -no-separate-debug-info \
|
||||
+ -system-libpng -system-libjpeg -system-zlib \
|
||||
+ -dbus -webkit -no-phonon -plugin-sql-mysql \
|
||||
+ -nomake examples -nomake demos -prefix <installdir>
|
||||
+--default-config-end--
|
||||
+
|
||||
+It contains "-debug", which greatly improves the use for backtraces (but
|
||||
+also needs a lot more disk space and makes things slower). To build in
|
||||
+release mode, replace it with "-release".
|
||||
+
|
||||
+It also contains "-no-separate-debug-info", which disables separate .debug
|
||||
+files. Instead, the debug information will be built into the libraries.
|
||||
+This option is needed when you install Qt.
|
||||
+If you don't install Qt, it can be useful to disable this option,
|
||||
+thus having separate debug symbol files. With separate debug files, you can
|
||||
+just move those debug files to another directory to remove Qt debug symbols.
|
||||
+Moving the files back will enable Qt debug symbols again.
|
||||
+This is useful if you rarely need to step into Qt functions during debugging,
|
||||
+because GDB loads much faster and uses less memory without Qt debug symbols.
|
||||
+In the rare case you need to step into Qt code, you can temporarily enable
|
||||
+debug symbols again by moving the debug files back. You can even load the Qt
|
||||
+debug symbols from within GDB on demand, using the "symbol-file" command.
|
||||
+
|
||||
+It also contains the "-no-exceptions" argument, which disables C++
|
||||
+exception support. Disabling exception support may improve memory
|
||||
+consumption if GCC is being used. However, that also disables the
|
||||
+QtXmlPatterns module since that requires exception support. If you
|
||||
+plan on using that module, remove the option.
|
||||
+
|
||||
+If you are planning to compile Qt using an Icecream cluster you have to
|
||||
+pass the option -no-pch (no precompiled headers) to configure to make
|
||||
+distributed compilation work.
|
||||
+
|
||||
+3. Compiling Qt
|
||||
+===============
|
||||
+
|
||||
+To compile Qt on a Unix platform, run:
|
||||
+
|
||||
+ export MAKEFLAGS=-j2
|
||||
+ make
|
||||
+ make install
|
||||
+
|
||||
+If your computer has more than one core or processor, you may consider
|
||||
+increasing the "2" above. If you've got a compile farm available, you
|
||||
+should adjust the -j argument to match the number of slots in that
|
||||
+farm.
|
||||
+
|
||||
+4. Modifying & rebuilding Qt
|
||||
+============================
|
||||
+
|
||||
+If you make modifications to the Qt source code, you don't need to
|
||||
+build everything again. Simply go to the directory containing the
|
||||
+Makefile closest to the files you changed and run "make" again.
|
||||
+
|
||||
+For example, if you modified src/corelib/io/qiodevice.cpp, do:
|
||||
+
|
||||
+ cd src/corelib
|
||||
+ make
|
||||
+
|
||||
+Do not commit your modifications to qt-copy as such. If you have a fix
|
||||
+that benefit others, see the "Creating Qt-copy patches" section below.
|
||||
+
|
||||
+5. Building Qt examples and demos
|
||||
+=================================
|
||||
+
|
||||
+The "-nomake examples -nomake demos" arguments to the configure script
|
||||
+mean that those two sections will not be configured for
|
||||
+building. Which is unneeded for usage of the library. If you want to
|
||||
+compile the examples or demos later; just enter either directory and
|
||||
+type:
|
||||
+
|
||||
+ qmake
|
||||
+ make
|
||||
+
|
||||
+6. Building Qt documentation (only applies to Snapshot versions of Qt)
|
||||
+============================
|
||||
+
|
||||
+To build and install the documentation, run:
|
||||
+
|
||||
+ make docs
|
||||
+ ./config.status
|
||||
+ make install
|
||||
+
|
||||
+It is necessary to do this once only, even if you rebuild Qt later.
|
||||
+
|
||||
+7. Using Qt uninstalled
|
||||
+=======================
|
||||
+
|
||||
+To use without having to install it, configure it as follows:
|
||||
+
|
||||
+ ./configure <other configure options> -prefix $PWD
|
||||
+ make sub-src
|
||||
+ make sub-tools
|
||||
+
|
||||
+Attention: DO NOT run
|
||||
+
|
||||
+ make install
|
||||
+
|
||||
+If you do, Qt will overwrite your include/ directory with its
|
||||
+installation.
|
||||
+
|
||||
+8. Creating Qt-copy patches
|
||||
+===========================
|
||||
+
|
||||
+If you have fixed a bug in Qt or modified it in any way that may
|
||||
+benefit others, please share your change in the form of a patch. Do
|
||||
+not commit your changes directly to the qt-copy module because they
|
||||
+may be lost in a future update if they have not been added to the
|
||||
+official Qt release.
|
||||
+
|
||||
+The exception to the above rule is that if the fix has been accepted
|
||||
+by Qt Software (and so will appear in the next release of Qt), then
|
||||
+it can be applied directly to qt-copy. In this case, the patch
|
||||
+should still be placed in patches/ as usual, but it should have a
|
||||
+header line
|
||||
+ Applied: yes
|
||||
+
|
||||
+Before creating a patch, it is recommended to contact Qt Software
|
||||
+support via qt-bugs@trolltech.com and explain the situation. There may
|
||||
+be a solution for the problem already or a new direction that should
|
||||
+be accounted for.
|
||||
+
|
||||
+To create a patch, do the following:
|
||||
+ a) make sure your Qt sources are clean of other changes. Run:
|
||||
+ svn revert -R .
|
||||
+ b) make your changes to the Qt source code and verify that it
|
||||
+ compiles, links and works.
|
||||
+ c) open the patches/README file and get the next patch number
|
||||
+ (you must read and understand the README file; if you don't, ask for
|
||||
+ help from other KDE developers)
|
||||
+ d) create the patch with:
|
||||
+ svn diff > patches/NNNN-short-description-of-your-patch.diff
|
||||
+ where NNNN is the next available number.
|
||||
+ e) open the file you've just created and add the header to it. The
|
||||
+ header should be the template in patches/README followed by a longer
|
||||
+ description of your patch.
|
||||
+
|
||||
+Don't forget to submit your patch to qt-bugs@trolltech.com along with
|
||||
+the long description of the issue found, if you haven't already.
|
||||
+Qt Software does not monitor the patches/ directory, so qt-copy
|
||||
+patches do not get automatically applied to Qt official releases.
|
||||
+
|
||||
+When you receive the issue number and task tracker numbers, update the
|
||||
+patch file.
|
||||
+
|
||||
+9. Known issues with current Qt code
|
||||
+====================================
|
||||
+
|
||||
+In case you have strange issues with non-resizing windows and similar, use
|
||||
+ export QT_USE_NATIVE_WINDOWS=1
|
||||
+before starting KDE.
|
||||
+
|
||||
+10. Troubleshooting: Re-configuring and re-compiling
|
||||
+===================================================
|
||||
+
|
||||
+For those updating the source in a directory where Qt has already
|
||||
+been compiled, you may need to run the following commands from the
|
||||
+top directory of your Qt sources:
|
||||
+
|
||||
+ find . -name '*.moc' | xargs rm
|
||||
+
|
||||
+Sometimes ./configure will refuse to run. You may need to:
|
||||
+ rm .qmake.cache
|
||||
+
|
||||
+If you think you may have run "make install" on an install-less Qt
|
||||
+(srcdir == $QTDIR), run:
|
||||
+
|
||||
+ svn revert -R include
|
||||
--
|
||||
1.6.2.5
|
||||
|
|
@ -0,0 +1,257 @@
|
|||
From 39b24a10e4dee27357b9760b735c2ab98b132963 Mon Sep 17 00:00:00 2001
|
||||
From: Thiago Macieira <thiago@doriath.(none)>
|
||||
Date: Sun, 21 Jun 2009 13:46:54 -0300
|
||||
Subject: [PATCH 11/18] Update this file to reflect the workflow with Git, as well as use Git commands
|
||||
|
||||
---
|
||||
README.kde-qt | 163 +++++++++++++++++++++++++++++++--------------------------
|
||||
1 files changed, 88 insertions(+), 75 deletions(-)
|
||||
|
||||
diff --git a/README.kde-qt b/README.kde-qt
|
||||
index f605a0b..db3feb6 100644
|
||||
--- a/README.kde-qt
|
||||
+++ b/README.kde-qt
|
||||
@@ -1,27 +1,20 @@
|
||||
-This is a copy of Qt version 4.5.1. It may include
|
||||
-modifications which are necessary for KDE; these are listed in the
|
||||
-patches directory.
|
||||
+This is a patched version of Qt. It may include changes made by KDE
|
||||
+and Qt developers that have either not been accepted for inclusion
|
||||
+into Qt, or have been accepted for a later version of Qt than this
|
||||
+one.
|
||||
|
||||
-1. Qt-copy patches
|
||||
-==================
|
||||
-
|
||||
-You may also consider running the apply_patches script before configuring qt-copy,
|
||||
-which will apply all not yet applied patches from the patches/ directory that
|
||||
-are considered safe (they mostly include optimizations and features that don't
|
||||
-add new API). Note that most of those patches haven't been accepted
|
||||
-by Qt Software yet. and therefore they'll make your qt-copy differ from official
|
||||
-Qt version.
|
||||
-
|
||||
-2. Configuring Qt
|
||||
+1. Configuring Qt
|
||||
=================
|
||||
|
||||
The recommended compile line is:
|
||||
|
||||
--default-config-begin--
|
||||
-./configure -qt-gif -debug -fast -no-exceptions -no-separate-debug-info \
|
||||
- -system-libpng -system-libjpeg -system-zlib \
|
||||
- -dbus -webkit -no-phonon -plugin-sql-mysql \
|
||||
- -nomake examples -nomake demos -prefix <installdir>
|
||||
+
|
||||
+ ./configure -qt-gif -debug -fast -no-separate-debug-info \
|
||||
+ -system-libpng -system-libjpeg -system-zlib \
|
||||
+ -dbus -webkit -plugin-sql-mysql \
|
||||
+ -nomake examples -nomake demos -prefix <installdir>
|
||||
+
|
||||
--default-config-end--
|
||||
|
||||
It contains "-debug", which greatly improves the use for backtraces (but
|
||||
@@ -31,6 +24,7 @@ release mode, replace it with "-release".
|
||||
It also contains "-no-separate-debug-info", which disables separate .debug
|
||||
files. Instead, the debug information will be built into the libraries.
|
||||
This option is needed when you install Qt.
|
||||
+
|
||||
If you don't install Qt, it can be useful to disable this option,
|
||||
thus having separate debug symbol files. With separate debug files, you can
|
||||
just move those debug files to another directory to remove Qt debug symbols.
|
||||
@@ -41,17 +35,11 @@ In the rare case you need to step into Qt code, you can temporarily enable
|
||||
debug symbols again by moving the debug files back. You can even load the Qt
|
||||
debug symbols from within GDB on demand, using the "symbol-file" command.
|
||||
|
||||
-It also contains the "-no-exceptions" argument, which disables C++
|
||||
-exception support. Disabling exception support may improve memory
|
||||
-consumption if GCC is being used. However, that also disables the
|
||||
-QtXmlPatterns module since that requires exception support. If you
|
||||
-plan on using that module, remove the option.
|
||||
-
|
||||
If you are planning to compile Qt using an Icecream cluster you have to
|
||||
pass the option -no-pch (no precompiled headers) to configure to make
|
||||
distributed compilation work.
|
||||
|
||||
-3. Compiling Qt
|
||||
+2. Compiling Qt
|
||||
===============
|
||||
|
||||
To compile Qt on a Unix platform, run:
|
||||
@@ -65,34 +53,49 @@ increasing the "2" above. If you've got a compile farm available, you
|
||||
should adjust the -j argument to match the number of slots in that
|
||||
farm.
|
||||
|
||||
-4. Modifying & rebuilding Qt
|
||||
+3. Modifying & rebuilding Qt
|
||||
============================
|
||||
|
||||
If you make modifications to the Qt source code, you don't need to
|
||||
build everything again. Simply go to the directory containing the
|
||||
Makefile closest to the files you changed and run "make" again.
|
||||
|
||||
-For example, if you modified src/corelib/io/qiodevice.cpp, do:
|
||||
+For example, if you've modified src/corelib/io/qiodevice.cpp, do:
|
||||
|
||||
cd src/corelib
|
||||
make
|
||||
|
||||
-Do not commit your modifications to qt-copy as such. If you have a fix
|
||||
-that benefit others, see the "Creating Qt-copy patches" section below.
|
||||
+If you make a change that is not temporary, you should create a Git
|
||||
+commit out of it. However, you shouldn't push those changes to
|
||||
+kde-qt.git. If you have a fix that benefit others, see the "Creating
|
||||
+kde-qt.git modifications" section below.
|
||||
|
||||
-5. Building Qt examples and demos
|
||||
+4. Building Qt examples and demos
|
||||
=================================
|
||||
|
||||
The "-nomake examples -nomake demos" arguments to the configure script
|
||||
-mean that those two sections will not be configured for
|
||||
-building. Which is unneeded for usage of the library. If you want to
|
||||
-compile the examples or demos later; just enter either directory and
|
||||
-type:
|
||||
+mean that those two sections will not be configured for building,
|
||||
+which is unneeded for usage of the library. If you want to compile
|
||||
+the examples or demos later, just enter either directory and type:
|
||||
|
||||
qmake
|
||||
make
|
||||
|
||||
-6. Building Qt documentation (only applies to Snapshot versions of Qt)
|
||||
+5. Build Qt tests
|
||||
+=================
|
||||
+
|
||||
+(Official information: http://qt.gitorious.org/qt/pages/QtAutotestsEnvironment)
|
||||
+
|
||||
+In order to run Qt tests, you must have a "developer build" of Qt. For
|
||||
+that, you need to reconfigure Qt and add the "-developer-build"
|
||||
+option. That option is technically equivalent to the options:
|
||||
+
|
||||
+ -debug -prefix $PWD -DQT_BUILD_INTERNAL
|
||||
+
|
||||
+To run a test, go to its source dir in tests/auto/testname. Type
|
||||
+"make" to build it, then run it (either ./tst_testname, or "make install").
|
||||
+
|
||||
+6. Building Qt documentation
|
||||
============================
|
||||
|
||||
To build and install the documentation, run:
|
||||
@@ -119,21 +122,25 @@ Attention: DO NOT run
|
||||
If you do, Qt will overwrite your include/ directory with its
|
||||
installation.
|
||||
|
||||
-8. Creating Qt-copy patches
|
||||
-===========================
|
||||
+8. Creating kde-qt.git modifications
|
||||
+====================================
|
||||
|
||||
If you have fixed a bug in Qt or modified it in any way that may
|
||||
benefit others, please share your change in the form of a patch. Do
|
||||
-not commit your changes directly to the qt-copy module because they
|
||||
+not commit your changes directly to the main branch because they
|
||||
may be lost in a future update if they have not been added to the
|
||||
official Qt release.
|
||||
|
||||
The exception to the above rule is that if the fix has been accepted
|
||||
-by Qt Software (and so will appear in the next release of Qt), then
|
||||
-it can be applied directly to qt-copy. In this case, the patch
|
||||
-should still be placed in patches/ as usual, but it should have a
|
||||
-header line
|
||||
- Applied: yes
|
||||
+by Qt Software (and so will appear in the very next release of Qt),
|
||||
+then it should be simply cherry-picked from the Qt development
|
||||
+branch. Note that you shouldn't do this for changes that have been
|
||||
+accepted into a release which is not the very next.
|
||||
+In this case, you should use the following command:
|
||||
+
|
||||
+ git cherry-pick -x SHA1_OF_THE_FIX
|
||||
+where SHA1_OF_THE_FIX is the SHA-1 of the commit that you want to
|
||||
+introduce. Then push the change to the server.
|
||||
|
||||
Before creating a patch, it is recommended to contact Qt Software
|
||||
support via qt-bugs@trolltech.com and explain the situation. There may
|
||||
@@ -141,37 +148,42 @@ be a solution for the problem already or a new direction that should
|
||||
be accounted for.
|
||||
|
||||
To create a patch, do the following:
|
||||
- a) make sure your Qt sources are clean of other changes. Run:
|
||||
- svn revert -R .
|
||||
- b) make your changes to the Qt source code and verify that it
|
||||
- compiles, links and works.
|
||||
- c) open the patches/README file and get the next patch number
|
||||
- (you must read and understand the README file; if you don't, ask for
|
||||
- help from other KDE developers)
|
||||
- d) create the patch with:
|
||||
- svn diff > patches/NNNN-short-description-of-your-patch.diff
|
||||
- where NNNN is the next available number.
|
||||
- e) open the file you've just created and add the header to it. The
|
||||
- header should be the template in patches/README followed by a longer
|
||||
- description of your patch.
|
||||
-
|
||||
-Don't forget to submit your patch to qt-bugs@trolltech.com along with
|
||||
-the long description of the issue found, if you haven't already.
|
||||
-Qt Software does not monitor the patches/ directory, so qt-copy
|
||||
-patches do not get automatically applied to Qt official releases.
|
||||
-
|
||||
-When you receive the issue number and task tracker numbers, update the
|
||||
-patch file.
|
||||
-
|
||||
-9. Known issues with current Qt code
|
||||
-====================================
|
||||
-
|
||||
-In case you have strange issues with non-resizing windows and similar, use
|
||||
- export QT_USE_NATIVE_WINDOWS=1
|
||||
-before starting KDE.
|
||||
-
|
||||
-10. Troubleshooting: Re-configuring and re-compiling
|
||||
-===================================================
|
||||
+ a) look at the listing of branches in
|
||||
+ http://qt.gitorious.org/+kde-developers/qt/kde-qt/commits/HEAD and
|
||||
+ select the next number.
|
||||
+
|
||||
+ b) create a new branch out of a clean, released version of Qt, (for
|
||||
+ example, 4.5.1), using the number above and a brief description of
|
||||
+ your fix. For example:
|
||||
+ git checkout -b patches/0180-window-role v4.5.1
|
||||
+ You can see the available released versions of Qt with:
|
||||
+ git tag
|
||||
+
|
||||
+ c) make your changes to the Qt source code and verify that it
|
||||
+ compiles, links and works (please run the respective unit tests).
|
||||
+
|
||||
+ c) commit your changes to Git, using the "git commit" command. Please
|
||||
+ see http://qt.gitorious.org/qt/pages/GitIntroductionWithQt and
|
||||
+ http://qt.gitorious.org/qt/pages/QtCodingStyle for information on
|
||||
+ how to create commits
|
||||
+ Note that you can create multiple commits.
|
||||
+
|
||||
+ e) merge the change to the main branch, for example, 4.5.1-patched:
|
||||
+ git checkout 4.5.1-patched
|
||||
+ git merge patches/0180-window-role
|
||||
+
|
||||
+ f) push the changes you made to your branch and to the main server:
|
||||
+ git push git@gitorious.org:qt/kde-qt.git 4.5.1-patched patches/0180-window-role
|
||||
+ (Don't forget to list both branch names)
|
||||
+
|
||||
+Don't forget to submit your patch to using the Qt Contribution Model,
|
||||
+along with the long description of the issue found. See
|
||||
+http://qt.gitorious.org/qt/pages/QtContributionGuidelines for
|
||||
+information how. You can submit the branch you've just sent to the
|
||||
+server.
|
||||
+
|
||||
+9. Troubleshooting: Re-configuring and re-compiling
|
||||
+==================================================
|
||||
|
||||
For those updating the source in a directory where Qt has already
|
||||
been compiled, you may need to run the following commands from the
|
||||
@@ -185,4 +197,5 @@ Sometimes ./configure will refuse to run. You may need to:
|
||||
If you think you may have run "make install" on an install-less Qt
|
||||
(srcdir == $QTDIR), run:
|
||||
|
||||
- svn revert -R include
|
||||
+ rm -rf include
|
||||
+ bin/syncqt
|
||||
--
|
||||
1.6.2.5
|
||||
|
|
@ -0,0 +1,31 @@
|
|||
From 01f26d0756839fbe783c637ca7dec5b7987f7e14 Mon Sep 17 00:00:00 2001
|
||||
From: Aaron Seigo <aseigo@kde.org>
|
||||
Date: Mon, 27 Jul 2009 21:46:22 -0600
|
||||
Subject: [PATCH 15/18] Make QMenu respect the minimum width set
|
||||
|
||||
If one sets a minimum width on a QMenu and that size is larger than the
|
||||
smallest size needed by the large menu item, it ignores the minimum
|
||||
width and just uses the largest menu item size.
|
||||
|
||||
This results in ugly painting artifacts. This currently affects
|
||||
(at least) the tasks widget in Plasma in KDE4.
|
||||
---
|
||||
src/gui/widgets/qmenu.cpp | 2 +-
|
||||
1 files changed, 1 insertions(+), 1 deletions(-)
|
||||
|
||||
diff --git a/src/gui/widgets/qmenu.cpp b/src/gui/widgets/qmenu.cpp
|
||||
index 9fbbb04..5d62ea6 100644
|
||||
--- a/src/gui/widgets/qmenu.cpp
|
||||
+++ b/src/gui/widgets/qmenu.cpp
|
||||
@@ -280,7 +280,7 @@ void QMenuPrivate::calcActionRects(QMap<QAction*, QRect> &actionRects, QList<QAc
|
||||
|
||||
|
||||
if (!sz.isEmpty()) {
|
||||
- max_column_width = qMax(max_column_width, sz.width());
|
||||
+ max_column_width = qMax(q->minimumWidth(), qMax(max_column_width, sz.width()));
|
||||
//wrapping
|
||||
if (!scroll &&
|
||||
y+sz.height()+vmargin > dh - (q->style()->pixelMetric(QStyle::PM_MenuDesktopFrameWidth, 0, q) * 2)) {
|
||||
--
|
||||
1.6.2.5
|
||||
|
|
@ -0,0 +1,660 @@
|
|||
From 1a94cd7b132497f70a2b97ec2b58f6e2b1c5076a Mon Sep 17 00:00:00 2001
|
||||
From: Helio Chissini de Castro <helio@kde.org>
|
||||
Date: Fri, 10 Jul 2009 16:00:13 -0300
|
||||
Subject: [PATCH 16/18] Fill gap of X.org/XFree multimedia/special/launcher keys
|
||||
Qt up to 4.5.x is missing whole setup of multimedia keys already defined by X
|
||||
|
||||
---
|
||||
src/corelib/global/qnamespace.h | 97 ++++++++++++-
|
||||
src/gui/kernel/qkeymapper_x11.cpp | 286 ++++++++++++++++++++++++++++++-------
|
||||
src/gui/kernel/qkeysequence.cpp | 174 +++++++++++++++++------
|
||||
3 files changed, 461 insertions(+), 96 deletions(-)
|
||||
|
||||
diff --git a/src/corelib/global/qnamespace.h b/src/corelib/global/qnamespace.h
|
||||
index 3edbca7..ddf27a8 100644
|
||||
--- a/src/corelib/global/qnamespace.h
|
||||
+++ b/src/corelib/global/qnamespace.h
|
||||
@@ -895,12 +895,10 @@ public:
|
||||
Key_Dead_Horn = 0x01001262,
|
||||
|
||||
// multimedia/internet keys - ignored by default - see QKeyEvent c'tor
|
||||
-
|
||||
Key_Back = 0x01000061,
|
||||
Key_Forward = 0x01000062,
|
||||
Key_Stop = 0x01000063,
|
||||
Key_Refresh = 0x01000064,
|
||||
-
|
||||
Key_VolumeDown = 0x01000070,
|
||||
Key_VolumeMute = 0x01000071,
|
||||
Key_VolumeUp = 0x01000072,
|
||||
@@ -909,7 +907,6 @@ public:
|
||||
Key_BassDown = 0x01000075,
|
||||
Key_TrebleUp = 0x01000076,
|
||||
Key_TrebleDown = 0x01000077,
|
||||
-
|
||||
Key_MediaPlay = 0x01000080,
|
||||
Key_MediaStop = 0x01000081,
|
||||
Key_MediaPrevious = 0x01000082,
|
||||
@@ -918,13 +915,11 @@ public:
|
||||
#endif
|
||||
Key_MediaNext = 0x01000083,
|
||||
Key_MediaRecord = 0x01000084,
|
||||
-
|
||||
Key_HomePage = 0x01000090,
|
||||
Key_Favorites = 0x01000091,
|
||||
Key_Search = 0x01000092,
|
||||
Key_Standby = 0x01000093,
|
||||
Key_OpenUrl = 0x01000094,
|
||||
-
|
||||
Key_LaunchMail = 0x010000a0,
|
||||
Key_LaunchMedia = 0x010000a1,
|
||||
Key_Launch0 = 0x010000a2,
|
||||
@@ -943,6 +938,98 @@ public:
|
||||
Key_LaunchD = 0x010000af,
|
||||
Key_LaunchE = 0x010000b0,
|
||||
Key_LaunchF = 0x010000b1,
|
||||
+ Key_MonBrightnessUp = 0x010000b2,
|
||||
+ Key_MonBrightnessDown = 0x010000b3,
|
||||
+ Key_KeyboardLightOnOff = 0x010000b4,
|
||||
+ Key_KeyboardBrightnessUp = 0x010000b5,
|
||||
+ Key_KeyboardBrightnessDown = 0x010000b6,
|
||||
+ Key_PowerOff = 0x010000b7,
|
||||
+ Key_WakeUp = 0x010000b8,
|
||||
+ Key_Eject = 0x010000b9,
|
||||
+ Key_ScreenSaver = 0x010000ba,
|
||||
+ Key_WWW = 0x010000bb,
|
||||
+ Key_Memo = 0x010000bc,
|
||||
+ Key_LightBulb = 0x010000bd,
|
||||
+ Key_Shop = 0x010000be,
|
||||
+ Key_History = 0x010000bf,
|
||||
+ Key_AddFavorite = 0x010000c0,
|
||||
+ Key_HotLinks = 0x010000c1,
|
||||
+ Key_BrightnessAdjust = 0x010000c2,
|
||||
+ Key_Finance = 0x010000c3,
|
||||
+ Key_Community = 0x010000c4,
|
||||
+ Key_AudioRewind = 0x010000c5,
|
||||
+ Key_BackForward = 0x010000c6,
|
||||
+ Key_ApplicationLeft = 0x010000c7,
|
||||
+ Key_ApplicationRight = 0x010000c8,
|
||||
+ Key_Book = 0x010000c9,
|
||||
+ Key_CD = 0x010000ca,
|
||||
+ Key_Calculator = 0x010000cb,
|
||||
+ Key_ToDoList = 0x010000cc,
|
||||
+ Key_ClearGrab = 0x010000cd,
|
||||
+ Key_Close = 0x010000ce,
|
||||
+ Key_Copy = 0x010000cf,
|
||||
+ Key_Cut = 0x010000d0,
|
||||
+ Key_Display = 0x010000d1,
|
||||
+ Key_DOS = 0x010000d2,
|
||||
+ Key_Documents = 0x010000d3,
|
||||
+ Key_Excel = 0x010000d4,
|
||||
+ Key_Explorer = 0x010000d5,
|
||||
+ Key_Game = 0x010000d6,
|
||||
+ Key_Go = 0x010000d7,
|
||||
+ Key_iTouch = 0x010000d8,
|
||||
+ Key_LogOff = 0x010000d9,
|
||||
+ Key_Market = 0x010000da,
|
||||
+ Key_Meeting = 0x010000db,
|
||||
+ Key_MenuKB = 0x010000dc,
|
||||
+ Key_MenuPB = 0x010000dd,
|
||||
+ Key_MySites = 0x010000de,
|
||||
+ Key_News = 0x010000df,
|
||||
+ Key_OfficeHome = 0x010000e0,
|
||||
+ Key_Option = 0x010000e1,
|
||||
+ Key_Paste = 0x010000e2,
|
||||
+ Key_Phone = 0x010000e3,
|
||||
+ Key_Calendar = 0x010000e4,
|
||||
+ Key_Reply = 0x010000e5,
|
||||
+ Key_Reload = 0x010000e6,
|
||||
+ Key_RotateWindows = 0x010000e7,
|
||||
+ Key_RotationPB = 0x010000e8,
|
||||
+ Key_RotationKB = 0x010000e9,
|
||||
+ Key_Save = 0x010000ea,
|
||||
+ Key_Send = 0x010000eb,
|
||||
+ Key_Spell = 0x010000ec,
|
||||
+ Key_SplitScreen = 0x010000ed,
|
||||
+ Key_Support = 0x010000ee,
|
||||
+ Key_TaskPane = 0x010000ef,
|
||||
+ Key_Terminal = 0x010000f0,
|
||||
+ Key_Tools = 0x010000f1,
|
||||
+ Key_Travel = 0x010000f2,
|
||||
+ Key_Video = 0x010000f3,
|
||||
+ Key_Word = 0x010000f4,
|
||||
+ Key_Xfer = 0x010000f5,
|
||||
+ Key_ZoomIn = 0x010000f6,
|
||||
+ Key_ZoomOut = 0x010000f7,
|
||||
+ Key_Away = 0x010000f8,
|
||||
+ Key_Messenger = 0x010000f9,
|
||||
+ Key_WebCam = 0x010000fa,
|
||||
+ Key_MailForward = 0x010000fb,
|
||||
+ Key_Pictures = 0x010000fc,
|
||||
+ Key_Music = 0x010000fd,
|
||||
+ Key_Battery = 0x010000fe,
|
||||
+ Key_Bluetooth = 0x010000ff,
|
||||
+ Key_WLAN = 0x01000100,
|
||||
+ Key_UWB = 0x01000101,
|
||||
+ Key_AudioForward = 0x01000102,
|
||||
+ Key_AudioRepeat = 0x01000103,
|
||||
+ Key_AudioRandomPlay = 0x01000104,
|
||||
+ Key_Subtitle = 0x01000105,
|
||||
+ Key_AudioCycleTrack = 0x01000106,
|
||||
+ Key_Time = 0x01000107,
|
||||
+ Key_Hibernate = 0x01000108,
|
||||
+ Key_View = 0x01000109,
|
||||
+ Key_TopMenu = 0x0100010a,
|
||||
+ Key_PowerDown = 0x0100010b,
|
||||
+ Key_Suspend = 0x0100010c,
|
||||
+ Key_ContrastAdjust = 0x0100010d,
|
||||
|
||||
Key_MediaLast = 0x0100ffff,
|
||||
|
||||
diff --git a/src/gui/kernel/qkeymapper_x11.cpp b/src/gui/kernel/qkeymapper_x11.cpp
|
||||
index 98ed61c..f55b491 100644
|
||||
--- a/src/gui/kernel/qkeymapper_x11.cpp
|
||||
+++ b/src/gui/kernel/qkeymapper_x11.cpp
|
||||
@@ -714,47 +714,144 @@ extern bool qt_sm_blockUserInput;
|
||||
#define XK_KP_Delete 0xFF9F
|
||||
#endif
|
||||
|
||||
-// the next lines are taken from XFree > 4.0 (X11/XF86keysyms.h), defining some special
|
||||
+// the next lines are taken on 10/2009 from X.org (X11/XF86keysym.h), defining some special
|
||||
// multimedia keys. They are included here as not every system has them.
|
||||
-#define XF86XK_Standby 0x1008FF10
|
||||
-#define XF86XK_AudioLowerVolume 0x1008FF11
|
||||
-#define XF86XK_AudioMute 0x1008FF12
|
||||
-#define XF86XK_AudioRaiseVolume 0x1008FF13
|
||||
-#define XF86XK_AudioPlay 0x1008FF14
|
||||
-#define XF86XK_AudioStop 0x1008FF15
|
||||
-#define XF86XK_AudioPrev 0x1008FF16
|
||||
-#define XF86XK_AudioNext 0x1008FF17
|
||||
-#define XF86XK_HomePage 0x1008FF18
|
||||
-#define XF86XK_Calculator 0x1008FF1D
|
||||
-#define XF86XK_Mail 0x1008FF19
|
||||
-#define XF86XK_Start 0x1008FF1A
|
||||
-#define XF86XK_Search 0x1008FF1B
|
||||
-#define XF86XK_AudioRecord 0x1008FF1C
|
||||
-#define XF86XK_Back 0x1008FF26
|
||||
-#define XF86XK_Forward 0x1008FF27
|
||||
-#define XF86XK_Stop 0x1008FF28
|
||||
-#define XF86XK_Refresh 0x1008FF29
|
||||
-#define XF86XK_Favorites 0x1008FF30
|
||||
-#define XF86XK_AudioPause 0x1008FF31
|
||||
-#define XF86XK_AudioMedia 0x1008FF32
|
||||
-#define XF86XK_MyComputer 0x1008FF33
|
||||
-#define XF86XK_OpenURL 0x1008FF38
|
||||
-#define XF86XK_Launch0 0x1008FF40
|
||||
-#define XF86XK_Launch1 0x1008FF41
|
||||
-#define XF86XK_Launch2 0x1008FF42
|
||||
-#define XF86XK_Launch3 0x1008FF43
|
||||
-#define XF86XK_Launch4 0x1008FF44
|
||||
-#define XF86XK_Launch5 0x1008FF45
|
||||
-#define XF86XK_Launch6 0x1008FF46
|
||||
-#define XF86XK_Launch7 0x1008FF47
|
||||
-#define XF86XK_Launch8 0x1008FF48
|
||||
-#define XF86XK_Launch9 0x1008FF49
|
||||
-#define XF86XK_LaunchA 0x1008FF4A
|
||||
-#define XF86XK_LaunchB 0x1008FF4B
|
||||
-#define XF86XK_LaunchC 0x1008FF4C
|
||||
-#define XF86XK_LaunchD 0x1008FF4D
|
||||
-#define XF86XK_LaunchE 0x1008FF4E
|
||||
-#define XF86XK_LaunchF 0x1008FF4F
|
||||
+#define XF86XK_MonBrightnessUp 0x1008FF02
|
||||
+#define XF86XK_MonBrightnessDown 0x1008FF03
|
||||
+#define XF86XK_KbdLightOnOff 0x1008FF04
|
||||
+#define XF86XK_KbdBrightnessUp 0x1008FF05
|
||||
+#define XF86XK_KbdBrightnessDown 0x1008FF06
|
||||
+#define XF86XK_Standby 0x1008FF10
|
||||
+#define XF86XK_AudioLowerVolume 0x1008FF11
|
||||
+#define XF86XK_AudioMute 0x1008FF12
|
||||
+#define XF86XK_AudioRaiseVolume 0x1008FF13
|
||||
+#define XF86XK_AudioPlay 0x1008FF14
|
||||
+#define XF86XK_AudioStop 0x1008FF15
|
||||
+#define XF86XK_AudioPrev 0x1008FF16
|
||||
+#define XF86XK_AudioNext 0x1008FF17
|
||||
+#define XF86XK_HomePage 0x1008FF18
|
||||
+#define XF86XK_Mail 0x1008FF19
|
||||
+#define XF86XK_Start 0x1008FF1A
|
||||
+#define XF86XK_Search 0x1008FF1B
|
||||
+#define XF86XK_AudioRecord 0x1008FF1C
|
||||
+#define XF86XK_Calculator 0x1008FF1D
|
||||
+#define XF86XK_Memo 0x1008FF1E
|
||||
+#define XF86XK_ToDoList 0x1008FF1F
|
||||
+#define XF86XK_Calendar 0x1008FF20
|
||||
+#define XF86XK_PowerDown 0x1008FF21
|
||||
+#define XF86XK_ContrastAdjust 0x1008FF22
|
||||
+#define XF86XK_Back 0x1008FF26
|
||||
+#define XF86XK_Forward 0x1008FF27
|
||||
+#define XF86XK_Stop 0x1008FF28
|
||||
+#define XF86XK_Refresh 0x1008FF29
|
||||
+#define XF86XK_PowerOff 0x1008FF2A
|
||||
+#define XF86XK_WakeUp 0x1008FF2B
|
||||
+#define XF86XK_Eject 0x1008FF2C
|
||||
+#define XF86XK_ScreenSaver 0x1008FF2D
|
||||
+#define XF86XK_WWW 0x1008FF2E
|
||||
+#define XF86XK_Sleep 0x1008FF2F
|
||||
+#define XF86XK_Favorites 0x1008FF30
|
||||
+#define XF86XK_AudioPause 0x1008FF31
|
||||
+#define XF86XK_AudioMedia 0x1008FF32
|
||||
+#define XF86XK_MyComputer 0x1008FF33
|
||||
+#define XF86XK_LightBulb 0x1008FF35
|
||||
+#define XF86XK_Shop 0x1008FF36
|
||||
+#define XF86XK_History 0x1008FF37
|
||||
+#define XF86XK_OpenURL 0x1008FF38
|
||||
+#define XF86XK_AddFavorite 0x1008FF39
|
||||
+#define XF86XK_HotLinks 0x1008FF3A
|
||||
+#define XF86XK_BrightnessAdjust 0x1008FF3B
|
||||
+#define XF86XK_Finance 0x1008FF3C
|
||||
+#define XF86XK_Community 0x1008FF3D
|
||||
+#define XF86XK_AudioRewind 0x1008FF3E
|
||||
+#define XF86XK_BackForward 0x1008FF3F
|
||||
+#define XF86XK_Launch0 0x1008FF40
|
||||
+#define XF86XK_Launch1 0x1008FF41
|
||||
+#define XF86XK_Launch2 0x1008FF42
|
||||
+#define XF86XK_Launch3 0x1008FF43
|
||||
+#define XF86XK_Launch4 0x1008FF44
|
||||
+#define XF86XK_Launch5 0x1008FF45
|
||||
+#define XF86XK_Launch6 0x1008FF46
|
||||
+#define XF86XK_Launch7 0x1008FF47
|
||||
+#define XF86XK_Launch8 0x1008FF48
|
||||
+#define XF86XK_Launch9 0x1008FF49
|
||||
+#define XF86XK_LaunchA 0x1008FF4A
|
||||
+#define XF86XK_LaunchB 0x1008FF4B
|
||||
+#define XF86XK_LaunchC 0x1008FF4C
|
||||
+#define XF86XK_LaunchD 0x1008FF4D
|
||||
+#define XF86XK_LaunchE 0x1008FF4E
|
||||
+#define XF86XK_LaunchF 0x1008FF4F
|
||||
+#define XF86XK_ApplicationLeft 0x1008FF50
|
||||
+#define XF86XK_ApplicationRight 0x1008FF51
|
||||
+#define XF86XK_Book 0x1008FF52
|
||||
+#define XF86XK_CD 0x1008FF53
|
||||
+#define XF86XK_Calculater 0x1008FF54
|
||||
+#define XF86XK_Clear 0x1008FF55
|
||||
+#define XF86XK_ClearGrab 0x1008FE21
|
||||
+#define XF86XK_Close 0x1008FF56
|
||||
+#define XF86XK_Copy 0x1008FF57
|
||||
+#define XF86XK_Cut 0x1008FF58
|
||||
+#define XF86XK_Display 0x1008FF59
|
||||
+#define XF86XK_DOS 0x1008FF5A
|
||||
+#define XF86XK_Documents 0x1008FF5B
|
||||
+#define XF86XK_Excel 0x1008FF5C
|
||||
+#define XF86XK_Explorer 0x1008FF5D
|
||||
+#define XF86XK_Game 0x1008FF5E
|
||||
+#define XF86XK_Go 0x1008FF5F
|
||||
+#define XF86XK_iTouch 0x1008FF60
|
||||
+#define XF86XK_LogOff 0x1008FF61
|
||||
+#define XF86XK_Market 0x1008FF62
|
||||
+#define XF86XK_Meeting 0x1008FF63
|
||||
+#define XF86XK_MenuKB 0x1008FF65
|
||||
+#define XF86XK_MenuPB 0x1008FF66
|
||||
+#define XF86XK_MySites 0x1008FF67
|
||||
+#define XF86XK_News 0x1008FF69
|
||||
+#define XF86XK_OfficeHome 0x1008FF6A
|
||||
+#define XF86XK_Option 0x1008FF6C
|
||||
+#define XF86XK_Paste 0x1008FF6D
|
||||
+#define XF86XK_Phone 0x1008FF6E
|
||||
+#define XF86XK_Reply 0x1008FF72
|
||||
+#define XF86XK_Reload 0x1008FF73
|
||||
+#define XF86XK_RotateWindows 0x1008FF74
|
||||
+#define XF86XK_RotationPB 0x1008FF75
|
||||
+#define XF86XK_RotationKB 0x1008FF76
|
||||
+#define XF86XK_Save 0x1008FF77
|
||||
+#define XF86XK_Send 0x1008FF7B
|
||||
+#define XF86XK_Spell 0x1008FF7C
|
||||
+#define XF86XK_SplitScreen 0x1008FF7D
|
||||
+#define XF86XK_Support 0x1008FF7E
|
||||
+#define XF86XK_TaskPane 0x1008FF7F
|
||||
+#define XF86XK_Terminal 0x1008FF80
|
||||
+#define XF86XK_Tools 0x1008FF81
|
||||
+#define XF86XK_Travel 0x1008FF82
|
||||
+#define XF86XK_Video 0x1008FF87
|
||||
+#define XF86XK_Word 0x1008FF89
|
||||
+#define XF86XK_Xfer 0x1008FF8A
|
||||
+#define XF86XK_ZoomIn 0x1008FF8B
|
||||
+#define XF86XK_ZoomOut 0x1008FF8C
|
||||
+#define XF86XK_Away 0x1008FF8D
|
||||
+#define XF86XK_Messenger 0x1008FF8E
|
||||
+#define XF86XK_WebCam 0x1008FF8F
|
||||
+#define XF86XK_MailForward 0x1008FF90
|
||||
+#define XF86XK_Pictures 0x1008FF91
|
||||
+#define XF86XK_Music 0x1008FF92
|
||||
+#define XF86XK_Battery 0x1008FF93
|
||||
+#define XF86XK_Bluetooth 0x1008FF94
|
||||
+#define XF86XK_WLAN 0x1008FF95
|
||||
+#define XF86XK_UWB 0x1008FF96
|
||||
+#define XF86XK_AudioForward 0x1008FF97
|
||||
+#define XF86XK_AudioRepeat 0x1008FF98
|
||||
+#define XF86XK_AudioRandomPlay 0x1008FF99
|
||||
+#define XF86XK_Subtitle 0x1008FF9A
|
||||
+#define XF86XK_AudioCycleTrack 0x1008FF9B
|
||||
+#define XF86XK_Time 0x1008FF9F
|
||||
+#define XF86XK_Select 0x1008FFA0
|
||||
+#define XF86XK_View 0x1008FFA1
|
||||
+#define XF86XK_TopMenu 0x1008FFA2
|
||||
+#define XF86XK_Suspend 0x1008FFA7
|
||||
+#define XF86XK_Hibernate 0x1008FFA8
|
||||
+
|
||||
+
|
||||
// end of XF86keysyms.h
|
||||
|
||||
// Special keys used by Qtopia, mapped into the X11 private keypad range.
|
||||
@@ -942,10 +1039,8 @@ static const unsigned int KeyTbl[] = {
|
||||
XK_dead_hook, Qt::Key_Dead_Hook,
|
||||
XK_dead_horn, Qt::Key_Dead_Horn,
|
||||
|
||||
- // Special multimedia keys
|
||||
- // currently only tested with MS internet keyboard
|
||||
-
|
||||
- // browsing keys
|
||||
+ // Special keys from X.org - This include multimedia keys,
|
||||
+ // wireless/bluetooth/uwb keys, special launcher keys, etc.
|
||||
XF86XK_Back, Qt::Key_Back,
|
||||
XF86XK_Forward, Qt::Key_Forward,
|
||||
XF86XK_Stop, Qt::Key_Stop,
|
||||
@@ -955,8 +1050,6 @@ static const unsigned int KeyTbl[] = {
|
||||
XF86XK_OpenURL, Qt::Key_OpenUrl,
|
||||
XF86XK_HomePage, Qt::Key_HomePage,
|
||||
XF86XK_Search, Qt::Key_Search,
|
||||
-
|
||||
- // media keys
|
||||
XF86XK_AudioLowerVolume, Qt::Key_VolumeDown,
|
||||
XF86XK_AudioMute, Qt::Key_VolumeMute,
|
||||
XF86XK_AudioRaiseVolume, Qt::Key_VolumeUp,
|
||||
@@ -965,13 +1058,106 @@ static const unsigned int KeyTbl[] = {
|
||||
XF86XK_AudioPrev, Qt::Key_MediaPrevious,
|
||||
XF86XK_AudioNext, Qt::Key_MediaNext,
|
||||
XF86XK_AudioRecord, Qt::Key_MediaRecord,
|
||||
-
|
||||
- // launch keys
|
||||
XF86XK_Mail, Qt::Key_LaunchMail,
|
||||
XF86XK_MyComputer, Qt::Key_Launch0,
|
||||
- XF86XK_Calculator, Qt::Key_Launch1,
|
||||
+ XF86XK_Calculator, Qt::Key_Calculator,
|
||||
+ XF86XK_Memo, Qt::Key_Memo,
|
||||
+ XF86XK_ToDoList, Qt::Key_ToDoList,
|
||||
+ XF86XK_Calendar, Qt::Key_Calendar,
|
||||
+ XF86XK_PowerDown, Qt::Key_PowerDown,
|
||||
+ XF86XK_ContrastAdjust, Qt::Key_ContrastAdjust,
|
||||
XF86XK_Standby, Qt::Key_Standby,
|
||||
-
|
||||
+ XF86XK_MonBrightnessUp, Qt::Key_MonBrightnessUp,
|
||||
+ XF86XK_MonBrightnessDown, Qt::Key_MonBrightnessDown,
|
||||
+ XF86XK_KbdLightOnOff, Qt::Key_KeyboardLightOnOff,
|
||||
+ XF86XK_KbdBrightnessUp, Qt::Key_KeyboardBrightnessUp,
|
||||
+ XF86XK_KbdBrightnessDown, Qt::Key_KeyboardBrightnessDown,
|
||||
+ XF86XK_PowerOff, Qt::Key_PowerOff,
|
||||
+ XF86XK_WakeUp, Qt::Key_WakeUp,
|
||||
+ XF86XK_Eject, Qt::Key_Eject,
|
||||
+ XF86XK_ScreenSaver, Qt::Key_ScreenSaver,
|
||||
+ XF86XK_WWW, Qt::Key_WWW,
|
||||
+ XF86XK_Sleep, Qt::Key_Sleep,
|
||||
+ XF86XK_LightBulb, Qt::Key_LightBulb,
|
||||
+ XF86XK_Shop, Qt::Key_Shop,
|
||||
+ XF86XK_History, Qt::Key_History,
|
||||
+ XF86XK_AddFavorite, Qt::Key_AddFavorite,
|
||||
+ XF86XK_HotLinks, Qt::Key_HotLinks,
|
||||
+ XF86XK_BrightnessAdjust, Qt::Key_BrightnessAdjust,
|
||||
+ XF86XK_Finance, Qt::Key_Finance,
|
||||
+ XF86XK_Community, Qt::Key_Community,
|
||||
+ XF86XK_AudioRewind, Qt::Key_AudioRewind,
|
||||
+ XF86XK_BackForward, Qt::Key_BackForward,
|
||||
+ XF86XK_ApplicationLeft, Qt::Key_ApplicationLeft,
|
||||
+ XF86XK_ApplicationRight, Qt::Key_ApplicationRight,
|
||||
+ XF86XK_Book, Qt::Key_Book,
|
||||
+ XF86XK_CD, Qt::Key_CD,
|
||||
+ XF86XK_Calculater, Qt::Key_Calculator,
|
||||
+ XF86XK_Clear, Qt::Key_Clear,
|
||||
+ XF86XK_ClearGrab, Qt::Key_ClearGrab,
|
||||
+ XF86XK_Close, Qt::Key_Close,
|
||||
+ XF86XK_Copy, Qt::Key_Copy,
|
||||
+ XF86XK_Cut, Qt::Key_Cut,
|
||||
+ XF86XK_Display, Qt::Key_Display,
|
||||
+ XF86XK_DOS, Qt::Key_DOS,
|
||||
+ XF86XK_Documents, Qt::Key_Documents,
|
||||
+ XF86XK_Excel, Qt::Key_Excel,
|
||||
+ XF86XK_Explorer, Qt::Key_Explorer,
|
||||
+ XF86XK_Game, Qt::Key_Game,
|
||||
+ XF86XK_Go, Qt::Key_Go,
|
||||
+ XF86XK_iTouch, Qt::Key_iTouch,
|
||||
+ XF86XK_LogOff, Qt::Key_LogOff,
|
||||
+ XF86XK_Market, Qt::Key_Market,
|
||||
+ XF86XK_Meeting, Qt::Key_Meeting,
|
||||
+ XF86XK_MenuKB, Qt::Key_MenuKB,
|
||||
+ XF86XK_MenuPB, Qt::Key_MenuPB,
|
||||
+ XF86XK_MySites, Qt::Key_MySites,
|
||||
+ XF86XK_News, Qt::Key_News,
|
||||
+ XF86XK_OfficeHome, Qt::Key_OfficeHome,
|
||||
+ XF86XK_Option, Qt::Key_Option,
|
||||
+ XF86XK_Paste, Qt::Key_Paste,
|
||||
+ XF86XK_Phone, Qt::Key_Phone,
|
||||
+ XF86XK_Reply, Qt::Key_Reply,
|
||||
+ XF86XK_Reload, Qt::Key_Reload,
|
||||
+ XF86XK_RotateWindows, Qt::Key_RotateWindows,
|
||||
+ XF86XK_RotationPB, Qt::Key_RotationPB,
|
||||
+ XF86XK_RotationKB, Qt::Key_RotationKB,
|
||||
+ XF86XK_Save, Qt::Key_Save,
|
||||
+ XF86XK_Send, Qt::Key_Send,
|
||||
+ XF86XK_Spell, Qt::Key_Spell,
|
||||
+ XF86XK_SplitScreen, Qt::Key_SplitScreen,
|
||||
+ XF86XK_Support, Qt::Key_Support,
|
||||
+ XF86XK_TaskPane, Qt::Key_TaskPane,
|
||||
+ XF86XK_Terminal, Qt::Key_Terminal,
|
||||
+ XF86XK_Tools, Qt::Key_Tools,
|
||||
+ XF86XK_Travel, Qt::Key_Travel,
|
||||
+ XF86XK_Video, Qt::Key_Video,
|
||||
+ XF86XK_Word, Qt::Key_Word,
|
||||
+ XF86XK_Xfer, Qt::Key_Xfer,
|
||||
+ XF86XK_ZoomIn, Qt::Key_ZoomIn,
|
||||
+ XF86XK_ZoomOut, Qt::Key_ZoomOut,
|
||||
+ XF86XK_Away, Qt::Key_Away,
|
||||
+ XF86XK_Messenger, Qt::Key_Messenger,
|
||||
+ XF86XK_WebCam, Qt::Key_WebCam,
|
||||
+ XF86XK_MailForward, Qt::Key_MailForward,
|
||||
+ XF86XK_Pictures, Qt::Key_Pictures,
|
||||
+ XF86XK_Music, Qt::Key_Music,
|
||||
+ XF86XK_Battery, Qt::Key_Battery,
|
||||
+ XF86XK_Bluetooth, Qt::Key_Bluetooth,
|
||||
+ XF86XK_WLAN, Qt::Key_WLAN,
|
||||
+ XF86XK_UWB, Qt::Key_UWB,
|
||||
+ XF86XK_AudioForward, Qt::Key_AudioForward,
|
||||
+ XF86XK_AudioRepeat, Qt::Key_AudioRepeat,
|
||||
+ XF86XK_AudioRandomPlay, Qt::Key_AudioRandomPlay,
|
||||
+ XF86XK_Subtitle, Qt::Key_Subtitle,
|
||||
+ XF86XK_AudioCycleTrack, Qt::Key_AudioCycleTrack,
|
||||
+ XF86XK_Time, Qt::Key_Time,
|
||||
+ XF86XK_Select, Qt::Key_Select,
|
||||
+ XF86XK_View, Qt::Key_View,
|
||||
+ XF86XK_TopMenu, Qt::Key_TopMenu,
|
||||
+ XF86XK_Bluetooth, Qt::Key_Bluetooth,
|
||||
+ XF86XK_Suspend, Qt::Key_Suspend,
|
||||
+ XF86XK_Hibernate, Qt::Key_Hibernate,
|
||||
XF86XK_Launch0, Qt::Key_Launch2,
|
||||
XF86XK_Launch1, Qt::Key_Launch3,
|
||||
XF86XK_Launch2, Qt::Key_Launch4,
|
||||
diff --git a/src/gui/kernel/qkeysequence.cpp b/src/gui/kernel/qkeysequence.cpp
|
||||
index 894f663..665c058 100644
|
||||
--- a/src/gui/kernel/qkeysequence.cpp
|
||||
+++ b/src/gui/kernel/qkeysequence.cpp
|
||||
@@ -396,47 +396,139 @@ static const struct {
|
||||
{ Qt::Key_Menu, QT_TRANSLATE_NOOP("QShortcut", "Menu") },
|
||||
{ Qt::Key_Help, QT_TRANSLATE_NOOP("QShortcut", "Help") },
|
||||
|
||||
- // Multimedia keys
|
||||
- { Qt::Key_Back, QT_TRANSLATE_NOOP("QShortcut", "Back") },
|
||||
- { Qt::Key_Forward, QT_TRANSLATE_NOOP("QShortcut", "Forward") },
|
||||
- { Qt::Key_Stop, QT_TRANSLATE_NOOP("QShortcut", "Stop") },
|
||||
- { Qt::Key_Refresh, QT_TRANSLATE_NOOP("QShortcut", "Refresh") },
|
||||
- { Qt::Key_VolumeDown, QT_TRANSLATE_NOOP("QShortcut", "Volume Down") },
|
||||
- { Qt::Key_VolumeMute, QT_TRANSLATE_NOOP("QShortcut", "Volume Mute") },
|
||||
- { Qt::Key_VolumeUp, QT_TRANSLATE_NOOP("QShortcut", "Volume Up") },
|
||||
- { Qt::Key_BassBoost, QT_TRANSLATE_NOOP("QShortcut", "Bass Boost") },
|
||||
- { Qt::Key_BassUp, QT_TRANSLATE_NOOP("QShortcut", "Bass Up") },
|
||||
- { Qt::Key_BassDown, QT_TRANSLATE_NOOP("QShortcut", "Bass Down") },
|
||||
- { Qt::Key_TrebleUp, QT_TRANSLATE_NOOP("QShortcut", "Treble Up") },
|
||||
- { Qt::Key_TrebleDown, QT_TRANSLATE_NOOP("QShortcut", "Treble Down") },
|
||||
- { Qt::Key_MediaPlay, QT_TRANSLATE_NOOP("QShortcut", "Media Play") },
|
||||
- { Qt::Key_MediaStop, QT_TRANSLATE_NOOP("QShortcut", "Media Stop") },
|
||||
- { Qt::Key_MediaPrevious,QT_TRANSLATE_NOOP("QShortcut", "Media Previous") },
|
||||
- { Qt::Key_MediaNext, QT_TRANSLATE_NOOP("QShortcut", "Media Next") },
|
||||
- { Qt::Key_MediaRecord, QT_TRANSLATE_NOOP("QShortcut", "Media Record") },
|
||||
- { Qt::Key_HomePage, QT_TRANSLATE_NOOP("QShortcut", "Home Page") },
|
||||
- { Qt::Key_Favorites, QT_TRANSLATE_NOOP("QShortcut", "Favorites") },
|
||||
- { Qt::Key_Search, QT_TRANSLATE_NOOP("QShortcut", "Search") },
|
||||
- { Qt::Key_Standby, QT_TRANSLATE_NOOP("QShortcut", "Standby") },
|
||||
- { Qt::Key_OpenUrl, QT_TRANSLATE_NOOP("QShortcut", "Open URL") },
|
||||
- { Qt::Key_LaunchMail, QT_TRANSLATE_NOOP("QShortcut", "Launch Mail") },
|
||||
- { Qt::Key_LaunchMedia, QT_TRANSLATE_NOOP("QShortcut", "Launch Media") },
|
||||
- { Qt::Key_Launch0, QT_TRANSLATE_NOOP("QShortcut", "Launch (0)") },
|
||||
- { Qt::Key_Launch1, QT_TRANSLATE_NOOP("QShortcut", "Launch (1)") },
|
||||
- { Qt::Key_Launch2, QT_TRANSLATE_NOOP("QShortcut", "Launch (2)") },
|
||||
- { Qt::Key_Launch3, QT_TRANSLATE_NOOP("QShortcut", "Launch (3)") },
|
||||
- { Qt::Key_Launch4, QT_TRANSLATE_NOOP("QShortcut", "Launch (4)") },
|
||||
- { Qt::Key_Launch5, QT_TRANSLATE_NOOP("QShortcut", "Launch (5)") },
|
||||
- { Qt::Key_Launch6, QT_TRANSLATE_NOOP("QShortcut", "Launch (6)") },
|
||||
- { Qt::Key_Launch7, QT_TRANSLATE_NOOP("QShortcut", "Launch (7)") },
|
||||
- { Qt::Key_Launch8, QT_TRANSLATE_NOOP("QShortcut", "Launch (8)") },
|
||||
- { Qt::Key_Launch9, QT_TRANSLATE_NOOP("QShortcut", "Launch (9)") },
|
||||
- { Qt::Key_LaunchA, QT_TRANSLATE_NOOP("QShortcut", "Launch (A)") },
|
||||
- { Qt::Key_LaunchB, QT_TRANSLATE_NOOP("QShortcut", "Launch (B)") },
|
||||
- { Qt::Key_LaunchC, QT_TRANSLATE_NOOP("QShortcut", "Launch (C)") },
|
||||
- { Qt::Key_LaunchD, QT_TRANSLATE_NOOP("QShortcut", "Launch (D)") },
|
||||
- { Qt::Key_LaunchE, QT_TRANSLATE_NOOP("QShortcut", "Launch (E)") },
|
||||
- { Qt::Key_LaunchF, QT_TRANSLATE_NOOP("QShortcut", "Launch (F)") },
|
||||
+ // Special keys
|
||||
+ // Includes multimedia, launcher, lan keys ( bluetooth, wireless )
|
||||
+ // window navigation
|
||||
+ { Qt::Key_Back, QT_TRANSLATE_NOOP("QShortcut", "Back") },
|
||||
+ { Qt::Key_Forward, QT_TRANSLATE_NOOP("QShortcut", "Forward") },
|
||||
+ { Qt::Key_Stop, QT_TRANSLATE_NOOP("QShortcut", "Stop") },
|
||||
+ { Qt::Key_Refresh, QT_TRANSLATE_NOOP("QShortcut", "Refresh") },
|
||||
+ { Qt::Key_VolumeDown, QT_TRANSLATE_NOOP("QShortcut", "Volume Down") },
|
||||
+ { Qt::Key_VolumeMute, QT_TRANSLATE_NOOP("QShortcut", "Volume Mute") },
|
||||
+ { Qt::Key_VolumeUp, QT_TRANSLATE_NOOP("QShortcut", "Volume Up") },
|
||||
+ { Qt::Key_BassBoost, QT_TRANSLATE_NOOP("QShortcut", "Bass Boost") },
|
||||
+ { Qt::Key_BassUp, QT_TRANSLATE_NOOP("QShortcut", "Bass Up") },
|
||||
+ { Qt::Key_BassDown, QT_TRANSLATE_NOOP("QShortcut", "Bass Down") },
|
||||
+ { Qt::Key_TrebleUp, QT_TRANSLATE_NOOP("QShortcut", "Treble Up") },
|
||||
+ { Qt::Key_TrebleDown, QT_TRANSLATE_NOOP("QShortcut", "Treble Down") },
|
||||
+ { Qt::Key_MediaPlay, QT_TRANSLATE_NOOP("QShortcut", "Media Play") },
|
||||
+ { Qt::Key_MediaStop, QT_TRANSLATE_NOOP("QShortcut", "Media Stop") },
|
||||
+ { Qt::Key_MediaPrevious, QT_TRANSLATE_NOOP("QShortcut", "Media Previous") },
|
||||
+ { Qt::Key_MediaNext, QT_TRANSLATE_NOOP("QShortcut", "Media Next") },
|
||||
+ { Qt::Key_MediaRecord, QT_TRANSLATE_NOOP("QShortcut", "Media Record") },
|
||||
+ { Qt::Key_HomePage, QT_TRANSLATE_NOOP("QShortcut", "Home Page") },
|
||||
+ { Qt::Key_Favorites, QT_TRANSLATE_NOOP("QShortcut", "Favorites") },
|
||||
+ { Qt::Key_Search, QT_TRANSLATE_NOOP("QShortcut", "Search") },
|
||||
+ { Qt::Key_Standby, QT_TRANSLATE_NOOP("QShortcut", "Standby") },
|
||||
+ { Qt::Key_OpenUrl, QT_TRANSLATE_NOOP("QShortcut", "Open URL") },
|
||||
+ { Qt::Key_LaunchMail, QT_TRANSLATE_NOOP("QShortcut", "Launch Mail") },
|
||||
+ { Qt::Key_LaunchMedia, QT_TRANSLATE_NOOP("QShortcut", "Launch Media") },
|
||||
+ { Qt::Key_Launch0, QT_TRANSLATE_NOOP("QShortcut", "Launch (0)") },
|
||||
+ { Qt::Key_Launch1, QT_TRANSLATE_NOOP("QShortcut", "Launch (1)") },
|
||||
+ { Qt::Key_Launch2, QT_TRANSLATE_NOOP("QShortcut", "Launch (2)") },
|
||||
+ { Qt::Key_Launch3, QT_TRANSLATE_NOOP("QShortcut", "Launch (3)") },
|
||||
+ { Qt::Key_Launch4, QT_TRANSLATE_NOOP("QShortcut", "Launch (4)") },
|
||||
+ { Qt::Key_Launch5, QT_TRANSLATE_NOOP("QShortcut", "Launch (5)") },
|
||||
+ { Qt::Key_Launch6, QT_TRANSLATE_NOOP("QShortcut", "Launch (6)") },
|
||||
+ { Qt::Key_Launch7, QT_TRANSLATE_NOOP("QShortcut", "Launch (7)") },
|
||||
+ { Qt::Key_Launch8, QT_TRANSLATE_NOOP("QShortcut", "Launch (8)") },
|
||||
+ { Qt::Key_Launch9, QT_TRANSLATE_NOOP("QShortcut", "Launch (9)") },
|
||||
+ { Qt::Key_LaunchA, QT_TRANSLATE_NOOP("QShortcut", "Launch (A)") },
|
||||
+ { Qt::Key_LaunchB, QT_TRANSLATE_NOOP("QShortcut", "Launch (B)") },
|
||||
+ { Qt::Key_LaunchC, QT_TRANSLATE_NOOP("QShortcut", "Launch (C)") },
|
||||
+ { Qt::Key_LaunchD, QT_TRANSLATE_NOOP("QShortcut", "Launch (D)") },
|
||||
+ { Qt::Key_LaunchE, QT_TRANSLATE_NOOP("QShortcut", "Launch (E)") },
|
||||
+ { Qt::Key_LaunchF, QT_TRANSLATE_NOOP("QShortcut", "Launch (F)") },
|
||||
+ { Qt::Key_MonBrightnessUp, QT_TRANSLATE_NOOP("QShortcut", "Monitor Brightness Up") },
|
||||
+ { Qt::Key_MonBrightnessDown, QT_TRANSLATE_NOOP("QShortcut", "Monitor Brightness Down") },
|
||||
+ { Qt::Key_KeyboardLightOnOff, QT_TRANSLATE_NOOP("QShortcut", "Keyboard Light On/Off") },
|
||||
+ { Qt::Key_KeyboardBrightnessUp, QT_TRANSLATE_NOOP("QShortcut", "Keyboard Brightness Up") },
|
||||
+ { Qt::Key_KeyboardBrightnessDown, QT_TRANSLATE_NOOP("QShortcut", "Keyboard Brightness Down") },
|
||||
+ { Qt::Key_PowerOff, QT_TRANSLATE_NOOP("QShortcut", "Power Off") },
|
||||
+ { Qt::Key_WakeUp, QT_TRANSLATE_NOOP("QShortcut", "Wake Up") },
|
||||
+ { Qt::Key_Eject, QT_TRANSLATE_NOOP("QShortcut", "Eject") },
|
||||
+ { Qt::Key_ScreenSaver, QT_TRANSLATE_NOOP("QShortcut", "Screensaver") },
|
||||
+ { Qt::Key_WWW, QT_TRANSLATE_NOOP("QShortcut", "WWW") },
|
||||
+ { Qt::Key_Sleep, QT_TRANSLATE_NOOP("QShortcut", "Sleep") },
|
||||
+ { Qt::Key_LightBulb, QT_TRANSLATE_NOOP("QShortcut", "LightBulb") },
|
||||
+ { Qt::Key_Shop, QT_TRANSLATE_NOOP("QShortcut", "Shop") },
|
||||
+ { Qt::Key_History, QT_TRANSLATE_NOOP("QShortcut", "History") },
|
||||
+ { Qt::Key_AddFavorite, QT_TRANSLATE_NOOP("QShortcut", "Add Favorite") },
|
||||
+ { Qt::Key_HotLinks, QT_TRANSLATE_NOOP("QShortcut", "Hot Links") },
|
||||
+ { Qt::Key_BrightnessAdjust, QT_TRANSLATE_NOOP("QShortcut", "Adjust Brightness") },
|
||||
+ { Qt::Key_Finance, QT_TRANSLATE_NOOP("QShortcut", "Finance") },
|
||||
+ { Qt::Key_Community, QT_TRANSLATE_NOOP("QShortcut", "Community") },
|
||||
+ { Qt::Key_AudioRewind, QT_TRANSLATE_NOOP("QShortcut", "Audio Rewind") },
|
||||
+ { Qt::Key_BackForward, QT_TRANSLATE_NOOP("QShortcut", "Back Forward") },
|
||||
+ { Qt::Key_ApplicationLeft, QT_TRANSLATE_NOOP("QShortcut", "Application Left") },
|
||||
+ { Qt::Key_ApplicationRight, QT_TRANSLATE_NOOP("QShortcut", "Application Right") },
|
||||
+ { Qt::Key_Book, QT_TRANSLATE_NOOP("QShortcut", "Book") },
|
||||
+ { Qt::Key_CD, QT_TRANSLATE_NOOP("QShortcut", "CD") },
|
||||
+ { Qt::Key_Calculator, QT_TRANSLATE_NOOP("QShortcut", "Calculator") },
|
||||
+ { Qt::Key_Clear, QT_TRANSLATE_NOOP("QShortcut", "Clear") },
|
||||
+ { Qt::Key_ClearGrab, QT_TRANSLATE_NOOP("QShortcut", "Clear Grab") },
|
||||
+ { Qt::Key_Close, QT_TRANSLATE_NOOP("QShortcut", "Close") },
|
||||
+ { Qt::Key_Copy, QT_TRANSLATE_NOOP("QShortcut", "Copy") },
|
||||
+ { Qt::Key_Cut, QT_TRANSLATE_NOOP("QShortcut", "Cut") },
|
||||
+ { Qt::Key_Display, QT_TRANSLATE_NOOP("QShortcut", "Display") },
|
||||
+ { Qt::Key_DOS, QT_TRANSLATE_NOOP("QShortcut", "DOS") },
|
||||
+ { Qt::Key_Documents, QT_TRANSLATE_NOOP("QShortcut", "Documents") },
|
||||
+ { Qt::Key_Excel, QT_TRANSLATE_NOOP("QShortcut", "Spreadsheet") },
|
||||
+ { Qt::Key_Explorer, QT_TRANSLATE_NOOP("QShortcut", "Browser") },
|
||||
+ { Qt::Key_Game, QT_TRANSLATE_NOOP("QShortcut", "Game") },
|
||||
+ { Qt::Key_Go, QT_TRANSLATE_NOOP("QShortcut", "Go") },
|
||||
+ { Qt::Key_iTouch, QT_TRANSLATE_NOOP("QShortcut", "iTouch") },
|
||||
+ { Qt::Key_LogOff, QT_TRANSLATE_NOOP("QShortcut", "Logoff") },
|
||||
+ { Qt::Key_Market, QT_TRANSLATE_NOOP("QShortcut", "Market") },
|
||||
+ { Qt::Key_Meeting, QT_TRANSLATE_NOOP("QShortcut", "Meeting") },
|
||||
+ { Qt::Key_MenuKB, QT_TRANSLATE_NOOP("QShortcut", "Keyboard Menu") },
|
||||
+ { Qt::Key_MenuPB, QT_TRANSLATE_NOOP("QShortcut", "Menu PB") },
|
||||
+ { Qt::Key_MySites, QT_TRANSLATE_NOOP("QShortcut", "My Sites") },
|
||||
+ { Qt::Key_News, QT_TRANSLATE_NOOP("QShortcut", "News") },
|
||||
+ { Qt::Key_OfficeHome, QT_TRANSLATE_NOOP("QShortcut", "Home Office") },
|
||||
+ { Qt::Key_Option, QT_TRANSLATE_NOOP("QShortcut", "Option") },
|
||||
+ { Qt::Key_Paste, QT_TRANSLATE_NOOP("QShortcut", "Paste") },
|
||||
+ { Qt::Key_Phone, QT_TRANSLATE_NOOP("QShortcut", "Phone") },
|
||||
+ { Qt::Key_Reply, QT_TRANSLATE_NOOP("QShortcut", "Reply") },
|
||||
+ { Qt::Key_Reload, QT_TRANSLATE_NOOP("QShortcut", "Reload") },
|
||||
+ { Qt::Key_RotateWindows, QT_TRANSLATE_NOOP("QShortcut", "Rotate Windows") },
|
||||
+ { Qt::Key_RotationPB, QT_TRANSLATE_NOOP("QShortcut", "Rotation PB") },
|
||||
+ { Qt::Key_RotationKB, QT_TRANSLATE_NOOP("QShortcut", "Rotation KB") },
|
||||
+ { Qt::Key_Save, QT_TRANSLATE_NOOP("QShortcut", "Save") },
|
||||
+ { Qt::Key_Send, QT_TRANSLATE_NOOP("QShortcut", "Send") },
|
||||
+ { Qt::Key_Spell, QT_TRANSLATE_NOOP("QShortcut", "Spellchecker") },
|
||||
+ { Qt::Key_SplitScreen, QT_TRANSLATE_NOOP("QShortcut", "Split Screen") },
|
||||
+ { Qt::Key_Support, QT_TRANSLATE_NOOP("QShortcut", "Support") },
|
||||
+ { Qt::Key_TaskPane, QT_TRANSLATE_NOOP("QShortcut", "Task Panel") },
|
||||
+ { Qt::Key_Terminal, QT_TRANSLATE_NOOP("QShortcut", "Terminal") },
|
||||
+ { Qt::Key_Tools, QT_TRANSLATE_NOOP("QShortcut", "Tools") },
|
||||
+ { Qt::Key_Travel, QT_TRANSLATE_NOOP("QShortcut", "Travel") },
|
||||
+ { Qt::Key_Video, QT_TRANSLATE_NOOP("QShortcut", "Video") },
|
||||
+ { Qt::Key_Word, QT_TRANSLATE_NOOP("QShortcut", "Word Processor") },
|
||||
+ { Qt::Key_Xfer, QT_TRANSLATE_NOOP("QShortcut", "XFer") },
|
||||
+ { Qt::Key_ZoomIn, QT_TRANSLATE_NOOP("QShortcut", "Zoom In") },
|
||||
+ { Qt::Key_ZoomOut, QT_TRANSLATE_NOOP("QShortcut", "Zoom Out") },
|
||||
+ { Qt::Key_Away, QT_TRANSLATE_NOOP("QShortcut", "Away") },
|
||||
+ { Qt::Key_Messenger, QT_TRANSLATE_NOOP("QShortcut", "Messenger") },
|
||||
+ { Qt::Key_WebCam, QT_TRANSLATE_NOOP("QShortcut", "WebCam") },
|
||||
+ { Qt::Key_MailForward, QT_TRANSLATE_NOOP("QShortcut", "Mail Forward") },
|
||||
+ { Qt::Key_Pictures, QT_TRANSLATE_NOOP("QShortcut", "Pictures") },
|
||||
+ { Qt::Key_Music, QT_TRANSLATE_NOOP("QShortcut", "Music") },
|
||||
+ { Qt::Key_Battery, QT_TRANSLATE_NOOP("QShortcut", "Battery") },
|
||||
+ { Qt::Key_Bluetooth, QT_TRANSLATE_NOOP("QShortcut", "Bluetooth") },
|
||||
+ { Qt::Key_WLAN, QT_TRANSLATE_NOOP("QShortcut", "Wireless") },
|
||||
+ { Qt::Key_UWB, QT_TRANSLATE_NOOP("QShortcut", "Ultra Wide Band") },
|
||||
+ { Qt::Key_AudioForward, QT_TRANSLATE_NOOP("QShortcut", "Audio Forward") },
|
||||
+ { Qt::Key_AudioRepeat, QT_TRANSLATE_NOOP("QShortcut", "Audio Repeat") },
|
||||
+ { Qt::Key_AudioRandomPlay, QT_TRANSLATE_NOOP("QShortcut", "Audio Random Play") },
|
||||
+ { Qt::Key_Subtitle, QT_TRANSLATE_NOOP("QShortcut", "Subtitle") },
|
||||
+ { Qt::Key_AudioCycleTrack, QT_TRANSLATE_NOOP("QShortcut", "Audio Cycle Track") },
|
||||
+ { Qt::Key_Time, QT_TRANSLATE_NOOP("QShortcut", "Time") },
|
||||
+ { Qt::Key_Select, QT_TRANSLATE_NOOP("QShortcut", "Select") },
|
||||
+ { Qt::Key_View, QT_TRANSLATE_NOOP("QShortcut", "View") },
|
||||
+ { Qt::Key_TopMenu, QT_TRANSLATE_NOOP("QShortcut", "Top Menu") },
|
||||
+ { Qt::Key_Suspend, QT_TRANSLATE_NOOP("QShortcut", "Suspend") },
|
||||
+ { Qt::Key_Hibernate, QT_TRANSLATE_NOOP("QShortcut", "Hibernate") },
|
||||
|
||||
// --------------------------------------------------------------
|
||||
// More consistent namings
|
||||
--
|
||||
1.6.2.5
|
||||
|
|
@ -0,0 +1,70 @@
|
|||
From 9eb3560cfd5cd0bc9c7bf79f2c27657ee07b8f95 Mon Sep 17 00:00:00 2001
|
||||
From: Albert Astals Cid <aacid@kde.org>
|
||||
Date: Sat, 8 Aug 2009 14:40:25 +0200
|
||||
Subject: [PATCH 17/18] Add context to tr calls in QShortcut
|
||||
|
||||
Some languages have special rules for using "+" to concatenate strings and
|
||||
for example it needs to be Ctrl + Shift instead of Ctrl+Shift, adding
|
||||
context to these strings helps creating a more correct translation
|
||||
---
|
||||
src/gui/kernel/qkeysequence.cpp | 20 ++++++++++----------
|
||||
1 files changed, 10 insertions(+), 10 deletions(-)
|
||||
|
||||
diff --git a/src/gui/kernel/qkeysequence.cpp b/src/gui/kernel/qkeysequence.cpp
|
||||
index 894f663..c17f253 100644
|
||||
--- a/src/gui/kernel/qkeysequence.cpp
|
||||
+++ b/src/gui/kernel/qkeysequence.cpp
|
||||
@@ -991,10 +991,10 @@ int QKeySequencePrivate::decodeString(const QString &str, QKeySequence::Sequence
|
||||
|
||||
QList<QModifKeyName> modifs;
|
||||
if (nativeText) {
|
||||
- modifs << QModifKeyName(Qt::CTRL, QShortcut::tr("Ctrl").toLower().append(QLatin1Char('+')))
|
||||
- << QModifKeyName(Qt::SHIFT, QShortcut::tr("Shift").toLower().append(QLatin1Char('+')))
|
||||
- << QModifKeyName(Qt::ALT, QShortcut::tr("Alt").toLower().append(QLatin1Char('+')))
|
||||
- << QModifKeyName(Qt::META, QShortcut::tr("Meta").toLower().append(QLatin1Char('+')));
|
||||
+ modifs << QModifKeyName(Qt::CTRL, QShortcut::tr("Ctrl", "Ctrl key, used for shortcuts").toLower().append(QLatin1Char('+')))
|
||||
+ << QModifKeyName(Qt::SHIFT, QShortcut::tr("Shift", "Shift key, used for shortcuts").toLower().append(QLatin1Char('+')))
|
||||
+ << QModifKeyName(Qt::ALT, QShortcut::tr("Alt", "Alt key, used for shortcuts").toLower().append(QLatin1Char('+')))
|
||||
+ << QModifKeyName(Qt::META, QShortcut::tr("Meta", "Meta key, used for shortcuts").toLower().append(QLatin1Char('+')));
|
||||
}
|
||||
modifs += *gmodifs; // Test non-translated ones last
|
||||
|
||||
@@ -1086,7 +1086,7 @@ QString QKeySequence::encodeString(int key)
|
||||
static inline void addKey(QString &str, const QString &theKey, QKeySequence::SequenceFormat format)
|
||||
{
|
||||
if (!str.isEmpty())
|
||||
- str += (format == QKeySequence::NativeText) ? QShortcut::tr("+")
|
||||
+ str += (format == QKeySequence::NativeText) ? QShortcut::tr("+", "Symbol used to concatenate keys in shortcuts")
|
||||
: QString::fromLatin1("+");
|
||||
str += theKey;
|
||||
}
|
||||
@@ -1111,13 +1111,13 @@ QString QKeySequencePrivate::encodeString(int key, QKeySequence::SequenceFormat
|
||||
{
|
||||
// On other systems the order is Meta, Control, Alt, Shift
|
||||
if ((key & Qt::META) == Qt::META)
|
||||
- s = nativeText ? QShortcut::tr("Meta") : QString::fromLatin1("Meta");
|
||||
+ s = nativeText ? QShortcut::tr("Meta", "Meta key, used for shortcuts") : QString::fromLatin1("Meta");
|
||||
if ((key & Qt::CTRL) == Qt::CTRL)
|
||||
- addKey(s, nativeText ? QShortcut::tr("Ctrl") : QString::fromLatin1("Ctrl"), format);
|
||||
+ addKey(s, nativeText ? QShortcut::tr("Ctrl", "Ctrl key, used for shortcuts") : QString::fromLatin1("Ctrl"), format);
|
||||
if ((key & Qt::ALT) == Qt::ALT)
|
||||
- addKey(s, nativeText ? QShortcut::tr("Alt") : QString::fromLatin1("Alt"), format);
|
||||
+ addKey(s, nativeText ? QShortcut::tr("Alt", "Alt key, used for shortcuts") : QString::fromLatin1("Alt"), format);
|
||||
if ((key & Qt::SHIFT) == Qt::SHIFT)
|
||||
- addKey(s, nativeText ? QShortcut::tr("Shift") : QString::fromLatin1("Shift"), format);
|
||||
+ addKey(s, nativeText ? QShortcut::tr("Shift", "Shift key, used for shortcuts") : QString::fromLatin1("Shift"), format);
|
||||
}
|
||||
|
||||
|
||||
@@ -1132,7 +1132,7 @@ QString QKeySequencePrivate::encodeString(int key, QKeySequence::SequenceFormat
|
||||
p += QChar((key-0x10000)%400+0xdc00);
|
||||
}
|
||||
} else if (key >= Qt::Key_F1 && key <= Qt::Key_F35) {
|
||||
- p = nativeText ? QShortcut::tr("F%1").arg(key - Qt::Key_F1 + 1)
|
||||
+ p = nativeText ? QShortcut::tr("F%1", "Fx key, used for shortcuts").arg(key - Qt::Key_F1 + 1)
|
||||
: QString::fromLatin1("F%1").arg(key - Qt::Key_F1 + 1);
|
||||
} else if (key) {
|
||||
int i=0;
|
||||
--
|
||||
1.6.2.5
|
||||
|
|
@ -0,0 +1,88 @@
|
|||
diff -up qt-x11-opensource-src-4.5.3/src/gui/image/qnativeimage.cpp.me qt-x11-opensource-src-4.5.3/src/gui/image/qnativeimage.cpp
|
||||
--- qt-x11-opensource-src-4.5.3/src/gui/image/qnativeimage.cpp.me 2009-10-02 18:26:02.000000000 +0200
|
||||
+++ qt-x11-opensource-src-4.5.3/src/gui/image/qnativeimage.cpp 2009-10-02 18:27:13.000000000 +0200
|
||||
@@ -144,7 +144,7 @@ QImage::Format QNativeImage::systemForma
|
||||
#elif defined(Q_WS_X11) && !defined(QT_NO_MITSHM)
|
||||
|
||||
QNativeImage::QNativeImage(int width, int height, QImage::Format format,bool /* isTextBuffer */, QWidget *widget)
|
||||
- : xshmimg(0), xshmpm(0)
|
||||
+ : xshmimg(0)
|
||||
{
|
||||
if (!X11->use_mitshm) {
|
||||
image = QImage(width, height, format);
|
||||
@@ -195,11 +195,6 @@ QNativeImage::QNativeImage(int width, in
|
||||
shmctl(xshminfo.shmid, IPC_RMID, 0);
|
||||
return;
|
||||
}
|
||||
- xshmpm = XShmCreatePixmap(X11->display, DefaultRootWindow(X11->display), xshmimg->data,
|
||||
- &xshminfo, width, height, dd);
|
||||
- if (!xshmpm) {
|
||||
- qWarning() << "QNativeImage: Unable to create shared Pixmap.";
|
||||
- }
|
||||
}
|
||||
|
||||
|
||||
@@ -208,10 +203,6 @@ QNativeImage::~QNativeImage()
|
||||
if (!xshmimg)
|
||||
return;
|
||||
|
||||
- if (xshmpm) {
|
||||
- XFreePixmap(X11->display, xshmpm);
|
||||
- xshmpm = 0;
|
||||
- }
|
||||
XShmDetach(X11->display, &xshminfo);
|
||||
xshmimg->data = 0;
|
||||
XDestroyImage(xshmimg);
|
||||
diff -up qt-x11-opensource-src-4.5.3/src/gui/image/qnativeimage_p.h.me qt-x11-opensource-src-4.5.3/src/gui/image/qnativeimage_p.h
|
||||
--- qt-x11-opensource-src-4.5.3/src/gui/image/qnativeimage_p.h.me 2009-10-02 18:33:38.000000000 +0200
|
||||
+++ qt-x11-opensource-src-4.5.3/src/gui/image/qnativeimage_p.h 2009-10-02 18:34:01.000000000 +0200
|
||||
@@ -90,7 +90,6 @@ public:
|
||||
|
||||
#elif defined(Q_WS_X11) && !defined(QT_NO_MITSHM)
|
||||
XImage *xshmimg;
|
||||
- Pixmap xshmpm;
|
||||
XShmSegmentInfo xshminfo;
|
||||
|
||||
#elif defined(Q_WS_MAC)
|
||||
diff -up qt-x11-opensource-src-4.5.3/src/gui/kernel/qapplication_x11.cpp.me qt-x11-opensource-src-4.5.3/src/gui/kernel/qapplication_x11.cpp
|
||||
--- qt-x11-opensource-src-4.5.3/src/gui/kernel/qapplication_x11.cpp.me 2009-10-02 18:27:55.000000000 +0200
|
||||
+++ qt-x11-opensource-src-4.5.3/src/gui/kernel/qapplication_x11.cpp 2009-10-02 18:33:30.000000000 +0200
|
||||
@@ -1959,12 +1959,9 @@ void qt_init(QApplicationPrivate *priv,
|
||||
bool local = displayName.isEmpty() || displayName.lastIndexOf(QLatin1Char(':')) == 0;
|
||||
if (local && (qgetenv("QT_X11_NO_MITSHM").toInt() == 0)) {
|
||||
Visual *defaultVisual = DefaultVisual(X11->display, DefaultScreen(X11->display));
|
||||
- X11->use_mitshm = mitshm_pixmaps && ((defaultVisual->red_mask == 0xff0000
|
||||
- || defaultVisual->red_mask == 0xf800)
|
||||
- && (defaultVisual->green_mask == 0xff00
|
||||
- || defaultVisual->green_mask == 0x7e0)
|
||||
- && (defaultVisual->blue_mask == 0xff
|
||||
- || defaultVisual->blue_mask == 0x1f));
|
||||
+ X11->use_mitshm = (defaultVisual->red_mask == 0xff0000 || defaultVisual->red_mask == 0xf800)
|
||||
+ && (defaultVisual->green_mask == 0xff00 || defaultVisual->green_mask == 0x7e0)
|
||||
+ && (defaultVisual->blue_mask == 0xff || defaultVisual->blue_mask == 0x1f);
|
||||
}
|
||||
}
|
||||
#endif // QT_NO_MITSHM
|
||||
diff -up qt-x11-opensource-src-4.5.3/src/gui/painting/qwindowsurface_raster.cpp.me qt-x11-opensource-src-4.5.3/src/gui/painting/qwindowsurface_raster.cpp
|
||||
--- qt-x11-opensource-src-4.5.3/src/gui/painting/qwindowsurface_raster.cpp.me 2009-10-02 18:34:18.000000000 +0200
|
||||
+++ qt-x11-opensource-src-4.5.3/src/gui/painting/qwindowsurface_raster.cpp 2009-10-02 18:35:54.000000000 +0200
|
||||
@@ -220,9 +220,16 @@ void QRasterWindowSurface::flush(QWidget
|
||||
|
||||
QRect br = rgn.boundingRect().translated(offset);
|
||||
#ifndef QT_NO_MITSHM
|
||||
- if (d_ptr->image->xshmpm) {
|
||||
- XCopyArea(X11->display, d_ptr->image->xshmpm, widget->handle(), d_ptr->gc,
|
||||
- br.x(), br.y(), br.width(), br.height(), wbr.x(), wbr.y());
|
||||
+ if (d_ptr->image->xshmimg && (br.width() * br.height() > 65536)) {
|
||||
+ const QImage &src = d->image->image;
|
||||
+ br = br.intersected(src.rect());
|
||||
+ // Hack to make sure we satisify the PutImage() constraints in the X server,
|
||||
+ // since the doShmPutImage() route currently forces a migration to system ram.
|
||||
+ wbr.setX(wbr.x() - br.x());
|
||||
+ br.setX(0);
|
||||
+ br.setWidth(src.width());
|
||||
+ XShmPutImage(X11->display, widget->handle(), d_ptr->gc, d_ptr->image->xshmimg,
|
||||
+ br.x(), br.y(), wbr.x(), wbr.y(), br.width(), br.height(), False);
|
||||
XSync(X11->display, False);
|
||||
} else
|
||||
#endif
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,4 @@
|
|||
# quick-n-dirty method to fetch patches from -patched git branch
|
||||
# unfortunately, requires an already checked-out copy of the git repo
|
||||
|
||||
git format-patch --output-directory kde-qt-patches v4.5.3..4.5.3-patched
|
|
@ -1,23 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
DATE=$(date +%Y%m%d)
|
||||
EXPORT_DIR=qt-copy
|
||||
|
||||
set -x
|
||||
rm -rf $EXPORT_DIR
|
||||
|
||||
# trunk tracking qt-4.5 now
|
||||
SVN_ROOT=svn://anonsvn.kde.org/home/kde/trunk/qt-copy
|
||||
|
||||
svn export --non-recursive $SVN_ROOT $EXPORT_DIR/
|
||||
svn export $SVN_ROOT/patches $EXPORT_DIR/patches
|
||||
|
||||
pushd $EXPORT_DIR
|
||||
rm -f ../qt-copy-patches-${DATE}svn.tar.bz2
|
||||
tar cjf ../qt-copy-patches-${DATE}svn.tar.bz2 \
|
||||
.applied_patches apply_patches README.qt-copy patches/
|
||||
popd
|
||||
|
||||
# cleanup
|
||||
rm -rf $EXPORT_DIR
|
||||
|
|
@ -1,25 +0,0 @@
|
|||
diff -up qt-x11-opensource-src-4.5.2/src/3rdparty/webkit/WebCore/html/HTMLTokenizer.cpp.orig qt-x11-opensource-src-4.5.2/src/3rdparty/webkit/WebCore/html/HTMLTokenizer.cpp
|
||||
--- qt-x11-opensource-src-4.5.2/src/3rdparty/webkit/WebCore/html/HTMLTokenizer.cpp.orig 2009-08-18 12:28:26.000000000 +0200
|
||||
+++ qt-x11-opensource-src-4.5.2/src/3rdparty/webkit/WebCore/html/HTMLTokenizer.cpp 2009-08-18 12:33:43.000000000 +0200
|
||||
@@ -867,7 +867,9 @@ HTMLTokenizer::State HTMLTokenizer::pars
|
||||
}
|
||||
} else {
|
||||
// FIXME: We should eventually colorize entities by sending them as a special token.
|
||||
- checkBuffer(11);
|
||||
+ // 12 bytes required: up to 10 bytes in m_cBuffer plus the
|
||||
+ // leading '&' and trailing ';'
|
||||
+ checkBuffer(12);
|
||||
*dest++ = '&';
|
||||
for (unsigned i = 0; i < cBufferPos; i++)
|
||||
dest[i] = m_cBuffer[i];
|
||||
@@ -878,7 +880,9 @@ HTMLTokenizer::State HTMLTokenizer::pars
|
||||
}
|
||||
}
|
||||
} else {
|
||||
- checkBuffer(10);
|
||||
+ // 11 bytes required: up to 10 bytes in m_cBuffer plus the
|
||||
+ // leading '&'
|
||||
+ checkBuffer(11);
|
||||
// ignore the sequence, add it to the buffer as plaintext
|
||||
*dest++ = '&';
|
||||
for (unsigned i = 0; i < cBufferPos; i++)
|
|
@ -1,12 +0,0 @@
|
|||
diff -up qt-x11-opensource-src-4.5.2/src/network/ssl/qsslcertificate.cpp.orig qt-x11-opensource-src-4.5.2/src/network/ssl/qsslcertificate.cpp
|
||||
--- qt-x11-opensource-src-4.5.2/src/network/ssl/qsslcertificate.cpp.orig 2009-08-31 16:46:48.000000000 +0200
|
||||
+++ qt-x11-opensource-src-4.5.2/src/network/ssl/qsslcertificate.cpp 2009-08-31 16:49:47.000000000 +0200
|
||||
@@ -377,7 +377,7 @@ QMultiMap<QSsl::AlternateNameEntryType,
|
||||
}
|
||||
|
||||
const char *altNameStr = reinterpret_cast<const char *>(q_ASN1_STRING_data(genName->d.ia5));
|
||||
- const QString altName = QLatin1String(QByteArray(altNameStr, len));
|
||||
+ const QString altName = QString::fromLatin1(altNameStr, len);
|
||||
if (genName->type == GEN_DNS)
|
||||
result.insert(QSsl::DnsEntry, altName);
|
||||
else if (genName->type == GEN_EMAIL)
|
|
@ -1,28 +0,0 @@
|
|||
diff -up qt-x11-opensource-src-4.5.2/src/3rdparty/webkit/WebCore/html/HTMLElement.cpp qt-x11-opensource-src-4.5.2/src/3rdparty/webkit/WebCore/html/HTMLElement.cpp
|
||||
index 4caf336..b21a3fe 100644
|
||||
--- qt-x11-opensource-src-4.5.2/src/3rdparty/webkit/WebCore/html/HTMLElement.cpp
|
||||
+++ qt-x11-opensource-src-4.5.2/src/3rdparty/webkit/WebCore/html/HTMLElement.cpp
|
||||
@@ -44,6 +44,7 @@
|
||||
#include "XMLTokenizer.h"
|
||||
#include "markup.h"
|
||||
#include <wtf/StdLibExtras.h>
|
||||
+#include <stdio.h>
|
||||
|
||||
namespace WebCore {
|
||||
|
||||
diff -up qt-x11-opensource-src-4.5.2/src/3rdparty/webkit/WebCore/page/DragController.cpp qt-x11-opensource-src-4.5.2/src/3rdparty/webkit/WebCore/page/DragController.cpp
|
||||
index 10a11f2..c756da8 100644
|
||||
--- qt-x11-opensource-src-4.5.2/src/3rdparty/webkit/WebCore/page/DragController.cpp
|
||||
+++ qt-x11-opensource-src-4.5.2/src/3rdparty/webkit/WebCore/page/DragController.cpp
|
||||
@@ -157,7 +157,7 @@ void DragController::dragExited(DragData* dragData)
|
||||
Frame* mainFrame = m_page->mainFrame();
|
||||
|
||||
if (RefPtr<FrameView> v = mainFrame->view()) {
|
||||
- ClipboardAccessPolicy policy = m_document->securityOrigin()->isLocal() ? ClipboardReadable : ClipboardTypesReadable;
|
||||
+ ClipboardAccessPolicy policy = (!m_document || m_document->securityOrigin()->isLocal()) ? ClipboardReadable : ClipboardTypesReadable;
|
||||
RefPtr<Clipboard> clipboard = dragData->createClipboard(policy);
|
||||
clipboard->setSourceOperation(dragData->draggingSourceOperationMask());
|
||||
mainFrame->eventHandler()->cancelDragAndDrop(createMouseEvent(dragData), clipboard.get());
|
||||
--
|
||||
1.6.2.5
|
||||
|
|
@ -1,157 +0,0 @@
|
|||
diff -up qt-x11-opensource-src-4.5.2/src/network/ssl/qsslcertificate.cpp.openssl qt-x11-opensource-src-4.5.2/src/network/ssl/qsslcertificate.cpp
|
||||
--- qt-x11-opensource-src-4.5.2/src/network/ssl/qsslcertificate.cpp.openssl 2009-06-20 06:57:57.000000000 +0200
|
||||
+++ qt-x11-opensource-src-4.5.2/src/network/ssl/qsslcertificate.cpp 2009-08-26 12:14:32.000000000 +0200
|
||||
@@ -362,7 +362,7 @@ QMultiMap<QSsl::AlternateNameEntryType,
|
||||
if (!d->x509)
|
||||
return result;
|
||||
|
||||
- STACK *altNames = (STACK *)q_X509_get_ext_d2i(d->x509, NID_subject_alt_name, 0, 0);
|
||||
+ STACK_OF(GENERAL_NAME) *altNames = (STACK_OF(GENERAL_NAME) *)q_X509_get_ext_d2i(d->x509, NID_subject_alt_name, 0, 0);
|
||||
|
||||
if (altNames) {
|
||||
for (int i = 0; i < q_sk_GENERAL_NAME_num(altNames); ++i) {
|
||||
@@ -383,7 +383,7 @@ QMultiMap<QSsl::AlternateNameEntryType,
|
||||
else if (genName->type == GEN_EMAIL)
|
||||
result.insert(QSsl::EmailEntry, altName);
|
||||
}
|
||||
- q_sk_free(altNames);
|
||||
+ q_sk_free((STACK *)altNames);
|
||||
}
|
||||
|
||||
return result;
|
||||
diff -up qt-x11-opensource-src-4.5.2/src/network/ssl/qsslsocket_openssl.cpp.openssl qt-x11-opensource-src-4.5.2/src/network/ssl/qsslsocket_openssl.cpp
|
||||
--- qt-x11-opensource-src-4.5.2/src/network/ssl/qsslsocket_openssl.cpp.openssl 2009-06-20 06:57:57.000000000 +0200
|
||||
+++ qt-x11-opensource-src-4.5.2/src/network/ssl/qsslsocket_openssl.cpp 2009-08-26 10:40:09.000000000 +0200
|
||||
@@ -911,7 +911,7 @@ QSslCipher QSslSocketBackendPrivate::ses
|
||||
{
|
||||
if (!ssl || !ctx)
|
||||
return QSslCipher();
|
||||
- SSL_CIPHER *sessionCipher = q_SSL_get_current_cipher(ssl);
|
||||
+ SSL_CIPHER *sessionCipher = (SSL_CIPHER *)q_SSL_get_current_cipher(ssl);
|
||||
return sessionCipher ? QSslCipher_from_SSL_CIPHER(sessionCipher) : QSslCipher();
|
||||
}
|
||||
|
||||
diff -up qt-x11-opensource-src-4.5.2/src/network/ssl/qsslsocket_openssl_symbols.cpp.openssl qt-x11-opensource-src-4.5.2/src/network/ssl/qsslsocket_openssl_symbols.cpp
|
||||
--- qt-x11-opensource-src-4.5.2/src/network/ssl/qsslsocket_openssl_symbols.cpp.openssl 2009-08-26 10:36:25.000000000 +0200
|
||||
+++ qt-x11-opensource-src-4.5.2/src/network/ssl/qsslsocket_openssl_symbols.cpp 2009-08-26 12:40:30.000000000 +0200
|
||||
@@ -144,10 +144,10 @@ DEFINEFUNC(int, RAND_status, void, DUMMY
|
||||
DEFINEFUNC(void, RSA_free, RSA *a, a, return, DUMMYARG)
|
||||
DEFINEFUNC(void, sk_free, STACK *a, a, return, DUMMYARG)
|
||||
DEFINEFUNC(int, sk_num, STACK *a, a, return -1, return)
|
||||
-DEFINEFUNC2(char *, sk_value, STACK *a, a, int b, b, return 0, return)
|
||||
+DEFINEFUNC2(OSSL_SKVALUE_RTYPE *, sk_value, STACK *a, a, int b, b, return 0, return)
|
||||
DEFINEFUNC(int, SSL_accept, SSL *a, a, return -1, return)
|
||||
DEFINEFUNC(int, SSL_clear, SSL *a, a, return -1, return)
|
||||
-DEFINEFUNC3(char *, SSL_CIPHER_description, SSL_CIPHER *a, a, char *b, b, int c, c, return 0, return)
|
||||
+DEFINEFUNC3(char *, SSL_CIPHER_description, OSSL_MORECONST SSL_CIPHER *a, a, char *b, b, int c, c, return 0, return)
|
||||
DEFINEFUNC(int, SSL_connect, SSL *a, a, return -1, return)
|
||||
#if OPENSSL_VERSION_NUMBER >= 0x00908000L
|
||||
// 0.9.8 broke SC and BC by changing this function's signature.
|
||||
@@ -157,7 +157,7 @@ DEFINEFUNC(int, SSL_CTX_check_private_ke
|
||||
#endif
|
||||
DEFINEFUNC4(long, SSL_CTX_ctrl, SSL_CTX *a, a, int b, b, long c, c, void *d, d, return -1, return)
|
||||
DEFINEFUNC(void, SSL_CTX_free, SSL_CTX *a, a, return, DUMMYARG)
|
||||
-DEFINEFUNC(SSL_CTX *, SSL_CTX_new, SSL_METHOD *a, a, return 0, return)
|
||||
+DEFINEFUNC(SSL_CTX *, SSL_CTX_new, OSSL_MORECONST SSL_METHOD *a, a, return 0, return)
|
||||
DEFINEFUNC2(int, SSL_CTX_set_cipher_list, SSL_CTX *a, a, const char *b, b, return -1, return)
|
||||
DEFINEFUNC(int, SSL_CTX_set_default_verify_paths, SSL_CTX *a, a, return -1, return)
|
||||
DEFINEFUNC3(void, SSL_CTX_set_verify, SSL_CTX *a, a, int b, b, int (*c)(int, X509_STORE_CTX *), c, return, DUMMYARG)
|
||||
@@ -174,7 +174,7 @@ DEFINEFUNC(STACK_OF(SSL_CIPHER) *, SSL_g
|
||||
#else
|
||||
DEFINEFUNC(STACK_OF(SSL_CIPHER) *, SSL_get_ciphers, SSL *a, a, return 0, return)
|
||||
#endif
|
||||
-DEFINEFUNC(SSL_CIPHER *, SSL_get_current_cipher, SSL *a, a, return 0, return)
|
||||
+DEFINEFUNC(OSSL_MORECONST SSL_CIPHER *, SSL_get_current_cipher, SSL *a, a, return 0, return)
|
||||
DEFINEFUNC2(int, SSL_get_error, SSL *a, a, int b, b, return -1, return)
|
||||
DEFINEFUNC(STACK_OF(X509) *, SSL_get_peer_cert_chain, SSL *a, a, return 0, return)
|
||||
DEFINEFUNC(X509 *, SSL_get_peer_certificate, SSL *a, a, return 0, return)
|
||||
@@ -192,14 +192,14 @@ DEFINEFUNC3(void, SSL_set_bio, SSL *a, a
|
||||
DEFINEFUNC(void, SSL_set_accept_state, SSL *a, a, return, DUMMYARG)
|
||||
DEFINEFUNC(void, SSL_set_connect_state, SSL *a, a, return, DUMMYARG)
|
||||
DEFINEFUNC(int, SSL_shutdown, SSL *a, a, return -1, return)
|
||||
-DEFINEFUNC(SSL_METHOD *, SSLv2_client_method, DUMMYARG, DUMMYARG, return 0, return)
|
||||
-DEFINEFUNC(SSL_METHOD *, SSLv3_client_method, DUMMYARG, DUMMYARG, return 0, return)
|
||||
-DEFINEFUNC(SSL_METHOD *, SSLv23_client_method, DUMMYARG, DUMMYARG, return 0, return)
|
||||
-DEFINEFUNC(SSL_METHOD *, TLSv1_client_method, DUMMYARG, DUMMYARG, return 0, return)
|
||||
-DEFINEFUNC(SSL_METHOD *, SSLv2_server_method, DUMMYARG, DUMMYARG, return 0, return)
|
||||
-DEFINEFUNC(SSL_METHOD *, SSLv3_server_method, DUMMYARG, DUMMYARG, return 0, return)
|
||||
-DEFINEFUNC(SSL_METHOD *, SSLv23_server_method, DUMMYARG, DUMMYARG, return 0, return)
|
||||
-DEFINEFUNC(SSL_METHOD *, TLSv1_server_method, DUMMYARG, DUMMYARG, return 0, return)
|
||||
+DEFINEFUNC(OSSL_MORECONST SSL_METHOD *, SSLv2_client_method, DUMMYARG, DUMMYARG, return 0, return)
|
||||
+DEFINEFUNC(OSSL_MORECONST SSL_METHOD *, SSLv3_client_method, DUMMYARG, DUMMYARG, return 0, return)
|
||||
+DEFINEFUNC(OSSL_MORECONST SSL_METHOD *, SSLv23_client_method, DUMMYARG, DUMMYARG, return 0, return)
|
||||
+DEFINEFUNC(OSSL_MORECONST SSL_METHOD *, TLSv1_client_method, DUMMYARG, DUMMYARG, return 0, return)
|
||||
+DEFINEFUNC(OSSL_MORECONST SSL_METHOD *, SSLv2_server_method, DUMMYARG, DUMMYARG, return 0, return)
|
||||
+DEFINEFUNC(OSSL_MORECONST SSL_METHOD *, SSLv3_server_method, DUMMYARG, DUMMYARG, return 0, return)
|
||||
+DEFINEFUNC(OSSL_MORECONST SSL_METHOD *, SSLv23_server_method, DUMMYARG, DUMMYARG, return 0, return)
|
||||
+DEFINEFUNC(OSSL_MORECONST SSL_METHOD *, TLSv1_server_method, DUMMYARG, DUMMYARG, return 0, return)
|
||||
DEFINEFUNC3(int, SSL_write, SSL *a, a, const void *b, b, int c, c, return -1, return)
|
||||
DEFINEFUNC2(int, X509_cmp, X509 *a, a, X509 *b, b, return -1, return)
|
||||
#ifndef SSLEAY_MACROS
|
||||
diff -up qt-x11-opensource-src-4.5.2/src/network/ssl/qsslsocket_openssl_symbols_p.h.openssl qt-x11-opensource-src-4.5.2/src/network/ssl/qsslsocket_openssl_symbols_p.h
|
||||
--- qt-x11-opensource-src-4.5.2/src/network/ssl/qsslsocket_openssl_symbols_p.h.openssl 2009-06-20 06:57:57.000000000 +0200
|
||||
+++ qt-x11-opensource-src-4.5.2/src/network/ssl/qsslsocket_openssl_symbols_p.h 2009-08-26 10:35:25.000000000 +0200
|
||||
@@ -254,12 +254,20 @@ int q_PEM_write_bio_RSA_PUBKEY(BIO *a, R
|
||||
void q_RAND_seed(const void *a, int b);
|
||||
int q_RAND_status();
|
||||
void q_RSA_free(RSA *a);
|
||||
+#if OPENSSL_VERSION_NUMBER >= 0x10000000L
|
||||
+#define STACK _STACK
|
||||
+#define OSSL_SKVALUE_RTYPE void
|
||||
+#define OSSL_MORECONST const
|
||||
+#else
|
||||
+#define OSSL_SKVALUE_RTYPE char
|
||||
+#define OSSL_MORECONST
|
||||
+#endif
|
||||
void q_sk_free(STACK *a);
|
||||
int q_sk_num(STACK *a);
|
||||
-char * q_sk_value(STACK *a, int b);
|
||||
+OSSL_SKVALUE_RTYPE * q_sk_value(STACK *a, int b);
|
||||
int q_SSL_accept(SSL *a);
|
||||
int q_SSL_clear(SSL *a);
|
||||
-char *q_SSL_CIPHER_description(SSL_CIPHER *a, char *b, int c);
|
||||
+char *q_SSL_CIPHER_description(OSSL_MORECONST SSL_CIPHER *a, char *b, int c);
|
||||
int q_SSL_connect(SSL *a);
|
||||
#if OPENSSL_VERSION_NUMBER >= 0x00908000L
|
||||
// 0.9.8 broke SC and BC by changing this function's signature.
|
||||
@@ -269,7 +277,7 @@ int q_SSL_CTX_check_private_key(SSL_CTX
|
||||
#endif
|
||||
long q_SSL_CTX_ctrl(SSL_CTX *a, int b, long c, void *d);
|
||||
void q_SSL_CTX_free(SSL_CTX *a);
|
||||
-SSL_CTX *q_SSL_CTX_new(SSL_METHOD *a);
|
||||
+SSL_CTX *q_SSL_CTX_new(OSSL_MORECONST SSL_METHOD *a);
|
||||
int q_SSL_CTX_set_cipher_list(SSL_CTX *a, const char *b);
|
||||
int q_SSL_CTX_set_default_verify_paths(SSL_CTX *a);
|
||||
void q_SSL_CTX_set_verify(SSL_CTX *a, int b, int (*c)(int, X509_STORE_CTX *));
|
||||
@@ -286,7 +294,7 @@ STACK_OF(SSL_CIPHER) *q_SSL_get_ciphers(
|
||||
#else
|
||||
STACK_OF(SSL_CIPHER) *q_SSL_get_ciphers(SSL *a);
|
||||
#endif
|
||||
-SSL_CIPHER *q_SSL_get_current_cipher(SSL *a);
|
||||
+OSSL_MORECONST SSL_CIPHER *q_SSL_get_current_cipher(SSL *a);
|
||||
int q_SSL_get_error(SSL *a, int b);
|
||||
STACK_OF(X509) *q_SSL_get_peer_cert_chain(SSL *a);
|
||||
X509 *q_SSL_get_peer_certificate(SSL *a);
|
||||
@@ -304,14 +312,14 @@ void q_SSL_set_bio(SSL *a, BIO *b, BIO *
|
||||
void q_SSL_set_accept_state(SSL *a);
|
||||
void q_SSL_set_connect_state(SSL *a);
|
||||
int q_SSL_shutdown(SSL *a);
|
||||
-SSL_METHOD *q_SSLv2_client_method();
|
||||
-SSL_METHOD *q_SSLv3_client_method();
|
||||
-SSL_METHOD *q_SSLv23_client_method();
|
||||
-SSL_METHOD *q_TLSv1_client_method();
|
||||
-SSL_METHOD *q_SSLv2_server_method();
|
||||
-SSL_METHOD *q_SSLv3_server_method();
|
||||
-SSL_METHOD *q_SSLv23_server_method();
|
||||
-SSL_METHOD *q_TLSv1_server_method();
|
||||
+OSSL_MORECONST SSL_METHOD *q_SSLv2_client_method();
|
||||
+OSSL_MORECONST SSL_METHOD *q_SSLv3_client_method();
|
||||
+OSSL_MORECONST SSL_METHOD *q_SSLv23_client_method();
|
||||
+OSSL_MORECONST SSL_METHOD *q_TLSv1_client_method();
|
||||
+OSSL_MORECONST SSL_METHOD *q_SSLv2_server_method();
|
||||
+OSSL_MORECONST SSL_METHOD *q_SSLv3_server_method();
|
||||
+OSSL_MORECONST SSL_METHOD *q_SSLv23_server_method();
|
||||
+OSSL_MORECONST SSL_METHOD *q_TLSv1_server_method();
|
||||
int q_SSL_write(SSL *a, const void *b, int c);
|
||||
int q_X509_cmp(X509 *a, X509 *b);
|
||||
#ifdef SSLEAY_MACROS
|
|
@ -1,42 +0,0 @@
|
|||
diff -up qt-x11-opensource-src-4.5.2/src/network/ssl/qsslsocket_openssl.cpp.me qt-x11-opensource-src-4.5.2/src/network/ssl/qsslsocket_openssl.cpp
|
||||
--- qt-x11-opensource-src-4.5.2/src/network/ssl/qsslsocket_openssl.cpp.me 2009-09-09 14:28:38.000000000 +0200
|
||||
+++ qt-x11-opensource-src-4.5.2/src/network/ssl/qsslsocket_openssl.cpp 2009-09-09 15:00:07.000000000 +0200
|
||||
@@ -482,31 +482,20 @@ void QSslSocketPrivate::resetDefaultCiph
|
||||
|
||||
QList<QSslCertificate> QSslSocketPrivate::systemCaCertificates()
|
||||
{
|
||||
-#ifdef QQ_OS_UNIX
|
||||
+ QFile caBundle;
|
||||
+
|
||||
+#ifdef Q_OS_UNIX
|
||||
// Check known locations for the system's default bundle. ### On Windows,
|
||||
// we should use CAPI to find the bundle, and not rely on default unix
|
||||
// locations.
|
||||
- const char *standardLocations[] = {"/etc/ssl/certs/",
|
||||
-#if 0
|
||||
- // KDE uses KConfig for its SSL store,
|
||||
- // but it also stores the bundle at
|
||||
- // this location
|
||||
- "$HOME/.kde/share/apps/kssl/ca-bundle.crt",
|
||||
-#endif
|
||||
- 0};
|
||||
- const char **it = standardLocations;
|
||||
- QStringList nameFilter;
|
||||
- nameFilter << QLatin1String("*.pem") << QLatin1String("*.crt");
|
||||
- while (*it) {
|
||||
- if (QDirIterator(QLatin1String(*it), nameFilter).hasNext())
|
||||
- return certificatesFromPath(QLatin1String(*it));
|
||||
- ++it;
|
||||
- }
|
||||
+ caBundle.setFileName(QLatin1String("/etc/pki/tls/certs/ca-bundle.crt"));
|
||||
+ if (caBundle.open(QIODevice::ReadOnly | QIODevice::Text))
|
||||
+ return QSslCertificate::fromDevice(&caBundle);
|
||||
#endif
|
||||
|
||||
// Qt provides a default bundle when we cannot detect the system's default
|
||||
// bundle.
|
||||
- QFile caBundle(QLatin1String(":/trolltech/network/ssl/qt-ca-bundle.crt"));
|
||||
+ caBundle.setFileName(QLatin1String(":/trolltech/network/ssl/qt-ca-bundle.crt"));
|
||||
if (caBundle.open(QIODevice::ReadOnly | QIODevice::Text))
|
||||
return QSslCertificate::fromDevice(&caBundle);
|
||||
|
|
@ -1,92 +0,0 @@
|
|||
From 9e5fa633913ef952ca4ef5312fe396bcfc885321 Mon Sep 17 00:00:00 2001
|
||||
From: Denis Dzyubenko <denis.dzyubenko@nokia.com>
|
||||
Date: Wed, 22 Jul 2009 17:12:17 +0200
|
||||
Subject: [PATCH] Revert "Added a check that X11 timestamp goes forward only."
|
||||
|
||||
In some cases we might get an invalid timestamp that is far away in
|
||||
the future, so remembering it will break all consequent X calls that
|
||||
require a timestamp because it just contains junk (for example
|
||||
clipboard will stop working). This happens with XIM+SCIM pair -
|
||||
whenever we start input method and type something to the widget, we
|
||||
get a XKeyPress event with a commited string, however the 'serial' and
|
||||
'time' members of the XEvent structure are not initialized (according
|
||||
to valgrind) and contain junk.
|
||||
|
||||
This reverts commit 2ed015b8a0ffad63f0f59b0e2255057f416895fb.
|
||||
|
||||
Reviewed-By: Brad
|
||||
---
|
||||
src/gui/kernel/qapplication_x11.cpp | 35 +++++++++++++++--------------------
|
||||
1 files changed, 15 insertions(+), 20 deletions(-)
|
||||
|
||||
diff --git a/src/gui/kernel/qapplication_x11.cpp b/src/gui/kernel/qapplication_x11.cpp
|
||||
index 163ceb6..abedfd6 100644
|
||||
--- a/src/gui/kernel/qapplication_x11.cpp
|
||||
+++ b/src/gui/kernel/qapplication_x11.cpp
|
||||
@@ -3142,48 +3142,43 @@ int QApplication::x11ProcessEvent(XEvent* event)
|
||||
#ifdef ALIEN_DEBUG
|
||||
//qDebug() << "QApplication::x11ProcessEvent:" << event->type;
|
||||
#endif
|
||||
- Time time = 0, userTime = 0;
|
||||
switch (event->type) {
|
||||
case ButtonPress:
|
||||
pressed_window = event->xbutton.window;
|
||||
- userTime = event->xbutton.time;
|
||||
+ X11->userTime = event->xbutton.time;
|
||||
// fallthrough intended
|
||||
case ButtonRelease:
|
||||
- time = event->xbutton.time;
|
||||
+ X11->time = event->xbutton.time;
|
||||
break;
|
||||
case MotionNotify:
|
||||
- time = event->xmotion.time;
|
||||
+ X11->time = event->xmotion.time;
|
||||
break;
|
||||
case XKeyPress:
|
||||
- userTime = event->xkey.time;
|
||||
+ X11->userTime = event->xkey.time;
|
||||
// fallthrough intended
|
||||
case XKeyRelease:
|
||||
- time = event->xkey.time;
|
||||
+ X11->time = event->xkey.time;
|
||||
break;
|
||||
case PropertyNotify:
|
||||
- time = event->xproperty.time;
|
||||
+ X11->time = event->xproperty.time;
|
||||
break;
|
||||
case EnterNotify:
|
||||
case LeaveNotify:
|
||||
- time = event->xcrossing.time;
|
||||
+ X11->time = event->xcrossing.time;
|
||||
break;
|
||||
case SelectionClear:
|
||||
- time = event->xselectionclear.time;
|
||||
+ X11->time = event->xselectionclear.time;
|
||||
break;
|
||||
default:
|
||||
-#ifndef QT_NO_XFIXES
|
||||
- if (X11->use_xfixes && event->type == (X11->xfixes_eventbase + XFixesSelectionNotify)) {
|
||||
- XFixesSelectionNotifyEvent *req =
|
||||
- reinterpret_cast<XFixesSelectionNotifyEvent *>(event);
|
||||
- time = req->selection_timestamp;
|
||||
- }
|
||||
-#endif
|
||||
break;
|
||||
}
|
||||
- if (time > X11->time)
|
||||
- X11->time = time;
|
||||
- if (userTime > X11->userTime)
|
||||
- X11->userTime = userTime;
|
||||
+#ifndef QT_NO_XFIXES
|
||||
+ if (X11->use_xfixes && event->type == (X11->xfixes_eventbase + XFixesSelectionNotify)) {
|
||||
+ XFixesSelectionNotifyEvent *req =
|
||||
+ reinterpret_cast<XFixesSelectionNotifyEvent *>(event);
|
||||
+ X11->time = req->selection_timestamp;
|
||||
+ }
|
||||
+#endif
|
||||
|
||||
QETWidget *widget = (QETWidget*)QWidget::find((WId)event->xany.window);
|
||||
|
||||
--
|
||||
1.6.1
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
diff -up qt-x11-opensource-src-4.5.3/src/network/ssl/qsslsocket_openssl.cpp.system_ca_certificates qt-x11-opensource-src-4.5.3/src/network/ssl/qsslsocket_openssl.cpp
|
||||
--- qt-x11-opensource-src-4.5.3/src/network/ssl/qsslsocket_openssl.cpp.system_ca_certificates 2009-09-29 06:01:38.000000000 -0500
|
||||
+++ qt-x11-opensource-src-4.5.3/src/network/ssl/qsslsocket_openssl.cpp 2009-10-02 11:20:10.674662746 -0500
|
||||
@@ -482,8 +482,20 @@ void QSslSocketPrivate::resetDefaultCiph
|
||||
|
||||
QList<QSslCertificate> QSslSocketPrivate::systemCaCertificates()
|
||||
{
|
||||
+
|
||||
+ QFile caBundle;
|
||||
+
|
||||
+#ifdef Q_OS_UNIX
|
||||
+ // Check known locations for the system's default bundle. ### On Windows,
|
||||
+ // we should use CAPI to find the bundle, and not rely on default unix
|
||||
+ // locations.
|
||||
+ caBundle.setFileName(QLatin1String("/etc/pki/tls/certs/ca-bundle.crt"));
|
||||
+ if (caBundle.open(QIODevice::ReadOnly | QIODevice::Text))
|
||||
+ return QSslCertificate::fromDevice(&caBundle);
|
||||
+#endif
|
||||
+
|
||||
// Qt provides a default bundle of certificates
|
||||
- QFile caBundle(QLatin1String(":/trolltech/network/ssl/qt-ca-bundle.crt"));
|
||||
+ caBundle.setFileName(QLatin1String(":/trolltech/network/ssl/qt-ca-bundle.crt"));
|
||||
if (caBundle.open(QIODevice::ReadOnly | QIODevice::Text))
|
||||
return QSslCertificate::fromDevice(&caBundle);
|
||||
|
101
qt.spec
101
qt.spec
|
@ -9,14 +9,14 @@
|
|||
Summary: Qt toolkit
|
||||
Name: qt
|
||||
Epoch: 1
|
||||
Version: 4.5.2
|
||||
Release: 25%{?dist}
|
||||
Version: 4.5.3
|
||||
Release: 4%{?dist}
|
||||
|
||||
# See LGPL_EXCEPTIONS.txt, LICENSE.GPL3, respectively, for exception details
|
||||
License: LGPLv2 with exceptions or GPLv3 with exceptions
|
||||
Group: System Environment/Libraries
|
||||
Url: http://www.qtsoftware.com/
|
||||
Source0: ftp://ftp.trolltech.com/qt/source/qt-x11-opensource-src-%{version}.tar.bz2
|
||||
Source0: ftp://ftp.qt.nokia.com/qt/source/qt-x11-opensource-src-%{version}.tar.gz
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
||||
Obsoletes: qt4 < %{version}-%{release}
|
||||
Provides: qt4 = %{version}-%{release}
|
||||
|
@ -42,7 +42,7 @@ Patch17: qt-x11-opensource-src-4.5.2-pulseaudio.patch
|
|||
Patch19: qt-x11-opensource-src-4.5.1-phonon.patch
|
||||
Patch21: qt-x11-opensource-src-4.5.2-gst-pulsaudio.patch
|
||||
# use system ca-bundle certs, http://bugzilla.redhat.com/521911
|
||||
Patch22: qt-x11-opensource-src-4.5.2-system_ca_certificates.patch
|
||||
Patch22: qt-x11-opensource-src-4.5.3-system_ca_certificates.patch
|
||||
Requires: ca-certificates
|
||||
# disable JavaScriptCore JIT as it crashes with SE Linux
|
||||
# http://bugzilla.redhat.com/527079
|
||||
|
@ -57,21 +57,30 @@ Patch53: qt-x11-opensource-src-4.5.0-fix-qatomic-inline-asm.patch
|
|||
# fix invalid assumptions about mysql_config --libs
|
||||
# http://bugzilla.redhat.com/440673
|
||||
Patch54: qt-x11-opensource-src-4.5.1-mysql_config.patch
|
||||
Patch55: qt-x11-opensource-src-4.5.2-timestamp.patch
|
||||
# compile with openssl-1.0
|
||||
Patch56: qt-x11-opensource-src-4.5.2-ossl10.patch
|
||||
|
||||
## upstream/security patches
|
||||
Patch100: qt-x11-opensource-src-4.5.2-CVE-2009-1725.patch
|
||||
Patch101: qt-x11-opensource-src-4.5.2-CVE-2009-2700.patch
|
||||
Patch102: qt-x11-opensource-src-4.5.2-fix-webkit-drag-crash.patch
|
||||
# security patches
|
||||
|
||||
# kde-qt git patches
|
||||
Patch201: 0001-This-patch-uses-object-name-as-a-fallback-for-window.patch
|
||||
Patch202: 0002-This-patch-makes-override-redirect-windows-popup-me.patch
|
||||
Patch203: 0003-This-patch-changes-QObjectPrivateVersion-thus-preve.patch
|
||||
Patch204: 0004-This-patch-adds-support-for-using-isystem-to-allow.patch
|
||||
Patch205: 0005-When-tabs-are-inserted-or-removed-in-a-QTabBar.patch
|
||||
Patch206: 0006-Fix-configure.exe-to-do-an-out-of-source-build-on-wi.patch
|
||||
Patch207: 0007-When-using-qmake-outside-qt-src-tree-it-sometimes-g.patch
|
||||
Patch208: 0008-In-a-treeview-with-columns-like-this.patch
|
||||
Patch209: 0009-This-patch-fixes-deserialization-of-values-with-cust.patch
|
||||
Patch210: 0010-Import-README.qt-copy-from-the-original-qt-copy.patch
|
||||
Patch211: 0011-Update-this-file-to-reflect-the-workflow-with-Git-a.patch
|
||||
Patch212: 0274-shm-native-image-fix.patch
|
||||
Patch213: 0015-Make-QMenu-respect-the-minimum-width-set.patch
|
||||
Patch214: 0016-Fill-gap-of-X.org-XFree-multimedia-special-launcher.patch
|
||||
Patch215: 0017-Add-context-to-tr-calls-in-QShortcut.patch
|
||||
|
||||
# switch to kde-qt branches, qt-copy doesn't exist anymore
|
||||
Patch200: kde-qt-patches-20090820git.patch
|
||||
# these patches are not merged yet in kde-qt branches
|
||||
Patch201: 0118-qtcopy-define.diff
|
||||
Patch202: 0283-do-not-deduce-scrollbar-extent-twice.diff
|
||||
Patch203: 0285-qgv-dontshowchildren.diff
|
||||
Patch301: 0118-qtcopy-define.diff
|
||||
Patch302: 0283-do-not-deduce-scrollbar-extent-twice.diff
|
||||
Patch303: 0285-qgv-dontshowchildren.diff
|
||||
|
||||
Source10: http://gstreamer.freedesktop.org/data/images/artwork/gstreamer-logo.svg
|
||||
Source11: hi16-phonon-gstreamer.png
|
||||
|
@ -370,19 +379,30 @@ Qt libraries used for drawing widgets and OpenGL items.
|
|||
%patch52 -p1 -b .sparc64
|
||||
%patch53 -p1 -b .qatomic-inline-asm
|
||||
%patch54 -p1 -b .mysql_config
|
||||
%patch55 -p1 -b .timestamp
|
||||
%patch56 -p1 -b .ossl10
|
||||
|
||||
# upstream/security fixes
|
||||
%patch100 -p1 -b .CVE-2009-1725
|
||||
%patch101 -p1 -b .CVE-2009-2700
|
||||
%patch102 -p1 -b .webkit_drag_crash
|
||||
# security fixes
|
||||
|
||||
# kde-qt branch
|
||||
%patch200 -p1 -b .kde-qt-patches-20090820git
|
||||
%patch201 -p0 -b .0118-qtcopy-define
|
||||
%patch202 -p0 -b .0283-do-not-deduce-scrollbar-extent-twice
|
||||
%patch203 -p0 -b .0285-qgv-dontshowchildren
|
||||
%patch201 -p1 -b .kde-qt-0001
|
||||
%patch202 -p1 -b .kde-qt-0002
|
||||
%patch203 -p1 -b .kde-qt-0003
|
||||
%patch204 -p1 -b .kde-qt-0004
|
||||
%patch205 -p1 -b .kde-qt-0005
|
||||
%patch206 -p1 -b .kde-qt-0006
|
||||
%patch207 -p1 -b .kde-qt-0007
|
||||
%patch208 -p1 -b .kde-qt-0008
|
||||
%patch209 -p1 -b .kde-qt-0009
|
||||
%patch210 -p1 -b .kde-qt-0010
|
||||
%patch211 -p1 -b .kde-qt-0011
|
||||
%patch212 -p1 -b .0274-shm-native-image-fix
|
||||
%patch213 -p1 -b .kde-qt-0015
|
||||
%patch214 -p1 -b .kde-qt-0016
|
||||
%patch215 -p1 -b .kde-qt-0017
|
||||
|
||||
# not yet merged ones
|
||||
%patch301 -p0 -b .0118-qtcopy-define
|
||||
%patch302 -p0 -b .0283-do-not-deduce-scrollbar-extent-twice
|
||||
%patch303 -p0 -b .0285-qgv-dontshowchildren
|
||||
|
||||
# drop -fexceptions from $RPM_OPT_FLAGS
|
||||
RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS | sed 's|-fexceptions||g'`
|
||||
|
@ -419,8 +439,11 @@ if [ "%{_lib}" == "lib64" ] ; then
|
|||
sed -i -e "s,/lib /usr/lib,/%{_lib} /usr/%{_lib},g" config.tests/{unix,x11}/*.test
|
||||
fi
|
||||
|
||||
# let syncqt to create new header
|
||||
rm -rf include
|
||||
# let makefile create missing .qm files, the .qm files should be included in qt upstream
|
||||
for f in translations/*.ts ; do
|
||||
touch ${f%.ts}.qm
|
||||
done
|
||||
|
||||
|
||||
%build
|
||||
|
||||
|
@ -485,6 +508,9 @@ rm -rf include
|
|||
|
||||
make %{?_smp_mflags}
|
||||
|
||||
# recreate .qm files
|
||||
LD_LIBRARY_PATH=`pwd`/lib bin/lrelease translations/*.ts
|
||||
|
||||
|
||||
%install
|
||||
rm -rf %{buildroot}
|
||||
|
@ -528,6 +554,7 @@ sed -i -e "s|^QMAKE_PRL_LIBS|#QMAKE_PRL_LIBS|" %{buildroot}%{_qt4_libdir}/*.prl
|
|||
# .la files, die, die, die.
|
||||
rm -f %{buildroot}%{_qt4_libdir}/lib*.la
|
||||
|
||||
|
||||
%if 0
|
||||
#if "%{_qt4_docdir}" != "%{_qt4_prefix}/doc"
|
||||
# -doc make symbolic link to _qt4_docdir
|
||||
|
@ -943,19 +970,21 @@ fi
|
|||
|
||||
|
||||
%changelog
|
||||
* Fri Oct 09 2009 Rex Dieter <rdieter@fedoraproject.org> - 4.5.2-25
|
||||
- qt webkit crash on drag (#528094)
|
||||
|
||||
* Tue Oct 06 2009 Jaroslav Reznik <jreznik@redhat.com> - 4.5.2-24
|
||||
- disable JavaScriptCore JIT, SE Linux crashes (#527079)
|
||||
|
||||
* Sun Oct 04 2009 Than Ngo <than@redhat.com> - 4.5.2-23
|
||||
* Sat Oct 10 2009 Than Ngo <than@redhat.com> - 4.5.3-4
|
||||
- fix translation build issue
|
||||
- rhel cleanup
|
||||
|
||||
* Sat Oct 03 2009 Rex Dieter <rdieter@fedoraproject.org> - 4.5.2-22
|
||||
* Tue Oct 06 2009 Jaroslav Reznik <jreznik@redhat.com> - 4.5.3-3
|
||||
- disable JavaScriptCore JIT, SE Linux crashes (#527079)
|
||||
|
||||
* Fri Oct 02 2009 Than Ngo <than@redhat.com> - 4.5.3-2
|
||||
- cleanup patches
|
||||
- if ! phonon_internal, exclude more/all phonon headers
|
||||
- qt-devel must Requires: phonon-devel (#520323)
|
||||
|
||||
* Thu Oct 01 2009 Rex Dieter <rdieter@fedoraproject.org> - 4.5.3-1
|
||||
- qt-4.5.3
|
||||
|
||||
* Tue Sep 29 2009 Rex Dieter <rdieter@fedoraproject.org> - 4.5.2-21
|
||||
- switch to external/kde phonon
|
||||
|
||||
|
|
2
sources
2
sources
|
@ -1,10 +1,10 @@
|
|||
d9f511e4b51983b4e10eb58b320416d5 hi128-app-qt4-logo.png
|
||||
6dcc0672ff9e60a6b83f95c5f42bec5b hi48-app-qt4-logo.png
|
||||
8e3924f417fea67f72b2105faed2119c gstreamer-logo.svg
|
||||
28a7e8ac9805a6f614d2a27ee1a6ac9d qt-x11-opensource-src-4.5.2.tar.bz2
|
||||
60de9d7e1cddd019f09fd036f0e5413a hi128-phonon-gstreamer.png
|
||||
7ca265e0cf75b3b4c81e1490d3dba3be hi16-phonon-gstreamer.png
|
||||
0a9f69d901aded140d4fed969c22e14f hi22-phonon-gstreamer.png
|
||||
12db12c009b722a6dc141f78feb7e330 hi32-phonon-gstreamer.png
|
||||
86c34a1b81d44980b1381f94ed6b7a23 hi48-phonon-gstreamer.png
|
||||
153505c71ec021b0a3bd4b74f2492e93 hi64-phonon-gstreamer.png
|
||||
3988cf9af68be2df8a8000ede231de9b qt-x11-opensource-src-4.5.3.tar.gz
|
||||
|
|
Loading…
Reference in New Issue