[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-frameworks-devel
Subject:    Re: [Kde-games-devel] Data migration issue
From:       Mathias Kraus <k.hias () gmx ! de>
Date:       2015-03-21 15:00:11
Message-ID: 2028548.ISWgA83Bjl () io
[Download RAW message or body]

Am Samstag, 21. März 2015, 14:06:03 schrieb David Faure:
> On Saturday 21 March 2015 10:16:07 Mathias Kraus wrote:
> > Am Samstag, 7. März 2015, 14:43:14 schrieb laurent Montel:
> > > Le Saturday 07 March 2015 13:47:13 David Faure a écrit :
> > > > > KdePlatformTheme::loadSetting
> > > > 
> > > > This code runs before the application name is set, but the fallback \
> > > > to argv[0] should still work. [This makes me realize that we should \
> > > > call QCoreApplication::setApplicationName before creating the \
> > > > application instance, everywhere.].
> > > > 
> > > > > This function caches that instance of
> > > > > 
> > > > > KSharedConfig, which is working ontop of an empty file and thus \
> > > > > does nothing.
> > > > 
> > > > Right. But that's exactly what reparseConfiguration() should fix, \
> > > > the case
> > > > where the file on disk was changed.
> > > > Indeed, given that the migrator code is in kcoreaddons, it can't do \
> > > > it automatically. (On hindsight, maybe the config migrator should \
> > > > have been in
> > > > KConfig...)
> > > > 
> > > > I'm surprised that Laurent didn't hit this issue though?
> > > 
> > > No I never see it, and nobody reported it before that.
> > > So what is the fix that I need to do ?
> > 
> > The release is approaching really fast. We need a solution. What's \
> > wrong with the migration before QCoreApplication creation? As far as I \
> > can see, it's a plain copy from the old location to the new one.
> 
> Before QCoreApplication creation, toLocal8Bit / QFile::encodeName can be 
> wrong. Thiago has said many times that you're not supposed to use any Qt \
> API  before QCoreApplication exists.
> 
> From this discussion it seems to me that a reparseConfiguration in the \
> right  place would do.
> 
> But can we get a more complete bug report than "it doesn't work"?
> How do we reproduce this exactly?

Sorry, the first mail to kde-frameworks-devel should contain the \
conversation on kde-games-devel, but somehow it got lost.

I think the easiest way to reproduce it is with kmines, but the behavior is \
the same with 5-6 different games I tried. 1. start kdelibs4 version of \
kmines 2. change to a non default theme
3. run kf5 version of kmines
4. kmines starts with the default theme
5a. if kmines is closed and then started again, at least some migrated \
settings are used, e.g. high scores or window size 5b. if the user doesn't \
close kmines and changes some settings or plays a game and wins, some of \
the migrated settings will be overwritten

I already tried reparseConfiguration after the migration, but it didn't \
work. This is the code I tried.
=======
KConfig config(QLatin1String("kminesrc"));
config.reparseConfiguration();
=======

I can provide you with a config file for kmines, if you need one. If you \
give me a hint where to use reparseConfiguration, I can also try to check \
if it works.

By the way, I'm using Qt5.4.1 and KF5.8 from kubuntu CI ppa. Three weeks \
ago the behavior was slightly different. If kmines-kf5 was closed right \
after the migration and started again, all the migrated settings were used, \
but now some are already overwritten when kmines is closed right after the \
first run. Also, previously if I played a game after the migration and won, \
all migrated settings were lost, but now noly e.g. the "easy" high scores \
are lost and all others are again there after a restart of kmines.. I \
didn't update libkdegames and kmines in the meantime, so the only \
difference is the Qt and KF5 version (was Qt5.4.0 and KF5.7+git???).

Albert Astals Cid was also able to reproduce this behavior a few weeks ago, \
so I guess it's not a problem with my local configuration.

Any help is welcome.
Regards,
Mathias
_______________________________________________
Kde-frameworks-devel mailing list
Kde-frameworks-devel@kde.org
https://mail.kde.org/mailman/listinfo/kde-frameworks-devel


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic