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

LSB workaround insufficient in qkeymapper_x11.cpp

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • P3: Somewhat important
    • 4.7.2
    • 4.7.1
    • None
    • None
    • 5c3010cf467d437ccfc8a263bed167e979614504

    Description

      In qkeymapper_x11.cpp at line 1870, there is the following test:

      #ifndef QT_NO_XKB

      Within the block that this #ifndef encompasses, there is the following:

      #ifdef QT_LINUXBASE
      // LSB's IsKeypadKey define is wrong - see
      // http://bugs.linuxbase.org/show_bug.cgi?id=2521
      #undef IsKeypadKey
      #define IsKeypadKey(keysym) \
      (((KeySym)(keysym) >= XK_KP_Space) && ((KeySym)(keysym) <= XK_KP_Equal))

      #undef IsPrivateKeypadKey
      #define IsPrivateKeypadKey(keysym) \
      (((KeySym)(keysym) >= 0x11000000) && ((KeySym)(keysym) <= 0x1100FFFF))
      #endif

      The problem here is that if the XKB module is disabled by the build (as happens in some scenarios when trying to build Qt after configuring with the linux-lsb-g++ mkspec against LSB 4.0 packages), the corrections to IsKeypadKey and IsPrivateKeypadKey do not get picked up, but they are still used in the code further below. The result is a compiler error and thus a broken build.

      Attachments

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

        Activity

          People

            goffart Olivier Goffart (closed Nokia identity) (Inactive)
            jirauser11888 user-aa151 (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes