Package: qt4-x11 / 4:4.8.7+dfsg-19

Metadata

Package Version Patches format
qt4-x11 4:4.8.7+dfsg-19 3.0 (quilt)

Patch series

view the series file
Patch File delta Description
Add_support_for_QT_USE_DRAG_DISTANCE_env_var.patch | (download)

src/gui/kernel/qapplication.cpp | 5 5 + 0 - 0 !
1 file changed, 5 insertions(+)

 support reading of default value for startdragdistance property
from QT_USE_DRAG_DISTANCE environment variable.
See also http://bugreports.qt.nokia.com/browse/QTBUG-12594
QTBUG 21900_Buttons_in_Qt_applications_not_clickable_when_run_under_gnome shell.patch | (download)

src/gui/kernel/qapplication_x11.cpp | 47 41 + 6 - 0 !
1 file changed, 41 insertions(+), 6 deletions(-)

 [patch] fix logic for figuring out what configurenotify positions can be trusted

When reading ahead in the queue for ConfigureNotify events, it's necessary
to look for intermediate ReparentNotify events as well, since they will
determine whether the position in the event can be trusted or not.

Bug: https://bugreports.qt.nokia.com/browse/QTBUG-21900

dont_crash_on_broken_gif_images.patch | (download)

src/gui/image/qgifhandler.cpp | 7 7 + 0 - 0 !
1 file changed, 7 insertions(+)

 [patch] don't crash on broken gif images

Broken GIF images could set invalid width and height
values inside the image, leading to Qt creating a null
QImage for it. In that case we need to abort decoding
the image and return an error.

Initial patch by Rich Moore.

Backport of Id82a4036f478bd6e49c402d6598f57e7e5bb5e1e from Qt 5

Task-number: QTBUG-38367
xmlpatterns_stack_overflow_fix.diff | (download)

src/xmlpatterns/iterators/qitemmappingiterator_p.h | 32 18 + 14 - 0 !
1 file changed, 18 insertions(+), 14 deletions(-)

---
Better handling of invalid font tables.patch | (download)

src/gui/text/qfontengine.cpp | 212 161 + 51 - 0 !
src/gui/text/qfontengine_mac.mm | 11 5 + 6 - 0 !
src/gui/text/qfontengine_mac_p.h | 1 1 + 0 - 0 !
src/gui/text/qfontengine_p.h | 2 1 + 1 - 0 !
src/gui/text/qfontengine_qpa.cpp | 12 6 + 6 - 0 !
src/gui/text/qfontengine_qpf.cpp | 12 6 + 6 - 0 !
src/gui/text/qfontengine_s60.cpp | 9 5 + 4 - 0 !
src/gui/text/qfontengine_s60_p.h | 1 1 + 0 - 0 !
src/gui/text/qfontengine_win.cpp | 22 11 + 11 - 0 !
src/gui/text/qfontengine_win_p.h | 1 1 + 0 - 0 !
10 files changed, 198 insertions(+), 85 deletions(-)

 [patch] better handling of invalid font tables

Specifically when reading files with broken cmap tables, we could
get some undeterministic results. We handle this more gracefully
by verifying that the offsets are sane and bailing out early if not.
This replaces the current pattern throughout the font engine for
consistency.

This is a back-port of 4a1e5dbade4bab55f39bd368480dcca9a11e4b38
from Qt 5.

aarch64_arm64_qatomic_support.patch | (download)

src/corelib/arch/aarch64/arch.pri | 4 4 + 0 - 0 !
src/corelib/arch/aarch64/qatomic_aarch64.cpp | 70 70 + 0 - 0 !
src/corelib/arch/arch.pri | 4 3 + 1 - 0 !
src/corelib/arch/qatomic_aarch64.h | 335 335 + 0 - 0 !
src/corelib/arch/qatomic_arch.h | 2 2 + 0 - 0 !
5 files changed, 414 insertions(+), 1 deletion(-)

 [patch] add qatomic support for aarch64 (aka arm64).

Patch by Mark Salter <msalter@redhat.com>
licensed under BSD:

<https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=735488#195>

This patch is known to not be the most correct way
to implement them, as it seems to be possible to do it in a faster way,
but should work non the less until we can provide something better.

plugin_system_for_systemtray.patch | (download)

