GNOME Bugzilla – Bug 689844
Setting keyboard to 'full' crashes the shell
Last modified: 2013-02-25 22:37:30 UTC
+++ This bug was initially created as a clone of Bug #689608 +++ Seen with 3.6.2. As soon as I gsettings set or.gnome.shell.keyboard keyboard-type 'full', the shell crashes. Thats sad, because I was hoping to look at full mode as a a way to get closer to a fully functional osk...
Created attachment 230965 [details] [review] keyboard-model: Prevent a segfault -- This avoids the segfault but ideally I think that the whole object construction should fail in the first place though I'm not sure how to do that in Vala.
(In reply to comment #1) > This avoids the segfault but ideally I think that the whole object > construction should fail in the first place though I'm not sure how to > do that in Vala. Just asked Vala people about this (as I wanted to do that in other places) and it seems Initable may help, like C programs.
Created attachment 231124 [details] [review] libcaribou: fail if no groups can be loaded -- Like this, I mean. Unfortunately, callers need to be changed to use caribou_keyboard_model_new() instead of g_object_new().
Review of attachment 231124 [details] [review]: Looks fine to me but you might want a proper review from someone with more Vala experience ::: caribou/antler/keyboard_view.py @@ +249,2 @@ def set_keyboard_model(self, keyboard_type): + self.keyboard_model = Caribou.KeyboardModel.new(keyboard_type) Don't you need to catch exceptions here?
Created attachment 237335 [details] [review] xml-deserializer: fallback to "touch" keyboard type, if not found -- Thinking again, using Initable here seems to be overkill. Instead, I'm going to apply this patch, which makes libcaribou always succeed to create groups.
Review of attachment 237335 [details] [review]: Yes, this looks like a reasonable solution that keeps things simple and doesn't change the API. I like it.
Thanks, pushed. Attachment 237335 [details] pushed as 0cf2fda - xml-deserializer: fallback to "touch" keyboard type, if not found