qt-copy (or kde-qt) patches cleanup

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


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

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 
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

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 

Otherwise, I think it should be moved to unsafe

 * 0209-prevent-qt-mixing

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

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

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

 * 0250-out_of_source_build

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

 * 0253-qmake_correct_path_separators

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

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

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

Add support for more special key  (multimedia and stuff) in X11
This relates to this merge request:
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

 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 

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