examples/desktop/systray/window.cpp | 40 40 + 0 - 0 !
examples/desktop/systray/window.h | 6 6 + 0 - 0 !
src/gui/util/qabstractsystemtrayiconsys.cpp | 65 65 + 0 - 0 !
src/gui/util/qabstractsystemtrayiconsys_p.h | 106 106 + 0 - 0 !
src/gui/util/qsystemtrayicon.cpp | 6 0 + 6 - 0 !
src/gui/util/qsystemtrayicon_p.h | 85 38 + 47 - 0 !
src/gui/util/qsystemtrayicon_x11.cpp | 356 82 + 274 - 0 !
src/gui/util/qxembedsystemtrayicon_x11.cpp | 469 469 + 0 - 0 !
src/gui/util/qxembedsystemtrayicon_x11_p.h | 104 104 + 0 - 0 !
src/gui/util/util.pri | 7 6 + 1 - 0 !
10 files changed, 916 insertions(+), 328 deletions(-)

 introduce a plugin system for qsystemtrayicon.
 Designed to be used with sni-qt (https://launchpad.net/sni-qt)
replace_timestamps_with_fixed_date_in_qhelpgenerator.patch | (download)

tools/assistant/lib/qhelpgenerator.cpp | 4 1 + 3 - 0 !
tools/assistant/tools/qcollectiongenerator/main.cpp | 2 1 + 1 - 0 !
tools/assistant/tools/shared/collectionconfiguration.cpp | 2 1 + 1 - 0 !
3 files changed, 3 insertions(+), 5 deletions(-)

 replace timestamps from qhelpgenerator by a fixed date 
 In order to make qhelpgenerator output reproducible, we need a way to get
 deterministic embedded timestaps.  Backport the patch from qttools5 [1] to
 make qch files reproducible by replacing the current time by a fixed date.  

 [1] https://codereview.qt-project.org/#/c/106296/
CVE 2018 15518.patch | (download)

src/corelib/xml/qxmlstream_p.h | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

 [patch] fix possible heap corruption in qxmlstream

The value of 'tos' at the check might already be on the last element,
so triggering stack expansion on the second last element is too late.

CVE 2018 19869.patch | (download)

src/svg/qsvghandler.cpp | 11 6 + 5 - 0 !
1 file changed, 6 insertions(+), 5 deletions(-)

 [patch] fix crash when parsing malformed url reference

The parsing did not check for end of input.

CVE 2018 19870.patch | (download)

src/gui/image/qgifhandler.cpp | 7 6 + 1 - 0 !
1 file changed, 6 insertions(+), 1 deletion(-)

 [patch] check for qimage allocation failure in qgifhandler

Since image files easily can be (or corrupt files claim to be) huge,
it is worth checking for out of memory situations.

CVE 2018 19871.patch | (download)

src/plugins/imageformats/tga/qtgafile.cpp | 8 8 + 0 - 0 !
1 file changed, 8 insertions(+)

 [patch] tga handler: check for out of range image size

Make the decoder fail early to avoid spending time and memory on
attempting to decode a corrupt image file.

CVE 2018 19872.patch | (download)

src/gui/image/qppmhandler.cpp | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

 [patch] fix crash in qppmhandler for certain malformed image files

The ppm format specifies that the maximum color value field must be
less than 65536. The handler did not enforce this, leading to
potentional overflow when the value was used in 16 bits context.

Task-number: QTBUG-69449
CVE 2018 19873.patch | (download)

src/gui/image/qbmphandler.cpp | 2 2 + 0 - 0 !
1 file changed, 2 insertions(+)

 [patch] bmp image handler: check for out of range image size

Make the decoder fail early to avoid spending time and memory on
attempting to decode a corrupt image file.

0195 compositing properties.diff | (download)

src/gui/kernel/qwidget_x11.cpp | 21 15 + 6 - 0 !
1 file changed, 15 insertions(+), 6 deletions(-)

 [patch 02/16] 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

0225 invalidate tabbar geometry on refresh.patch | (download)

src/gui/widgets/qtabbar.cpp | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

 [patch 05/16] 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

qtdebug_syslog.patch | (download)

src/corelib/global/qglobal.cpp | 24 24 + 0 - 0 !
src/corelib/kernel/qcoreapplication_p.h | 2 2 + 0 - 0 !
2 files changed, 26 insertions(+)

 send q_assert, qdebug, qwarning and qfatal messages to syslog
buildable_appchooser_states_demos.patch | (download)

examples/animation/appchooser/appchooser.pro | 3 2 + 1 - 0 !
examples/animation/states/states.pro | 4 3 + 1 - 0 !
2 files changed, 5 insertions(+), 2 deletions(-)

 make states and appchooser demos buildable
Bug-Debian: http://bugs.debian.org/616500
02_syncqt_sane_timestamp_for_nonexisting_headers.diff | (download)

bin/syncqt | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

 set sane timestamps when generating header symlinks for non-existing headers
07_trust_dpkg arch_over_uname m.diff | (download)

configure | 48 47 + 1 - 0 !
1 file changed, 47 insertions(+), 1 deletion(-)

---
08_configure_quilt_compat.diff | (download)

configure | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

---
10_config_tests_fixes.diff | (download)

config.tests/unix/gstreamer/gstreamer.pro | 1 1 + 0 - 0 !
config.tests/unix/ibase/ibase.pro | 2 1 + 1 - 0 !
config.tests/unix/sqlite/sqlite.pro | 1 1 + 0 - 0 !
src/sql/drivers/ibase/qsql_ibase.pri | 2 1 + 1 - 0 !
4 files changed, 4 insertions(+), 2 deletions(-)

 various config.test fixes.
             Build ibase sql plugin against firebird.
             Add gstreamer include path.
11_build_translations.diff | (download)

tools/assistant/translations/qt_help.pro | 53 53 + 0 - 0 !
tools/assistant/translations/translations.pro | 54 54 + 0 - 0 !
tools/designer/translations/translations.pro | 141 141 + 0 - 0 !
3 files changed, 248 insertions(+)

---
12_add_nostrip_for_debug_packages.diff | (download)

configure | 2 2 + 0 - 0 !
1 file changed, 2 insertions(+)

---
15_fix_qmake_makefile_generation.diff | (download)

qmake/generators/makefile.cpp | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

 fix qmake makefile generation - should not add double slashes to makefiles.
16_hide_std_symbols_on_qtwebkit.diff | (download)

src/3rdparty/webkit/Source/WebKit.pri | 2 2 + 0 - 0 !
src/3rdparty/webkit/Source/symbols.filter | 5 5 + 0 - 0 !
2 files changed, 7 insertions(+)

 don't make the std:: symbols in webkit public.
Solution based on the work of Mike Hommey in the gtk webkit package.
18_enable_qt3support_qtwebkit_debug_info.diff | (download)

src/3rdparty/webkit/Source/JavaScriptCore/JavaScriptCore.pro | 2 0 + 2 - 0 !
src/3rdparty/webkit/Source/WebCore/WebCore.pri | 2 0 + 2 - 0 !
src/qt3support/qt3support.pro | 3 0 + 3 - 0 !
3 files changed, 7 deletions(-)

---
20_install_qvfb.diff | (download)

tools/tools.pro | 2 2 + 0 - 0 !
1 file changed, 2 insertions(+)

 build qvfb tool
23_permit_plugins_built_with_future_qt.diff | (download)

src/corelib/plugin/qlibrary.cpp | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

 permit loading plugins built with future major qt releases (4.x)
30_webkit_unaligned_access.diff | (download)

src/3rdparty/webkit/Source/JavaScriptCore/wtf/ListHashSet.h | 9 3 + 6 - 0 !
1 file changed, 3 insertions(+), 6 deletions(-)

 fixed some alignment problems on sparc
X-Git-Tag: debian/1.0.1-1~7
40_alpha_ice.diff | (download)

src/corelib/global/qlibraryinfo.cpp | 14 8 + 6 - 0 !
src/corelib/tools/qhash.h | 2 1 + 1 - 0 !
2 files changed, 9 insertions(+), 7 deletions(-)

 workaround for -fvisibility-inlines-hidden on alpha:
             break out the static methods so they're not inlined.
             fix FTBFS on alpha.
Bug-Debian: http://bugs.debian.org/368883
41_disable_opengl_visibility.diff | (download)

src/opengl/opengl.pro | 1 1 + 0 - 0 !
1 file changed, 1 insertion(+)

---
50_kfreebsd_Q_OS.diff | (download)

src/corelib/global/qglobal.h | 2 2 + 0 - 0 !
1 file changed, 2 insertions(+)

 fixes ftbfs on gnu/kfreebsd by creating new q_os_freebsd_kernel.
51_kfreebsd_strnstr_build_fix.diff | (download)

src/3rdparty/javascriptcore/JavaScriptCore/wtf/Platform.h | 2 1 + 1 - 0 !
src/3rdparty/webkit/Source/JavaScriptCore/wtf/Platform.h | 2 1 + 1 - 0 !
2 files changed, 2 insertions(+), 2 deletions(-)

 fix ftbfs on gnu/kfreebsd caused by missing strnstr() on glibc systems.
70_hppa_ldcw_fix.diff | (download)

src/corelib/arch/parisc/q_ldcw.s | 14 2 + 12 - 0 !
1 file changed, 2 insertions(+), 12 deletions(-)

---
71_hppa_unaligned_access_fix_458133.diff | (download)

src/3rdparty/sha1/sha1.cpp | 8 4 + 4 - 0 !
1 file changed, 4 insertions(+), 4 deletions(-)

---
80_hurd_max_path.diff | (download)

src/3rdparty/clucene/src/CLucene/config/compiler.h | 4 4 + 0 - 0 !
1 file changed, 4 insertions(+)

 path_max fix
 Fix a POSIX incompatibility (as programs should not rely on having PATH_MAX
 defined on all systems) and causes FTBFS on Hurd.


92_armel_gcc43_valist_compat.diff | (download)

src/corelib/tools/qstring.cpp | 5 5 + 0 - 0 !
src/corelib/tools/qvsnprintf.cpp | 6 6 + 0 - 0 !
2 files changed, 11 insertions(+)

 restore qtcore abi compatibility with binaries built with g++ 4.3 on armel
 Once Qt is rebuilt with g++ 4.4, it becomes ABI incompatible with binaries
 built with g++ 4.3 on armel. That's because g++ 4.4 mangles va_list
94_armv6_uname_entry.diff | (download)

configure | 3 3 + 0 - 0 !
1 file changed, 3 insertions(+)

 add armv6 uname entry for armhf

96_webkit_no_gc_sections.diff | (download)

src/3rdparty/webkit/Source/WebCore/WebCore.pri | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

 don't link qtwebkit with --gc-sections on powerpc and s390
 This works around a binutils bug that results in a segfault on powerpc,
 an internal link error on s390, and OOM condition on mipsel.
99_hppa_bug561203_decrease_failure_rate.diff | (download)

src/corelib/io/qprocess_unix.cpp | 10 10 + 0 - 0 !
1 file changed, 10 insertions(+)

 decrease failure rate of qprocess (#561203) on hppa ~100+ times
 The patch adds a usleep() of 1000 before fork() in QProcess on hppa. This hack
 seems to bring down likelihood of failure caused by #561203 from ~ 1/6 to
~1/1000 when run in a row. Hopefully, this will make failures rare enough
 not to cause FTBFSes.
 Degradation in performance should not be very significant and is acceptable.
powerpcspe.diff | (download)

configure | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

 identify powerpcspe as powerpc.
Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=623185
sh.diff | (download)

configure | 6 6 + 0 - 0 !
1 file changed, 6 insertions(+)

 identify superh correctly.
Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=623281
kfreebsd_monotonic_clock.diff | (download)

config.tests/unix/clock-gettime/clock-gettime.pri | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

 fix monotonic clock detection on kfreebsd
Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=624679
powerpc_designer_gstabs.diff | (download)

tools/designer/src/components/signalsloteditor/signalsloteditor.pri | 7 7 + 0 - 0 !
1 file changed, 7 insertions(+)

 workaround ftbfs on powerpc/gcc 4.6 in signalsloteditor
qt multiarch plugin path compat.diff | (download)

src/corelib/kernel/qcoreapplication.cpp | 17 17 + 0 - 0 !
src/declarative/qml/qdeclarativeimport.cpp | 16 16 + 0 - 0 !
2 files changed, 33 insertions(+)

 include legacy pre-multiarch plugin paths
 A full multiarch system requires an architecture-qualified plugin path for
 Qt, but installed systems may still have plugins (e.g., from other
 distribution packages) in another pre-multiarch directory.  When constructing
 the plugin path, include both the configured plugin path and a plugin path
 with the architecture triplet stripped out.
 .
 This applies to the general plugin loading system, and to the QML one.
s390x_jscore.diff | (download)

src/3rdparty/javascriptcore/JavaScriptCore/wtf/Platform.h | 14 13 + 1 - 0 !
1 file changed, 13 insertions(+), 1 deletion(-)

 add support for s390/s390x architectures
add_missing_method_for_QBasicAtomicPointer_on_s390.patch | (download)

src/corelib/arch/qatomic_s390.h | 10 10 + 0 - 0 !
1 file changed, 10 insertions(+)

 add missing method for qbasicatomicpointer on s390(x)
no_libicu_message.diff | (download)

src/corelib/tools/qlocale_icu.cpp | 4 4 + 0 - 0 !
1 file changed, 4 insertions(+)

 disable the warnings about not being able to dlopen icu libraries.
 Most of the applications don't need ICU-based functions for locale-aware
 string upper- and lower-casing and comparison. If not present, Qt will use the
 own ways (i.e. those used also in Qt < 4.8).