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