[Kmymoney-devel] KDE-srcbuild, KMyMoney and raster graphics on OSX

Alvaro Soliverez asoliverez at kde.org
Thu Jun 5 23:22:51 UTC 2014

Hello Marko,
We can add patches, that's no problem. We'll probably have to add some
ifdef to check for proper version. It would be better if you post it
in review, so we can all take a look at it and comment on it.

As for the startup, the KIO access is because we load the file, and
read all of it to load accounts, etc.
Then widgets are loaded to display the tabbar, toolbar, etc, and the
widgets for the home page, which is basically a khtmlpart. That one
loads graphics.

All those widgets are standard, AFAICT.

To debug where it's failing, maybe he can enable the performance
timers, which will output more info on what it's loading at the time.


On Thu, Jun 5, 2014 at 6:17 PM, Marko Käning <mk-lists at email.de> wrote:
> Hi devs,
> I am coming back to the list regarding KMM’s raster graphics issue on OSX
> since Ian has gotten a little further regarding a possible workaround
> (which I am forwarding as is from KDE-MAC for you herewith).
> As he describes below, he had severe trouble disentangling what’s going
> on during KMM’s startup and thus cannot find the cause of this behaviour.
> But perhaps you guys are able to help him finding a way how to diagnose
> what’s happening during KMM’s startup phase?!
> Greets,
> Marko
> Begin forwarded message:
>> From: Ian Wadham <iandw.au at gmail.com>
>> Subject: [KDE/Mac] KDE-srcbuild, KMyMoney and raster graphics
>> Date: 3 Jun 2014 12:33:47 GMT+2
>> To: KDE Software on Mac OS X <kde-mac at kde.org>
>> Reply-To: KDE Software on Mac OS X <kde-mac at kde.org>
>> Hi guys,
>> I now have working a system for building KDE 4.13 from source on
>> Apple OS X, based on kedsrc-build, and can test it independently
>> of MacPorts and my previous KDE installations.  It is still in a rather
>> hackish form, so I need to tidy it up and document it. BTW, some days
>> Baloo compiles and builds and some days it does not. It is still having
>> features added, even in KDE 4.13. Either way, a lot of apps still build
>> and run OK, with or without Baloo.
>> KMyMoney, as you know, crashes on Apple OS X if raster graphics
>> is enabled. The problem turned out to be highly intractable.
>> KMM starts by showing a splash screen, then it creates 11 overlaid
>> widgets, each of which seems to load data from the user's accounts
>> file or database, using KIO to retrieve images and data. Then it displays
>> a tip dialog.
>> I think it is the busiest startup sequence I have ever seen and KIO floods
>> the log with messages, probably on multiple threads. So it is very difficult
>> to see what is going on and where the KDE graphics may be failing. I think
>> Qt is getting mixed up between when it should be using native graphics
>> within a native main window and when it should (or should not) be
>> switching to raster graphics.
>> I tried to simplify things by disabling the splash screen and the tip
>> dialog (successfully) and then by disabling most of the 11 overlaid
>> widgets (unsuccessfully). The latter made KMM crash even when
>> raster graphics was off.
>> So what I am now proposing is a scheme for turning on raster graphics
>> by default, but allowing specific applications, such as KMyMoney, to
>> call a new static method, KApplication::doNotUseRasterGraphics(),
>> before creating the KApplication, and so stay with native graphics.
>> In addition, there is a new environment variable called RasterOff. If
>> this is defined, applications stay with native graphics. It can be used
>> for before-and-after testing of apps. For example the following:
>>    RasterOff=true open /Applications/.../kbounce.app
>> will start KBounce in slow, black-on-black mode, whereas
>>    open /Applications/.../kbounce.app
>> will start KBounce in raster graphics mode at normal speed.
>> This environment variable could also be used, in an emergency, to
>> work around a case where a second app is found not to be compatible
>> with raster graphics. In time, the app could then be patched to use
>> KApplication::doNotUseRasterGraphics().
>> Attached is a patch for kdelibs/kdeui/kernel/kapplication.* that
>> implements all this, and another patch to fix KMyMoney so as
>> not to use raster graphics.
>> Please let me know what you think.
>> All the best, Ian W.
>> _______________________________________________
>> kde-mac at kde.org
>> List Information: https://mail.kde.org/mailman/listinfo/kde-mac
>> KDE/Mac Information: http://community.kde.org/Mac
> _______________________________________________
> KMyMoney-devel mailing list
> KMyMoney-devel at kde.org
> https://mail.kde.org/mailman/listinfo/kmymoney-devel

More information about the KMyMoney-devel mailing list