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

window flags sync issue between QWindown and platform window

    XMLWordPrintable

Details

    • Suggestion
    • Status: Reported
    • P3: Somewhat important
    • Resolution: Unresolved
    • 6.4
    • None
    • QPA, QPA: X11/XCB
    • None
    • Linux/X11

    Description

      void QXcbWindow::setWindowFlags(Qt::WindowFlags flags)
      {
          if (shouldDeferTask(Task::SetWindowFlags))
              return;
      
          Qt::WindowType type = static_cast<Qt::WindowType>(int(flags & Qt::WindowType_Mask));
      
          if (type == Qt::ToolTip)
              flags |= Qt::WindowStaysOnTopHint | Qt::FramelessWindowHint | Qt::X11BypassWindowManagerHint;
          if (type == Qt::Popup)
              flags |= Qt::X11BypassWindowManagerHint;
      

      When applying window flags into platform window, some implicit flags are applied, for example, Qt::ToolTip -> Qt::WindowStaysOnTopHint | Qt::FramelessWindowHint | Qt::X11BypassWindowManagerHint and etc on x11/xcb.

      It causes the different flags values between QWindow and platform window. Perhaps we should distinguish them correctly.

      Attachments

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

        Activity

          People

            vestbo Tor Arne Vestbø
            liaqi Liang Qi
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:

              Gerrit Reviews

                There are no open Gerrit changes