[cally] Fix a crash on some a11y examples if there isn't accessibility support
Most of the accessibility tests can be executed without the accessibility support, although it is clear that they will not work properly (ie using accerciser). But in some specific cases (right now just the atk event test), the test will crash if no accessibility support is enabled Fixes http://bugzilla.clutter-project.org/show_bug.cgi?id=2447
This commit is contained in:
parent
e59fff7a3f
commit
247c8d49ae
@ -144,7 +144,12 @@ main (int argc, char *argv[])
|
|||||||
if (clutter_init (&argc, &argv) != CLUTTER_INIT_SUCCESS)
|
if (clutter_init (&argc, &argv) != CLUTTER_INIT_SUCCESS)
|
||||||
return 1;
|
return 1;
|
||||||
|
|
||||||
cally_util_a11y_init (&argc, &argv);
|
if (cally_util_a11y_init (&argc, &argv) == FALSE)
|
||||||
|
{
|
||||||
|
g_error ("This example requires the accessibility support, "
|
||||||
|
"especifically AtkUtil implementation loaded, "
|
||||||
|
"as it tries to register and remove event listeners");
|
||||||
|
}
|
||||||
|
|
||||||
data1.value = 10;
|
data1.value = 10;
|
||||||
data2.value = 20;
|
data2.value = 20;
|
||||||
|
@ -115,18 +115,20 @@ _a11y_invoke_module (const gchar *module_path,
|
|||||||
*
|
*
|
||||||
* Basically it will load the cally module using gmodule functions.
|
* Basically it will load the cally module using gmodule functions.
|
||||||
*
|
*
|
||||||
|
* Returns if it was able to init the a11y support or not.
|
||||||
*/
|
*/
|
||||||
void
|
gboolean
|
||||||
cally_util_a11y_init (int *argc, char ***argv)
|
cally_util_a11y_init (int *argc, char ***argv)
|
||||||
{
|
{
|
||||||
gchar *bridge_dir = NULL;
|
gchar *bridge_dir = NULL;
|
||||||
gchar *bridge_path = NULL;
|
gchar *bridge_path = NULL;
|
||||||
|
gboolean result = FALSE;
|
||||||
|
|
||||||
if (clutter_get_accessibility_enabled () == FALSE)
|
if (clutter_get_accessibility_enabled () == FALSE)
|
||||||
{
|
{
|
||||||
g_warning ("Accessibility: clutter has no accessibility enabled"
|
g_warning ("Accessibility: clutter has no accessibility enabled"
|
||||||
" skipping the atk-bridge load");
|
" skipping the atk-bridge load");
|
||||||
return;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
bridge_dir = _a11y_check_custom_bridge (argc, argv);
|
bridge_dir = _a11y_check_custom_bridge (argc, argv);
|
||||||
@ -135,8 +137,10 @@ cally_util_a11y_init (int *argc, char ***argv)
|
|||||||
|
|
||||||
bridge_path = g_module_build_path (bridge_dir, "libatk-bridge");
|
bridge_path = g_module_build_path (bridge_dir, "libatk-bridge");
|
||||||
|
|
||||||
_a11y_invoke_module (bridge_path, TRUE);
|
result = _a11y_invoke_module (bridge_path, TRUE);
|
||||||
|
|
||||||
g_free (bridge_dir);
|
g_free (bridge_dir);
|
||||||
g_free (bridge_path);
|
g_free (bridge_path);
|
||||||
|
|
||||||
|
return result;
|
||||||
}
|
}
|
||||||
|
@ -20,5 +20,5 @@
|
|||||||
* Boston, MA 02111-1307, USA.
|
* Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void
|
gboolean
|
||||||
cally_util_a11y_init (int *argc, char ***argv);
|
cally_util_a11y_init (int *argc, char ***argv);
|
||||||
|
Loading…
Reference in New Issue
Block a user