KDE3 apps running in a KDE4-modified environment

Mauricio Piacentini mauricio at tabuleiro.com
Tue Apr 17 22:46:12 BST 2007


Hi. I was testing KMahjongg (KDE4-enabled shell in a KDE 3.5 desktop) 
and forgot to set the environment variable that specified a different 
KDEHOME (~/.kde4 in my case). So the KDE4 version of the app ended up 
writing kmahjonggrc over the existing KDE3 version, in ~/.kde .

Then I tried ran the KDE3 version of KMahjongg, and since it was not 
developed with forward-compatibility of some keys in mind, it crashed. 
The 3.x era code assumes some keys will return paths to specific data (a 
png for example), and choked at the updated information, which instead 
returns a file with metadata and further links to .svg artwork.

Of course, the KDE4 version can deal with older rc files, and will be 
able to deal better with KDE5 ones that do not comply with what it 
expect as well. But the potential problem exists now: what if an user 
installs KDE4, runs Kmahjongg 4, and then attempts to install, download 
and run the KDE3 version? Is there a way to prevent the crash? Can we 
guarantee that the KDEHOME will not be shared between KDE3 and KDE4 
apps? Is it even a goal or recommendation?

This is a KMahjongg example, but I believe several other apps are in the 
same state. When I did this mistake (two months ago) Kate and Konqueror 
for KDE3 also crashed when they found kde4-versions of the rc files. 
Maybe this has changed by now.

So: how can we deal with this situation? It is something to worry about, 
or not, for some obvious reason I am failing to see? In the case of 
KMahjongg I guess a very simple way to prevent the error is to use 
different key names for the new and incompatible data, and the old 
version will not find it. But is this the best way to deal with it?

Regards,
Mauricio Piacentini




More information about the kde-core-devel mailing list