Skip to content

Port Krita to Qt 5.15 and connect to our own Qt fork

Dmitry Kazakov requested to merge work/kazakov/qt-5-15-from-krita-repo into master

This is a draft MR linking Kirtas 3rdparty Qt to @szaman's Qt 5.15.7 repository

Both, deps and Krita build fine, though there are lots of things that need to be tested and/or fixed

Needs testing

  1. Check if Qt is still relocatable
  2. Check if HDR still works
  3. Check if partial update still work and are still partial
  4. Check if Lenovo Yoga C940 tablet still works (we had a special patch for its driver bug, @dkazakov or @tymond)
  5. Check if Qt 6.x has more patches for fractional DPI. We have patches from up to Qt 6.2
  6. Review and test changes in QQuickWindow (for @alvinwong this commit szaman/qtdeclarative@0317b9d2)
  7. Check if the requirement of WinSdkDir environment variable can be removed.

Needs fixing

  1. Clicking on Ok button in "New Image" dialog makes it flicker as if one clicks on the (blocked) main window. The same happens with all modal dialogs.

    • Windows 11 + Qt 5.15 (this branch): bug
    • Windows 11 + Qt 5.12.12 (master): works fine
    • Windows 10 (any branch): works fine
  2. MDI mode crashes/hangups: https://invent.kde.org/-/snippets/2427

    • there is no crash on Linux, so it should be Windows-specific
  3. AppImage docker image should include the following packages for QtX11Extras: libxcb-shm0-dev libxinerama-dev libxcb-icccm4-dev libxcb-xinerama0-dev libxcb-image0-dev libxcb-render-util0-dev. Fixed in: sysadmin/ci-images!74 (merged)

  4. SIP and PyQt are not found by Krita on Linux

  5. Rotating canvas using gestures is a bit sluggish after the update (could be only on Android)

  6. Android: Save As dialog shows some text in language other than the one selected.

Further work

  1. Linux
    1. Port Linux patches into the common repository
    2. Make sure deps and Krita build on Linux
    3. Check if there is a conflict between Enter/Leave and unbalanced keys patches for Windows and Linux. Afair, they are different (for @dkazakov)
    4. Check if Krita deps are now relocatable on Linux
      • Qt is relocatable inside the container, we can just use any path for it
      • can it be used outside the container?
  2. Android
    1. Port Android patches into the common repository
    2. Make sure deps and Krita build on Android
  3. MacOS
    1. Port MacOS patches into the common repository
    2. Make sure deps and Krita build on MacOS
  4. Update KF5 Frameworks to the latest version
Edited by Sharaf Zaman

Merge request reports