[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#777574: xbrlapi: overwrites the Orca output as soon as the current window has its title changed



Package: xbrlapi
Version: 5.2~20141018-3
Severity: important
Tags: patch

Hello,

In Debian, we automatically start xbrlapi -q so braille input works
fine, and then we start Orca.  If the user, for some reason, restarts
xbrlapi -q, that will take precedence over the Orca output, which should
not be a problem since the -q option makes xbrlapi not make any output.
But there is one case when xbrlapi is currently still making an output:
when the title of the current window changes.  The orca output is then
completely ignored, and the desktop completely inaccessible via Braille
until orca is restarted.  The attached patch fixes this.

Samuel

-- System Information:
Debian Release: 8.0
  APT prefers testing
  APT policy: (990, 'testing'), (500, 'buildd-unstable'), (500, 'unstable'), (500, 'stable'), (500, 'oldstable'), (1, 'buildd-experimental'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 3.19.0 (SMP w/8 CPU cores)
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash
Init: systemd (via /run/systemd/system)

Versions of packages xbrlapi depends on:
ii  libbluetooth3  5.23-2+b1
ii  libbrlapi0.6   5.2~20141018-3
ii  libc6          2.19-13
ii  libgpm2        1.20.4-6.1+b2
ii  libicu52       52.1-7
ii  libx11-6       2:1.6.2-3
ii  libxext6       2:1.3.3-1
ii  libxtst6       2:1.2.2-1+b1

xbrlapi recommends no packages.

xbrlapi suggests no packages.

-- no debconf information

-- 
Samuel
War doesn't prove who's right, just who's left.
diff --git a/Programs/xbrlapi.c b/Programs/xbrlapi.c
index 093f2c4..07d6ee0 100644
--- a/Programs/xbrlapi.c
+++ b/Programs/xbrlapi.c
@@ -643,7 +643,7 @@ static void toX_f(const char *display) {
 	    if (window->wm_name)
 	      if (!XFree(window->wm_name)) fatal(gettext("XFree(wm_name) for change"));
 	    if ((window->wm_name=getWindowTitle(win))) {
-	      if (win==curWindow)
+	      if (!quiet && win==curWindow)
 		api_setName(window->wm_name);
 	    } else fprintf(stderr,gettext("window %#010lx changed to NULL name\n"),win);
 	  }

Reply to: