Okay, I think I found the problem. I think this is a bug in the "is_env()" function in glib2.0 file gdesktopappinfo.c.
I will be providing a patch shortly once I have tested it locally. Basically what's happening is the environment passed to the spawned process has 2 "DISPLAY=" lines, one with "DISPLAY=:0.0" and another with "DISPLAY=:0.1". The is_env() function as written is CLEARLY wrong. Untested version of the new fix: /* '=' is the new '\0'. * DO NOT CALL unless at least one string ends with '=' */ static gboolean is_env (const char *a, const char *b) { while (*a == *b) { if (*a == '=' && *b == 0) /* return true if at end of b and a is on =. */ return TRUE; if (*a == '=' || *a == 0 || *b == 0) /* otherwise return if at the end of either string. */ return FALSE; a++; b++; } return FALSE; } The old version would bomb out with FALSE if *a==0 || *b==0, but the actual correct TRUE case (shown above) is (*a == '=' and *b == 0). -- menu items selected from screen 1 open on screen 0 https://bugs.launchpad.net/bugs/346964 You received this bug notification because you are a member of Ubuntu Desktop Bugs, which is a bug assignee. -- desktop-bugs mailing list desktop-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/desktop-bugs