Just updated the description. The problem is now understood, and we
worked around the upstart bug in gnome-session and im-config.

** Description changed:

+ When "initctl set-env -g" is called, upstart calls D-Bus to also update
+ its activation environment (the environment that D-Bus activated
+ services get). There is a bug here:
+ 
+   - SetEnv takes a parameter of the form "VARIABLE=VALUE"
+   - This is split on "=" to determine the two parts
+   - If the VALUE has an "=" character in it, everything after the first "=" 
is lost, because all "=" characters are split and not the first one
+ 
+ In this case, XMODIFIERS=@im=ibus was being turned into XMODIFIERS=@im.
+ 
+ upstart should only split on the first "=", and keep the rest of the
+ string unsplit. It doesn't look like nih_str_split is going to be very
+ helpful here.
+ 
+ [ Original description ]
+ 
  The XMODIFIERS environment variable is not set correctly.
  
  $ echo $XMODIFIERS
  @im
  $
  
  The value should be
  - for ibus:  "@im=ibus"
  - for fcitx: "@im=fcitx"
  - for xim:   "@im=none"
  
  The issue is present in Ubuntu/Unity 16.10. I don't see it in Ubuntu
  GNOME, neither in Ubuntu 16.04.
  
  Actually I don't think the affected package is im-config, because the
  issue is present also after having downgraded im-config to
  0.29-1ubuntu12 (the Xenial version). But I wanted to file the bug
  somewhere, so here it is.

** Changed in: im-config (Ubuntu)
       Status: New => Fix Committed

** Changed in: upstart (Ubuntu)
       Status: New => Triaged

** Changed in: upstart (Ubuntu)
   Importance: Undecided => High

-- 
You received this bug notification because you are a member of Desktop
Packages, which is subscribed to im-config in Ubuntu.
https://bugs.launchpad.net/bugs/1630090

Title:
  $XMODIFIERS not set correctly

Status in im-config package in Ubuntu:
  Fix Committed
Status in upstart package in Ubuntu:
  Triaged

Bug description:
  When "initctl set-env -g" is called, upstart calls D-Bus to also
  update its activation environment (the environment that D-Bus
  activated services get). There is a bug here:

    - SetEnv takes a parameter of the form "VARIABLE=VALUE"
    - This is split on "=" to determine the two parts
    - If the VALUE has an "=" character in it, everything after the first "=" 
is lost, because all "=" characters are split and not the first one

  In this case, XMODIFIERS=@im=ibus was being turned into
  XMODIFIERS=@im.

  upstart should only split on the first "=", and keep the rest of the
  string unsplit. It doesn't look like nih_str_split is going to be very
  helpful here.

  [ Original description ]

  The XMODIFIERS environment variable is not set correctly.

  $ echo $XMODIFIERS
  @im
  $

  The value should be
  - for ibus:  "@im=ibus"
  - for fcitx: "@im=fcitx"
  - for xim:   "@im=none"

  The issue is present in Ubuntu/Unity 16.10. I don't see it in Ubuntu
  GNOME, neither in Ubuntu 16.04.

  Actually I don't think the affected package is im-config, because the
  issue is present also after having downgraded im-config to
  0.29-1ubuntu12 (the Xenial version). But I wanted to file the bug
  somewhere, so here it is.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/im-config/+bug/1630090/+subscriptions

-- 
Mailing list: https://launchpad.net/~desktop-packages
Post to     : desktop-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~desktop-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to