Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-73363

Password input(dead key) broken with QT_IM_MODULE=ibus

    XMLWordPrintable

Details

    Description

      If I execute the following program:

      #include <QApplication>
      #include <QLineEdit>
      #include <iostream>
      
       int main(int argc, char *argv[])
       {
           QApplication app(argc, argv);
      
           QLineEdit hello;
           hello.setEchoMode(QLineEdit::Password);
      
           hello.resize(100, 30);
      
           hello.show();
           app.exec();
           std::cout << hello.text().toStdString() << std::endl;
       }
      

      and input an á in the password dialog using my dead key and QT_IM_MODULE=ibus, the program prints a, as if there were no accent. If I try again with QT_IM_MODULE=xim, the output is á as expected.

      Personally, I am on Ubuntu 18.04 with Qt 5.9, but an Arch Linux user with Qt 5.12 confirms the issue is still present: https://github.com/spesmilo/electrum/issues/5038#issuecomment-458743135

      It affects all Ubuntu users with dead keys since GNOME seems to set QT_IM_MODULE=ibus.

      Please tell me how I can help.

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            liaqi Liang Qi
            ysangkok Janus Troelsen
            Votes:
            6 Vote for this issue
            Watchers:
            9 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes