summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHuang Peng <shawn.p.huang@gmail.com>2008-09-06 10:45:52 +0800
committerHuang Peng <shawn.p.huang@gmail.com>2008-09-06 10:45:52 +0800
commit133bbf36741ab640cf0984d590671519b5914981 (patch)
tree770f64df92b6e0b935e9f7d012fb665297c345d8
parentd96f994a9dbfee936f3a065b8611ec6d043f7be8 (diff)
downloadibus-133bbf36741ab640cf0984d590671519b5914981.tar.gz
ibus-133bbf36741ab640cf0984d590671519b5914981.tar.xz
ibus-133bbf36741ab640cf0984d590671519b5914981.zip
Fix sudo problem.
-rw-r--r--client/qt4/ibus-client.cpp6
-rw-r--r--lib/gtk2/ibusimclient.c6
2 files changed, 8 insertions, 4 deletions
diff --git a/client/qt4/ibus-client.cpp b/client/qt4/ibus-client.cpp
index a56d909..2f75d5a 100644
--- a/client/qt4/ibus-client.cpp
+++ b/client/qt4/ibus-client.cpp
@@ -46,13 +46,15 @@ IBusClient::IBusClient ()
{
username = getlogin ();
if (username.isEmpty ())
+ username = getenv ("SUDO_USER");
+ if (username.isEmpty ())
+ username = getenv ("USERNAME");
+ if (username.isEmpty ())
username = getenv ("LOGNAME");
if (username.isEmpty ())
username = getenv ("USER");
if (username.isEmpty ())
username = getenv ("LNAME");
- if (username.isEmpty ())
- username = getenv ("USERNAME");
session = getenv ("DISPLAY");
if (session.indexOf (".") == -1) {
diff --git a/lib/gtk2/ibusimclient.c b/lib/gtk2/ibusimclient.c
index 006c50b..7ac8797 100644
--- a/lib/gtk2/ibusimclient.c
+++ b/lib/gtk2/ibusimclient.c
@@ -374,13 +374,15 @@ _ibus_im_client_ibus_open (IBusIMClient *client)
username = g_strdup (getlogin());
if (username == NULL)
+ username = g_strdup (g_getenv("SODO_USER"));
+ if (username == NULL)
+ username = g_strdup (g_getenv("USERNAME"));
+ if (username == NULL)
username = g_strdup (g_getenv("LOGNAME"));
if (username == NULL)
username = g_strdup (g_getenv("USER"));
if (username == NULL)
username = g_strdup (g_getenv("LNAME"));
- if (username == NULL)
- username = g_strdup (g_getenv("USERNAME"));
ibus_addr = g_strdup_printf (
"unix:path=/tmp/ibus-%s/ibus-%s-%s.%s",