Qtopia questions
Holger Freyther
zecke at openmoko.org
Sat Jul 26 17:14:44 CEST 2008
On Saturday 26 July 2008 07:47:14 Lorn Potter wrote:
> I have been told, a lot of them seem to be "I don't like the way you do
> this, my way is better", or 'code clean-ups', or such that do not fix
> any real bugs at all, or are specific to the Neo, and not taking into
> consideration that many other (buggy) devices have to remain working.
Not quite true, some examples:
- ThemedView changes and speed up's should apply to Qtopia
- Various fixes to CallScreen (see our bugtracker).
- If you showed the keypad, remote hang up, make a call...
- Display one call as "Hold", "Connected" and "Dialing" at the same time
(Menu, Buttons, Display)
- many more such things...
.... many more. So from the ~360 patches about 5 of them make things harder
for other people.
My approach:
- I do clean up the incosistent usage of 1, 3, 4 spaces mixed with tabs and
placing braces and #ifdef's randomly. If you write code like that you want to
hide something and the reason I have to touch this code is because there is
something hiding.
- I create the most simple patch for the issue as possible. One patch one
issue. Obviously sometimes I don't understand the consequences of my change
as the whole code is so fragile.
- I care little about BC, if I need to add a parameter to a method I do so,
the commit messages state so though.
Example:
- Plain Qtopia is starting timers to guess when a call was missed, when all
the data of an incoming call is present (combining RING, CRING and other
notifications). This creates all funny kind of bugs as this guessing is mixed
with %CPI. So Qtopia thinks the call was missed, but you get a %CPI and
suddenly we report a new call. And you see "Disconnected" and "Incoming" in
the callscreen.
- So I decided to solely rely on %CPI information for our code. One way would
have been to just remove the timers from the libraries and be happy. If I did
so you could have claimed that I don't think about other devices. So as I
care about the consequences for other devices where timers might be needed I
added methods to make starting of timers optional. So just because some
modems are worse than the TI Calypso you shouldn't punish modems that are
better.... And again I fix this kind of things because it failed in reality..
not because I have fun thinking about all the possible race conditions
available in the Qtopia source.
- I think the approach and implementation is reasonable. If you don't think
so open up and start discussing it.
>
> We have implemented some of his patches. I personally have done a few of
> them, some after having to patch the patch.
Please communicate... I get zero feedback on changes. The patch might have
been seen, the patch might have been integrated... the patch might have been
fixed differently is not the way to go if you want to interact with the
OpenSource and FreeSoftware community.
>
> As well, we have been working on getting 4.4 ready to release. There are
> quite a few changes in 4.4, and quite a few have to be manually
> integrated and such.
well, release Qtopia4.4 beta's rsync. I can see the upcoming Qt 4.5 code today
as well, so what is keeping you from releasing Qtopia4.4 snapshot code today?
z.
More information about the community
mailing list