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

window flags sync issue between QWindown and platform window

    XMLWordPrintable

    Details

    • Type: Suggestion
    • Status: Reported
    • Priority: P3: Somewhat important
    • Resolution: Unresolved
    • Affects Version/s: 6.4
    • Fix Version/s: None
    • Component/s: QPA, QPA: X11/XCB
    • Labels:
      None
    • Platform/s:
      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

            Assignee:
            vestbo Tor Arne Vestbø
            Reporter:
            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