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

Bug#432256: libxinerama1: XineramaIsActive disagrees with XineramaQueryScreens on sparc



Package: libxinerama1
Version: 1:1.0.2-1
Severity: important

Hi,
according to XineramaIsActive(3):

 XineramaIsActive()
    The  XineramaActive function returns a Boolean operator used to determine if Xin‐
    erama is activated on the screen. Returns True  for  active  and  False  for  not
    active.

(there's a typo, s/XineramaActive/XineramaIsActive/)

 [...]

 XineramaQueryScreens() returns NULL and sets number to 0 if Xinerama is
 not active.

Actually on my sparc machine XineramaIsActive() returns True, while
XineramaQueryScreens sets the number of screens to 0 and returns a NULL
pointer.

This bug makes gdm unusable, and probably other packages.

I've tried the following program on sparc and i386:

#include <stdio.h>
#include <X11/Xlib.h>
#include <X11/extensions/Xinerama.h>

int main() {
    Display *disp = XOpenDisplay(NULL);
    int n_screens;
    XineramaScreenInfo *xscreens = XineramaQueryScreens (disp,
        &n_screens);

    printf("XineramaIsActive: %d\n", XineramaIsActive(disp));
    printf("Number of screens: %d\n", n_screens);

    if(xscreens == NULL)
        printf("XineramaQueryScreens returned a NULL pointer\n");
    else
        printf("XineramaQueryScreens returned something useful\n");

    XFree(xscreens);

    return 0;
}

The program above prints the following on my sparc machine:

XineramaIsActive: 1
Number of screens: 0
XineramaQueryScreens returned a NULL pointer

Conversely, on i386 the bug is not reproducible:

XineramaIsActive: 1
Number of screens: 1
XineramaQueryScreens returned something useful

ciao,
    ema

-- System Information:
Debian Release: lenny/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (500, 'stable'), (1, 'experimental')
Architecture: sparc (sparc64)

Kernel: Linux 2.6.22-rc7
Locale: LANG=it_IT.utf8, LC_CTYPE=it_IT.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash

Versions of packages libxinerama1 depends on:
ii  libc6                         2.5-9      GNU C Library: Shared libraries
ii  libx11-6                      2:1.0.3-7  X11 client-side library
ii  libxext6                      1:1.0.3-2  X11 miscellaneous extension librar
ii  x11-common                    1:7.2-5    X Window System (X.Org) infrastruc

libxinerama1 recommends no packages.

-- no debconf information



Reply to: