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

QT_SCREEN_SCALE_FACTORS doesn't follow rounding policy

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Reported
    • Priority: P3: Somewhat important
    • Resolution: Unresolved
    • Affects Version/s: 6.2.2
    • Fix Version/s: None
    • Component/s: GUI: High-DPI
    • Labels:
      None

      Description

      QT_SCREEN_SCALE_FACTORS doesn't seem to follow rounding policy, is this on a reason? This variable is used by KDE to set per-screen scale factor, so if an app can't handle fractional scale factors, it will look really ugly in such environment.

      The fix is as simple as

      diff --git a/src/gui/kernel/qhighdpiscaling.cpp b/src/gui/kernel/qhighdpiscaling.cpp
      index 996eed40cb..1b9a7929bf 100644
      --- a/src/gui/kernel/qhighdpiscaling.cpp
      +++ b/src/gui/kernel/qhighdpiscaling.cpp
      @@ -632,13 +632,13 @@ qreal QHighDpiScaling::screenSubfactor(const QPlatformScreen *screen)
               if (auto qScreen = screen->screen()) {
                   auto screenFactor = qScreen->property(scaleFactorProperty).toReal(&screenPropertyUsed);
                   if (screenPropertyUsed)
      -                factor = screenFactor;
      +                factor = roundScaleFactor(screenFactor);
               }
       
               if (!screenPropertyUsed) {
                   auto byNameIt = QHighDpiScaling::m_namedScreenScaleFactors.constFind(screen->name());
                   if ((screenPropertyUsed = byNameIt != QHighDpiScaling::m_namedScreenScaleFactors.cend()))
      -                factor = *byNameIt;
      +                factor = roundScaleFactor(*byNameIt);
               }
           }
       
      

        Attachments

          Issue Links

          For Gerrit Dashboard: QTBUG-99546
          # Subject Branch Project Status CR V

            Activity

              People

              Assignee:
              sorvig Morten Sørvig
              Reporter:
              ilya-fedin Ilya Fedin
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Dates

                Created:
                Updated:

                  Gerrit Reviews

                  There is 1 open Gerrit change