qt-copy (or kde-qt) patches cleanup

Olivier Goffart ogoffart at kde.org
Wed Sep 30 21:58:00 BST 2009


Hi, 

So soon, as Tom mailed, Qt 4.6 will be mandatory, to develop in KDE trunk.

We however still recommend to use a patched version of Qt, namely kde-qt 
(formely qt-copy)

While I understand the need of this 'fork', I would like to have as few 
patches as possible against Qt. 
The reason is that we (Nokia Qt DF) would like distribution to ship a non-
patched version of Qt, because this is what we support. So KDE must run fine 
with the normal Qt

So i took each patch that are still in the 4.6 branch one by one:
Some of the author of the patches are in CC of this email, just to be sure


 * 0180-window-role
http://qt.gitorious.org/+kde-developers/qt/kde-qt/commit/b48e209187151

The patch make use of the objectName as window role if none has been set with 
the QWidget::windowRole function.  
Lubos argument is that many code ported from Qt3 had a objectName set, and so 
kwin would be able to identify window more often.

This has however been rejected by Trolltech.

I do believe that Lubos has a point.  But it is also time to port application 
to Qt4 and applications should use QWidget::windowRole, really.

Also note that this patch is intra-qt binary incompatible, as it change 
QObjectPrivate virtual table layout.  Which means that project that relies on 
qt-header (they ship a non-modified copy of them  because they are not 
installed) 
This might be the case for qt labs project for instance (like DeclarativeUI)
(And also qt creator for his debugging stuff. But this patch does not break it)

So shall we keep this patch in KDE?


 * 0195-compositing-properties
http://qt.gitorious.org/+kde-developers/qt/kde-qt/commit/339e220e29ff39b8670

Lubos patch again.
I have no idea what this patch do, but it does not seems harmless.
It has AFAIK not been reported to Nokia.

Lubos, do you mind creating a merge request on gitorious with a detailed 
explanation. 

Otherwise, I think it should be moved to unsafe


 * 0209-prevent-qt-mixing
http://qt.gitorious.org/+kde-developers/qt/kde-qt/commit/68eaa07de69e873b89d4

Trivial patch that will make kde-qt explicitly incompatible with upstream Qt.
So it will assert with an explanation instead of crashing if wee keep patches 
like 0180 and have code that ship Qt private headers.

We should keep this patch if we do incompatible modifications in private 
headers. But i think we should try to avoid such modifications.


 * 0216-allow-isystem-for-headers
http://qt.gitorious.org/+kde-developers/qt/kde-qt/commit/86fc0d43cdcf3232ae0

Compilation error with some header installation. Patch seem trivial.
This is task 199610 in Trolltech task tracker, but it has somehow been lost.
Please make a merge request. But I think it is simple enough and we can keep 
it if not merged.


 * 0225-invalidate-tabbar-geometry-on-refresh
http://qt.gitorious.org/+kde-developers/qt/kde-qt/commit/733d1afd03908d695aa8

Small problem in QTabBar.  Our task 208349 but lost as well.  
I'll take care of this one.


 * 0250-out_of_source_build
http://qt.gitorious.org/+kde-developers/qt/kde-qt/commit/8e28e0603a900e1b18eb

Patch for Building out of source on Windows.
This is our task 227847 but it seems it has been closed.  Is the patch still 
needed?


 * 0253-qmake_correct_path_separators
http://qt.gitorious.org/+kde-developers/qt/kde-qt/commit/0afcf33127c6ccbe5dfa

Another Windows build fix.  Our task 214661 also marked as fixed.
Is the patch still needed.  The patch that fixes the problem in Qt is in 
another place. So i think we can get rid of this one.


 * 0274-shm-native-image-fix
http://qt.gitorious.org/+kde-developers/qt/kde-qt/commit/8731ab999b849dac4
http://qt.gitorious.org/+kde-developers/qt/kde-qt/commit/bb8255da422470c501

Attempt not to use  shared image instead of shared pixmap when using raster.

I don't know who made this patch or if it was ever sent to Nokia.  But can the 
author make a merge resquest?

Otherwise we can move it to unsafe.


* 0286-fix-error-string
http://qt.gitorious.org/+kde-developers/qt/kde-qt/commit/4b5ae1db24fa1b96f00e

This is an issue in Webkit,  it should be handled in the Bebkit bugzilla.
I think a bug has been opened there but i can't find the number.

Trivial thing anyway.

* 0288-more-x-keycodes
http://qt.gitorious.org/+kde-developers/qt/kde-qt/commit/1a94cd7b132497f70a2

Add support for more special key  (multimedia and stuff) in X11
This relates to this merge request:
http://qt.gitorious.org/qt/qt/merge_requests/923
It is missing documentation.  

The purpose of the change is to add new API that can only be used in patched 
Qt.  Also it introduce lots of new translatable strings. So it is too late for 
Qt 4.6


 * 0289-context-for-shortcuts-tr
http://qt.gitorious.org/+kde-developers/qt/kde-qt/commit/9eb3560cfd5cd0bc9c

 Add context to tr calls in QShortcut

I haven't seen any merge request on that. Albert, please do one.

Anyway, as it changes the strings it is too late for Qt 4.6

We probably can keep it in KDE for Qt 4.6 assuming we do our own translations 
of Qt.

About translations of Qt, this is another point that is not clear to me. Do 
KDE has its own translations of Qt?  Why the translations doesn't go 
upstreams? 




That's it. 
I hope that makes 11 patches,  I hope we can get rid of most of them.




More information about the kde-core-devel mailing list