Some bugs can last for a very long time. One of these bugs was bug 119150, it was added in 2005 and resisted several attempts to fix it. Additionally it was the last reported Karbon SVG bug, which motivated me to start a new attempt to fix it.
Fixing file import bugs is quite similar to archaeology, as you are digging through lots of data searching for some small detail that breaks the import. I was able to fix a smaller bug in the unit parsing which improved the import a bit. After investigating further I discovered that the style of groups in a defs element wasn’t correctly used, but I wasn’t able to fix it. So I filled a bug about it with a small testcase, which Jan could fix the same evening. Even after fixing the second bug the file wasn’t imported correctly, so I continued to search for the next bug. It turned out that the stlye of the use element wasn’t used. I wrote a provisorily fix which had some side effects. I send it to Jan, who was able to correctly fix it the day after.
Finally tuesday evening there was the magical moment were the file loaded perfectly for the first time and I could close the bug report after 1111 days.
To summarize: Due to the nice teamwork and the amzingly fast bug fixing by Jan, we were able to fix three SVG import bugs in 36 hours and could close the last reported SVG bug. There are now only 11 reported Karbon bugs (without the PS/EPS bugs, only three bugs).
Karbon now needs a lot more testing and there haven’t been many bug reports in the last time. For example you could open any .odg you have with Karbon and check if it looks correct. As the odf code is shared across KOffice, any bugfix will improve the situation for all apps.