SOURCES: 0258-windowsxpstyle-qbrush.diff, 0261-sync-before-reset-errorhandl...
arekm
arekm at pld-linux.org
Sat Feb 28 16:29:44 CET 2009
Author: arekm Date: Sat Feb 28 15:29:44 2009 GMT
Module: SOURCES Tag: HEAD
---- Log message:
- from kde svn
---- Files affected:
SOURCES:
0258-windowsxpstyle-qbrush.diff (1.1 -> 1.2) , 0261-sync-before-reset-errorhandler.patch (NONE -> 1.1) (NEW), 0259-restart-select-on-EINTR.diff (NONE -> 1.1) (NEW), 0260-fix-qgraphicswidget-deletionclearFocus.diff (NONE -> 1.1) (NEW), 0262-fix-treeview-animation-crash.diff (NONE -> 1.1) (NEW), 0263-fix-fontconfig-handling.diff (NONE -> 1.1) (NEW)
---- Diffs:
================================================================
Index: SOURCES/0258-windowsxpstyle-qbrush.diff
diff -u SOURCES/0258-windowsxpstyle-qbrush.diff:1.1 SOURCES/0258-windowsxpstyle-qbrush.diff:1.2
--- SOURCES/0258-windowsxpstyle-qbrush.diff:1.1 Sat Nov 8 22:23:59 2008
+++ SOURCES/0258-windowsxpstyle-qbrush.diff Sat Feb 28 16:29:37 2009
@@ -1,6 +1,6 @@
-qt-bugs@ issue : none
-Trolltech task ID : none
-applied: yes
+qt-bugs@ issue : N234506
+Trolltech task ID : 234932
+applied: no
author: Patrick Spendrin <ps_ml at gmx.de>
This makes windows style paint a frame and not a rect for QStyle::PE_Frame
================================================================
Index: SOURCES/0261-sync-before-reset-errorhandler.patch
diff -u /dev/null SOURCES/0261-sync-before-reset-errorhandler.patch:1.1
--- /dev/null Sat Feb 28 16:29:46 2009
+++ SOURCES/0261-sync-before-reset-errorhandler.patch Sat Feb 28 16:29:35 2009
@@ -0,0 +1,22 @@
+qt-bugs@ issue : 236401
+Trolltech task ID : none
+bugs.kde.org number : none
+applied: no
+author: Lubos Lunak <l.lunak at kde.org>
+
+Sync X connection before resetting X error handler to the one provided
+by Xlib (which just aborts), in case there are still queued requests
+that may result in an error.
+
+
+--- src/gui/kernel/qapplication_x11.cpp.sav 2008-10-20 21:07:11.000000000 +0200
++++ src/gui/kernel/qapplication_x11.cpp 2008-11-25 15:02:31.000000000 +0100
+@@ -2312,6 +2312,8 @@ void qt_cleanup()
+ #endif
+
+ // Reset the error handlers
++ if (qt_is_gui_used)
++ XSync(X11->display, False); // sync first to process all possible errors
+ XSetErrorHandler(original_x_errhandler);
+ XSetIOErrorHandler(original_xio_errhandler);
+
================================================================
Index: SOURCES/0259-restart-select-on-EINTR.diff
diff -u /dev/null SOURCES/0259-restart-select-on-EINTR.diff:1.1
--- /dev/null Sat Feb 28 16:29:46 2009
+++ SOURCES/0259-restart-select-on-EINTR.diff Sat Feb 28 16:29:38 2009
@@ -0,0 +1,68 @@
+qt-bugs@ issue : none
+Trolltech task ID : 226687
+bugs.kde.org number : none (but they could, issues caused by this are sometimes hard to find)
+applied: no
+author: Marcos Dione <mdione at grulic.org.ar>
+
+This patch handles a interupted select by a unix signal. So that the socket
+doesn't get closed in such cases.
+
+See http://lists.kde.org/?l=kde-core-devel&m=122628518123927&w=2
+
+The issue is already marked as fixed by Qt Software and sheduled for QT 4.4.4
+The official patch posted by Thiago on kcd is linux specific,
+so I will take this more general one.
+
+
+Index: src/network/socket/qnativesocketengine_unix.cpp
+===================================================================
+--- src/network/socket/qnativesocketengine_unix.cpp (revision 882581)
++++ src/network/socket/qnativesocketengine_unix.cpp (working copy)
+@@ -856,18 +856,10 @@
+
+ int QNativeSocketEnginePrivate::nativeSelect(int timeout, bool selectForRead) const
+ {
+- fd_set fds;
+- FD_ZERO(&fds);
+- FD_SET(socketDescriptor, &fds);
++ bool selectForWrite = not selectForRead;
+
+- struct timeval tv;
+- tv.tv_sec = timeout / 1000;
+- tv.tv_usec = (timeout % 1000) * 1000;
+-
+- if (selectForRead)
+- return select(socketDescriptor + 1, &fds, 0, 0, timeout < 0 ? 0 : &tv);
+- else
+- return select(socketDescriptor + 1, 0, &fds, 0, timeout < 0 ? 0 : &tv);
++ return nativeSelect (timeout, selectForRead, selectForWrite,
++ &selectForRead, &selectForWrite);
+ }
+
+ int QNativeSocketEnginePrivate::nativeSelect(int timeout, bool checkRead, bool checkWrite,
+@@ -884,10 +876,22 @@
+ FD_SET(socketDescriptor, &fdwrite);
+
+ struct timeval tv;
+- tv.tv_sec = timeout / 1000;
+- tv.tv_usec = (timeout % 1000) * 1000;
++ int left= timeout;
++ clock_t start, stop;
+
+- int ret = select(socketDescriptor + 1, &fdread, &fdwrite, 0, timeout < 0 ? 0 : &tv);
++ int ret;
++ do {
++ tv.tv_sec = left / 1000;
++ tv.tv_usec = (left % 1000) * 1000;
++
++ start = clock();
++ ret = select(socketDescriptor + 1, &fdread, &fdwrite, 0, timeout < 0 ? 0 : &tv);
++ stop = clock();
++ // calcule how much we should wait
++ // instead of using the same value again
++ left= left - (stop-start)/CLOCKS_PER_SEC*1000;
++ } while (ret == -1 && errno == EINTR);
++
+ if (ret <= 0)
+ return ret;
+
================================================================
Index: SOURCES/0260-fix-qgraphicswidget-deletionclearFocus.diff
diff -u /dev/null SOURCES/0260-fix-qgraphicswidget-deletionclearFocus.diff:1.1
--- /dev/null Sat Feb 28 16:29:47 2009
+++ SOURCES/0260-fix-qgraphicswidget-deletionclearFocus.diff Sat Feb 28 16:29:38 2009
@@ -0,0 +1,23 @@
+qt-bugs@ issue : none
+Trolltech task ID : None
+applied: no
+author: Alexis Menard <alexis.menard at trolltech.com>
+
+Fix deletion of a qgraphicswidget on clear focus even if it doesn't have the focus.
+
+Will be included in 4.4.4
+
+Index: ../src/gui/graphicsview/qgraphicsitem.cpp
+===================================================================
+--- src/gui/graphicsview/qgraphicsitem.cpp (revision 883124)
++++ src/gui/graphicsview/qgraphicsitem.cpp (working copy)
+@@ -1951,7 +1951,7 @@
+ */
+ void QGraphicsItem::clearFocus()
+ {
+- if (!d_ptr->scene || !hasFocus())
++ if (!d_ptr->scene)
+ return;
+ if (d_ptr->isWidget) {
+ // Invisible widget items with focus must explicitly clear subfocus.
+
================================================================
Index: SOURCES/0262-fix-treeview-animation-crash.diff
diff -u /dev/null SOURCES/0262-fix-treeview-animation-crash.diff:1.1
--- /dev/null Sat Feb 28 16:29:47 2009
+++ SOURCES/0262-fix-treeview-animation-crash.diff Sat Feb 28 16:29:39 2009
@@ -0,0 +1,46 @@
+Trolltech task ID : 236454
+bugs.kde.org number : 176045
+applied: no
+author: Olivier Goffart
+
+This patch makes sure no deleted items are being accessed during an animation of the treeview
+It will also be contained in the upcoming Qt snapshots
+Index: src/gui/itemviews/qtreeview.cpp
+===================================================================
+--- src/gui/itemviews/qtreeview.cpp (revision 889029)
++++ src/gui/itemviews/qtreeview.cpp (working copy)
+@@ -2802,10 +2802,9 @@
+ q->setState(oldState);
+
+ if (emitSignal) {
++ emit q->expanded(index);
+ if (animationsEnabled)
+ beginAnimatedOperation();
+- else
+- emit q->expanded(index);
+ }
+ if (model->canFetchMore(index))
+ model->fetchMore(index);
+@@ -2843,10 +2842,9 @@
+ q->setState(oldState);
+
+ if (emitSignal) {
++ emit q->collapsed(modelIndex);
+ if (animationsEnabled)
+ beginAnimatedOperation();
+- else
+- emit q->collapsed(modelIndex);
+ }
+ }
+
+@@ -2901,10 +2899,6 @@
+ animatedOperation.before = QPixmap();
+ animatedOperation.after = QPixmap();
+ q->setState(QAbstractItemView::NoState);
+- if (animatedOperation.type == AnimatedOperation::Expand)
+- emit q->expanded(viewItems.at(animatedOperation.item).index);
+- else // operation == AnimatedOperation::Collapse
+- emit q->collapsed(viewItems.at(animatedOperation.item).index);
+ q->updateGeometries();
+ viewport->update();
+ }
================================================================
Index: SOURCES/0263-fix-fontconfig-handling.diff
diff -u /dev/null SOURCES/0263-fix-fontconfig-handling.diff:1.1
--- /dev/null Sat Feb 28 16:29:48 2009
+++ SOURCES/0263-fix-fontconfig-handling.diff Sat Feb 28 16:29:39 2009
@@ -0,0 +1,32 @@
+Trolltech task ID : none
+bugs.kde.org number : none
+applied: no
+author: from Trolltech (fixed in Qt 4.5)
+
+Legacy font-name mappings are also applied when fontconfig is used,
+which breaks fontconfig configuration in subtle ways (sans serif
+is mapped to helvetica for example). Avoid this legacy substitution
+when font config is used.
+
+--- src/gui/text/qfont.cpp
++++ src/gui/text/qfont.cpp
+@@ -59,6 +59,7 @@
+
+ #ifdef Q_WS_X11
+ #include "qx11info_x11.h"
++#include <private/qt_x11_p.h>
+ #endif
+ #ifdef Q_WS_QWS
+ #include "qscreen_qws.h"
+@@ -1781,6 +1782,11 @@ static void initFontSubst()
+ if (!fontSubst->isEmpty())
+ return;
+
++#if defined(Q_WS_X11) && !defined(QT_NO_FONTCONFIG)
++ if (X11->has_fontconfig)
++ return;
++#endif
++
+ for (int i=0; initTbl[i] != 0; i += 2) {
+ QStringList &list = (*fontSubst)[QString::fromLatin1(initTbl[i])];
+ list.append(QString::fromLatin1(initTbl[i+1]));
================================================================
---- CVS-web:
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/SOURCES/0258-windowsxpstyle-qbrush.diff?r1=1.1&r2=1.2&f=u
More information about the pld-cvs-commit
mailing list