Package: gdm
Version: 2.6.0.8-1
Severity: normal

If you have a UTF-8 locale, eg. en_GB.UTF-8, and a bad
/etc/X11/xorg.conf file, then the dialog shown by XKeepsCrashing is
garbled. This is because XKeepsCrashing needs to set the console mode to
match the locale, so the correct line-drawing characters are shown.

Below is a patch that does this.

Regards
Alastair McKinstry

-- System Information:
Debian Release: 3.1
Architecture: powerpc (ppc)
Kernel: Linux 2.6.8-powerpc
Locale: LANG=C, LC_CTYPE=C (charmap=UTF-8) (ignored: LC_ALL set to ga_IE.UTF-8)

Versions of packages gdm depends on:
ii  adduser            3.63                  Add and remove users and groups
ii  debconf            1.4.30.13             Debian configuration management sy
ii  dpkg               1.10.28               Package maintenance system for Deb
ii  gksu               1.2.5-3               graphical frontend to su
ii  gnome-session      2.8.1-6               The GNOME 2 Session Manager
ii  libart-2.0-2       2.3.17-1              Library of functions for 2D graphi
ii  libatk1.0-0        1.8.0-4               The ATK accessibility toolkit
ii  libattr1           2.4.16-1              Extended attribute shared library
ii  libbonobo2-0       2.8.1-2               Bonobo CORBA interfaces library
ii  libbonoboui2-0     2.8.1-2               The Bonobo UI library
ii  libc6              2.3.2.ds1-22sarge3    GNU C Library: Shared libraries an
ii  libgconf2-4        2.8.1-6               GNOME configuration database syste
ii  libglade2-0        1:2.4.2-2             library to load .glade files at ru
ii  libglib2.0-0       2.6.4-1               The GLib library of C routines
ii  libgnome2-0        2.8.1-2               The GNOME 2 library - runtime file
ii  libgnomecanvas2-0  2.8.0-1               A powerful object-oriented display
ii  libgnomeui-0       2.8.1-3               The GNOME 2 libraries (User Interf
ii  libgnomevfs2-0     2.8.4-4               The GNOME virtual file-system libr
ii  libgtk2.0-0        2.6.4-3.1             The GTK+ graphical user interface 
ii  libice6            4.3.0.dfsg.1-14sarge1 Inter-Client Exchange library
ii  liborbit2          1:2.12.2-1            libraries for ORBit2 - a CORBA ORB
ii  libpam-modules     0.76-22               Pluggable Authentication Modules f
ii  libpam-runtime     0.76-22               Runtime support for the PAM librar
ii  libpam0g           0.76-22               Pluggable Authentication Modules l
ii  libpango1.0-0      1.8.1-1               Layout and rendering of internatio
ii  libpopt0           1.7-5                 lib for parsing cmdline parameters
ii  librsvg2-2         2.8.1-3               SAX-based renderer library for SVG
ii  libselinux1        1.22-1                SELinux shared libraries
ii  libsm6             4.3.0.dfsg.1-14sarge1 X Window System Session Management
ii  libwrap0           7.6.dbs-8             Wietse Venema's TCP wrappers libra
ii  libx11-6           4.3.0.dfsg.1-14sarge1 X Window System protocol client li
ii  libxext6           4.3.0.dfsg.1-14sarge1 X Window System miscellaneous exte
ii  libxi6             4.3.0.dfsg.1-14sarge1 X Window System Input extension li
ii  libxml2            2.6.16-7              GNOME XML library
ii  metacity [x-window 1:2.8.8-1             A lightweight GTK2 based Window Ma
ii  xbase-clients      4.3.0.dfsg.1-14sarge1 miscellaneous X clients
ii  xlibs              4.3.0.dfsg.1-14sarge1 X Keyboard Extension (XKB) configu
ii  xterm [x-terminal- 4.3.0.dfsg.1-14sarge1 X terminal emulator
ii  zlib1g             1:1.2.2-4.sarge.2     compression library - runtime

-- debconf information:
  gdm/daemon_name: /usr/bin/gdm
  shared/default-x-display-manager: gdm
--- XKeepsCrashing.old  2006-09-11 21:36:59.000000000 +0100
+++ XKeepsCrashing.new  2006-09-11 21:38:49.000000000 +0100
@@ -6,6 +6,16 @@
   unset LC_MESSAGES
 fi
 
+# If the locale is UTF-8, then the console must be so too, or we will
+# get mojibake
+CHARMAP=`locale charmap`
+if test "$CHARMAP" = "UTF-8"
+then
+       unicode_start 2> /dev/null || true
+else
+       unicode_stop  2> /dev/null || true
+fi
+
 if test -x "$LIBEXECDIR/gdmtranslate" ; then
   GDMTRANSLATE="$LIBEXECDIR/gdmtranslate"
 else

Reply via email to