[bt-devel] Backend Proposal

Patrick Sebastian Zimmermann patrick at zakweb.de
Mon Jun 27 13:08:56 MST 2011


I found the bug. Commit is already there.
I am not satisfied with the solution though. There were more changes in master 
in the affected function. I need to merge those (otherwise the merge "reverts" 
a commit in master). I need to take a look at that again (not this week 
though).

At least Bibletime runs again.

Greetings,
Patrick

On Sunday, 26. June 2011 17:30:43 Jaak Ristioja wrote:
> Ok, I tried to compile and run your code after you merged master. It
> compiles well. I noticed that btconfig.cpp there are two places where
> deprecated Sword code is used: "list.GetElement" should be replaced with
> "list.getElement".
> 
> You also noted that it crashes when you try to run it, just as you
> documented in the commit message. This is because of endless recursion
> in the following 6 functions:
> 
>   QDataStream &operator<<(QDataStream &out, const
> Search::BtSearchOptionsArea::SearchType &searchType);
>   QDataStream &operator>>(QDataStream &in,
> Search::BtSearchOptionsArea::SearchType &searchType);
>   QDataStream &operator<<(QDataStream &out, const alignmentMode &x);
>   QDataStream &operator>>(QDataStream &in, alignmentMode &x);
>   QDataStream &operator<<(QDataStream &out, const
> BTModuleTreeItem::Grouping &x);
>   QDataStream &operator>>(QDataStream &in, BTModuleTreeItem::Grouping &x);
> 
> I might continue verifying your code in the next two days if I get the
> time. I hope you can get it to run more-or-less. :)
> 
> 
> Blessings!
> Jaak
> 
> On 23.06.2011 11:17, Patrick Sebastian Zimmermann wrote:
> > One more file to merge until the first compile.
> > Rest this evening.
> > 
> > Patrick
> > 
> > On Wednesday, 22. June 2011 18:17:45 Patrick Sebastian Zimmermann wrote:
> >> Hi,
> >> 
> >> I'll see if I can get this done tomorrow morning. The two other merge
> >> requests I'll leave for later since they are just bugfixes that can be
> >> applied at any time later just as well.
> >> 
> >> Greetings,
> >> Patrick
> >> 
> >> On Tuesday, 21. June 2011 23:55:32 Jaak Ristioja wrote:
> >>> On 20.06.2011 21:24, Patrick Sebastian Zimmermann wrote:
> >>>> I have a pretty much finished rewrite of the config system in a
> >>>> branch. The changes include a unit testing framework (based on QTest)
> >>>> and are meant to unify config option and session handling. The code
> >>>> probably still has some bugs, but I have tested the code quite a lot
> >>>> and I think I got most of the bugs out already.
> >>> 
> >>> I've tried to review your changes several times, but never finished.
> >>> These are big changes and take a lot of time to review. Last time I
> >>> tried was months ago, so I don't remember any more and need to start
> >>> from scratch again. It would help a tiny bit if you could again merge
> >>> master into your branch and also my merge request.
> >>> 
> >>>> I am not sure whether you think this config system refactor is a good
> >>>> idea. But if you think it should go into master it really makes sense
> >>>> to merge before starting the frontend/backend refactor.
> >>> 
> >>> I believe you've done a serious amount of work. We should definitely
> >>> work this out before any other major refactoring efforts start. I
> >>> suspect that this won't be an easy merge, but I'm willing to study your
> >>> changes and try... when I have time...
> >>> 
> >>>> I am currently very short in time, but if it's not much that is needed
> >>>> to get this into the tree I can at least give it a try.
> >>> 
> >>> Same problem with most of us. :|
> >>> 
> >>>> ps. There are three smaller bugfix merge requests still hanging in the
> >>>> queue...
> >>> 
> >>> I merged one of them, and commented on the other two because they need
> >>> a bit of clarification. I don't yet fully understand the problems they
> >>> fix nor am I sure whether these fixes are indeed correct.
> >>> 
> >>>> On Monday, 20. June 2011 00:46:13 Greg Hellings wrote:
> >>>>> On Sun, Jun 19, 2011 at 4:54 PM, Gary Holmlund
> >>>>> <gary.holmlund at gmail.com>
> >>>> 
> >>>> wrote:
> >>>>>> I would be willing to do the structural work of moving files into
> >>>>>> new directories and changing the backend and rendering into
> >>>>>> libraries. We would want to get agreement on the details before any
> >>>>>> work starts. The work should be done so that there is never a
> >>>>>> commit that does not compile and run. It can be broken down into a
> >>>>>> series of small steps that accomplish this.
> >>>>> 
> >>>>> It's probably good to identify one component at a time to pull out of
> >>>>> the code base and do it that way.  And it probably should be the task
> >>>>> of whoever is going to take the reins for that component to move the
> >>>>> files and modify them as necessary (in connection with people working
> >>>>> on any components that rely on it).  Since each component probably
> >>>>> requires more than just copying the files to the new folder
> >>>>> structure, it's probably best for each component to be done in a
> >>>>> branch of its own, that way every commit on main works even if there
> >>>>> is some breakage in the branch. It also allows for multiple people,
> >>>>> such as the person creating the component and people working on
> >>>>> components that rely on it, to collaborate on factoring out each
> >>>>> piece. Due to the interconnectedness, commits on the branch may not
> >>>>> work but we'll be sure the project works before merging each
> >>>>> component back onto main.
> >>>>> 
> >>>>>> I wonder if 3 components (backend, render, and BibleTime) are the
> >>>>>> right breakdown. There may be other things we should separate such
> >>>>>> as the config system.
> >>>>> 
> >>>>> I'm not sure what our config system does that isn't part of the
> >>>>> normal Qt cross-platform config system.  I would have guessed that
> >>>>> any config systems would be part of the GUI component, but you
> >>>>> probably know better than I.
> >>>>> 
> >>>>> --Greg
> 
> _______________________________________________
> bt-devel mailing list
> bt-devel at crosswire.org
> http://www.crosswire.org/mailman/listinfo/bt-devel



More information about the bt-devel mailing list