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 <[email protected]> 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 <[email protected]> + +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 <[email protected]> + +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 <[email protected]> + +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 _______________________________________________ pld-cvs-commit mailing list [email protected] http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit
