After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 536277 - stop automatic switching from keyboard layout to ui grabbing
stop automatic switching from keyboard layout to ui grabbing
Status: RESOLVED FIXED
Product: gok
Classification: Deprecated
Component: general
1.3.x
Other All
: Normal enhancement
: ---
Assigned To: Gerd Kohlberger
David Bolter
Depends on:
Blocks:
 
 
Reported: 2008-06-02 16:03 UTC by Francesco Fumanti
Modified: 2009-02-14 09:56 UTC
See Also:
GNOME target: ---
GNOME version: 2.21/2.22


Attachments
Add --disable-autobranch (3.52 KB, patch)
2009-01-30 19:55 UTC, Gerd Kohlberger
committed Details | Review
Backtrace from message 11 (4.12 KB, text/plain)
2009-02-01 13:36 UTC, Francesco Fumanti
  Details

Description Francesco Fumanti 2008-06-02 16:03:57 UTC
When gok is used with in direct access input method (in other words when the user clicks with the pointer directly on the buttons), each time that the user clicks outside of the gok window, gok changes automatically from the keyboard layout (composer) to the ui grabbing layout. 

This is annoying for users that need only the osk feature of gok (pointer only users, tabletpc users), since they have to rechoose the keyboard layout nearly every time the want to type something.
Comment 1 David Bolter 2008-06-23 14:11:55 UTC
GOK's strength is single switch access, but this bug should be doable. I think we are progressing in making GOK work well for dwell based access. Thanks for reporting this.

Perhaps this is a regression with the login and onboard patch work?
Comment 2 Francesco Fumanti 2008-06-23 17:30:17 UTC
What do you mean by onboard patch? 
Comment 3 David Bolter 2008-06-23 17:54:53 UTC
(In reply to comment #2)
> What do you mean by onboard patch? 
> 

Sorry, I mean't MouseTweaks.
Comment 4 Tobias Mueller 2009-01-21 21:49:24 UTC
The question in comment #2 has been answered. Thus, I'm REOPENing this bug.
Comment 5 David Bolter 2009-01-21 21:56:52 UTC
Gerd, please take a look at gok --help and see if there is a suitable flag for a mode under which we wouldn't auto-branch to a dynamic keyboard. Also we really should generally consider making GOK more amenable to typical kiosk use -- without breaking any functionality for our target users --.  There is a bug open for this I think.
Comment 6 Gerd Kohlberger 2009-01-30 19:53:33 UTC
Here's a first patch that adds a new --disable-autobranch option. With it, GOK won't branch on window-activate or focus events.

David, I wasn't sure which of the existing flag to use. Any suggestions?

Francesco, can you please test the patch to see if it covers all cases.
Comment 7 Gerd Kohlberger 2009-01-30 19:55:33 UTC
Created attachment 127574 [details] [review]
Add --disable-autobranch
Comment 8 David Bolter 2009-01-30 20:06:26 UTC
Gerd that flag is fine thanks.
Comment 9 Francesco Fumanti 2009-01-30 21:32:06 UTC
Thanks for the new --disable-autobranch option. 

I tried it shortly and only thing that I remarked so far is that after an automatic restart of gok due to it crashing, the --disable-autobranch is not passed during the automatic restart. I had to quit gok and restart it from terminal with the option. 

However, I still have to test it extensively... 

Cheers 
Comment 10 Gerd Kohlberger 2009-01-30 22:15:41 UTC
(In reply to comment #9)
> I tried it shortly and only thing that I remarked so far is that after an
> automatic restart of gok due to it crashing, the --disable-autobranch is not
> passed during the automatic restart. I had to quit gok and restart it from
> terminal with the option. 

Thanks for testing. Can you post some more infos about the crash - the backtrace from the terminal and how to reproduce it. Does it only happen with this patch? 

I think command-line options are generally not passed on between restarts. Should we open a new bug for this? 
Comment 11 Francesco Fumanti 2009-02-01 13:33:03 UTC
Concerning the passing of options between automatic restarts: Such a feature would probably be nice for the people who start gok from cli. 

On the other hand, I assume that when the --disable-autobranch officially arrives into gok, there will also be a corresponding option in the preferences window of gok, making the passing of cli option irrelevant in this case. 

Consequently, the importance of passing cli options between automatic restarts boils down to whether cli is a normal way to start gok; and above all, how buggy gok really is, as the automatic restart is a consequence of a crash. 


@Gerd: Is gok stable on your system? 

I am asking because gok seems quite unstable on my Ubuntu Intrepid and on my Ubuntu Jaunty, regardless of whether I use the patch or not. I don't know whether the crash with the automatic restart was due to the patch because such a crash did not occur anymore. However I had several other crashes where: 

a) gok did not automatically restart, but the GNOME session continued to work properly. Once, gok printed the backtrace during such a crash; you might want to have a look at the attachment named backtrace.  
 
b) the desktop became unresponsive to mouse clicks and the last message in the terminal is: "GOK: Critical (unrecoverable) error. Restarting GOK".  

Regardless of a crash, the terminal is full of messages when I start gok from cli. Here are a few examples: 

- Immediately after the start, I get this: 
/dev/js0: No such file or directory
Xlib:  extension "XEVIE" missing on display ":0.0".
Warning: AT-SPI error: pre method check: add: Unknown CORBA exception id: 'IDL:omg.org/CORBA/COMM_FAILURE:1.0'

- There are from time to time messages like these: 
Warning: AT-SPI error: getRole: Unknown CORBA exception id: 'IDL:omg.org/CORBA/COMM_FAILURE:1.0'
Warning: AT-SPI error: getRole: Unknown CORBA exception id: 'IDL:omg.org/CORBA/COMM_FAILURE:1.0'

ERROR:gok-spy.c:2245:gok_spy_process_focus: assertion failed: (accessible != NULL)
Aborted (core dumped)
(no automatic restart)

- A lot of messages like these: 
** (gok:6696): CRITICAL **: cspi_object_get_ref: assertion `ref->ref_count > 0' failed
** (gok:6696): CRITICAL **: cspi_object_ref: assertion `accessible != NULL' failed

Hoping to have been helpful. 
Comment 12 Francesco Fumanti 2009-02-01 13:36:00 UTC
Created attachment 127696 [details]
Backtrace from message 11
Comment 13 Francesco Fumanti 2009-02-01 13:40:36 UTC
By the way, the tests of message 11 here above were based on revision 2615 of gok. 
Comment 14 Gerd Kohlberger 2009-02-02 19:47:19 UTC
(In reply to comment #11) 
> I am asking because gok seems quite unstable on my Ubuntu Intrepid and on my
> Ubuntu Jaunty, regardless of whether I use the patch or not. I don't know
> whether the crash with the automatic restart was due to the patch because such
> a crash did not occur anymore. However I had several other crashes where: 
> 
> a) gok did not automatically restart, but the GNOME session continued to work
> properly. Once, gok printed the backtrace during such a crash; you might want
> to have a look at the attachment named backtrace.  
> 
> b) the desktop became unresponsive to mouse clicks and the last message in the
> terminal is: "GOK: Critical (unrecoverable) error. Restarting GOK".  
> 
> Regardless of a crash, the terminal is full of messages when I start gok from
> cli. Here are a few examples: 
> 
> - Immediately after the start, I get this: 
> /dev/js0: No such file or directory
> Xlib:  extension "XEVIE" missing on display ":0.0".
> Warning: AT-SPI error: pre method check: add: Unknown CORBA exception id:
> 'IDL:omg.org/CORBA/COMM_FAILURE:1.0'
> 
> - There are from time to time messages like these: 
> Warning: AT-SPI error: getRole: Unknown CORBA exception id:
> 'IDL:omg.org/CORBA/COMM_FAILURE:1.0'
> Warning: AT-SPI error: getRole: Unknown CORBA exception id:
> 'IDL:omg.org/CORBA/COMM_FAILURE:1.0'
> 
> ERROR:gok-spy.c:2245:gok_spy_process_focus: assertion failed: (accessible !=
> NULL)
> Aborted (core dumped)
> (no automatic restart)
> 
> - A lot of messages like these: 
> ** (gok:6696): CRITICAL **: cspi_object_get_ref: assertion `ref->ref_count > 0'
> failed
> ** (gok:6696): CRITICAL **: cspi_object_ref: assertion `accessible != NULL'
> failed

I think the problem you are seeing is not related to patch. The warnings and the eventual crash (or freeze) happens if an applications is running as root. eg: synaptic. The proper orbit permissions to make this work are not set by default in Ubuntu. You can find a good explanation + workaround here: http://live.gnome.org/Orca/SysAdmin

I have committed the patch to trunk.