Merge lp:~wenchien/ubiquity/ubiquity.lp944614 into lp:ubiquity

Proposed by Jesse Sung
Status: Rejected
Rejected by: Dimitri John Ledkov
Proposed branch: lp:~wenchien/ubiquity/ubiquity.lp944614
Merge into: lp:ubiquity
Diff against target: 11 lines (+1/-1)
1 file modified
ubiquity/plugins/ubi-console-setup.py (+1/-1)
To merge this branch: bzr merge lp:~wenchien/ubiquity/ubiquity.lp944614
Reviewer Review Type Date Requested Status
Dimitri John Ledkov Disapprove
Colin Watson (community) Disapprove
Review via email: mp+143250@code.launchpad.net
To post a comment you must log in.
Revision history for this message
Colin Watson (cjwatson) wrote :

I don't think it's correct to silently skip keyboard layout application if our dbfilter has gone away. We need to figure out *why* it has gone away and either deal with that, or get ourselves a new debconf connection.

review: Disapprove
Revision history for this message
Stéphane Graber (stgraber) wrote :

14:26 < stgraber> cjwatson, xnox: ok, so the real fix we need here is a check for whether the page is currently active. The proposed fix does that but I'm sure we can check on somehting a bit better than dbfilter.
14:27 < stgraber> basically the problem here is that you can trigger on_keyboard_variant_selected and then skip the page before the 600ms timeout hits
14:27 < stgraber> and when the timeout hits, it'll try poking at things that no longer exist and will cause ubiqutiy to fail quite badly

So in short, I'm not sure that dbfilter is the right thing to check against, maybe self.page or something similar would be better (haven't dug enough in the code to find what'd be the right check).

Another possible way of fixing this would be to disable all the pending timeouts before switching page, but I'm not sure there's an easy way to do this.

Revision history for this message
Dimitri John Ledkov (xnox) wrote :

Stgraber wrote in the other proposal:
"I believe the right way to fix this bug is to cancel the timeouts when moving away from the page.
I pushed a change doing that to trunk and confirmed that it fixes the bug."

review: Disapprove

Unmerged revisions

5807. By Jesse Sung

Make sure dbfilter is not None before using it. (LP: #944614)

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'ubiquity/plugins/ubi-console-setup.py'
2--- ubiquity/plugins/ubi-console-setup.py 2012-11-27 06:02:43 +0000
3+++ ubiquity/plugins/ubi-console-setup.py 2013-01-15 08:48:23 +0000
4@@ -139,7 +139,7 @@
5 def keyboard_variant_timeout(self, *args):
6 layout = self.get_keyboard()
7 variant = self.get_keyboard_variant()
8- if layout is not None and variant is not None:
9+ if layout is not None and variant is not None and self.controller.dbfilter is not None:
10 self.controller.dbfilter.apply_keyboard(layout, variant)
11 return False
12

Subscribers

People subscribed via source and target branches

to status/vote changes: