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

Bug#777377: xbrlapi: braille input doesn't work when using lightdm to log in



Package: xbrlapi
Version: 5.2~20141018-2
Severity: important

Hello,

When using lightdm, the session has XDG_VTNO defined to the VT number
(for instance 7), but not WINDOWPATH. xbrlapi know only about the
latter, while libbrlapi knows about both.  The result is that xbrlapi
confusingly attaches itself to the X window 7 of the VT 7, and thus
doesn't get braille input to be simulated in X.  This was fixed upstream
by the attached patch, which makes xbrlapi aware of XDG_VTNO too.  This
will however break Orca, which has the same problem, so we need to fix
Orca first.

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.18.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-2
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
commit 2421eda2cf18ea4684b904867735778509af26c6
Author: Dave Mielke <dave@mielke.cc>
Date:   Sun Feb 1 17:40:30 2015 -0500

    Fix XDG_VTNR/WINDOWPATH support in xbrlapi. (st)

diff --git a/Programs/xbrlapi.c b/Programs/xbrlapi.c
index 4822e11..093f2c4 100644
--- a/Programs/xbrlapi.c
+++ b/Programs/xbrlapi.c
@@ -185,12 +185,13 @@ static int getXVTnb(void);
 
 static void getVT(void) {
   char *path = getenv("WINDOWPATH");
+  char *vtnr = getenv("XDG_VTNR");
   int vtno = -1;
-  if (!path)
+  if (!path && !vtnr)
     /* Workaround for old xinit/xdm/gdm/kdm */
     vtno = getXVTnb();
 
-  if (path || vtno == -1) {
+  if (path || vtnr || vtno == -1) {
     if (brlapi_enterTtyModeWithPath(NULL,0,NULL)<0)
       fatal_brlapi_errno("geTtyPath",gettext("cannot get tty\n"));
   } else {

Reply to: